<?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>201008</bug_id>
          
          <creation_ts>2019-08-21 16:16:38 -0700</creation_ts>
          <short_desc>[WHLSL] Remove getters/setters/anders</short_desc>
          <delta_ts>2019-09-03 17:18:22 -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>WebGPU</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>201007</blocked>
    
    <blocked>201251</blocked>
    
    <blocked>201349</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rmorisset</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563785</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-21 16:16:38 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564138</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-22 11:19:30 -0700</bug_when>
    <thetext>Gonna start working on this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564737</commentid>
    <comment_count>2</comment_count>
      <attachid>377191</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-23 18:12:51 -0700</bug_when>
    <thetext>Created attachment 377191
WIP

it begins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564740</commentid>
    <comment_count>3</comment_count>
      <attachid>377193</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-23 19:04:50 -0700</bug_when>
    <thetext>Created attachment 377193
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565042</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-26 12:21:22 -0700</bug_when>
    <thetext>This is going to entail changing metal code gen to emit expressions everywhere too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565234</commentid>
    <comment_count>5</comment_count>
      <attachid>377311</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-26 19:52:04 -0700</bug_when>
    <thetext>Created attachment 377311
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565235</commentid>
    <comment_count>6</comment_count>
      <attachid>377312</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-26 19:55:38 -0700</bug_when>
    <thetext>Created attachment 377312
WIP

It can run compute_boids successfully. Metal compile times are down from ~32ms to ~20ms on my MBP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565257</commentid>
    <comment_count>7</comment_count>
      <attachid>377317</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-26 22:10:28 -0700</bug_when>
    <thetext>Created attachment 377317
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565546</commentid>
    <comment_count>8</comment_count>
      <attachid>377390</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-27 15:14:37 -0700</bug_when>
    <thetext>Created attachment 377390
WIP

More things are working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565601</commentid>
    <comment_count>9</comment_count>
      <attachid>377410</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-27 17:38:43 -0700</bug_when>
    <thetext>Created attachment 377410
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565615</commentid>
    <comment_count>10</comment_count>
      <attachid>377415</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-27 19:09:21 -0700</bug_when>
    <thetext>Created attachment 377415
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565617</commentid>
    <comment_count>11</comment_count>
      <attachid>377416</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-27 19:30:07 -0700</bug_when>
    <thetext>Created attachment 377416
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565652</commentid>
    <comment_count>12</comment_count>
      <attachid>377429</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-27 23:07:22 -0700</bug_when>
    <thetext>Created attachment 377429
WIP

One remaining test that is failing, and then I need to add implement the texture native function inlining stuff in the new expression framework, and then I think this patch is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566050</commentid>
    <comment_count>13</comment_count>
      <attachid>377537</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-28 19:35:12 -0700</bug_when>
    <thetext>Created attachment 377537
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566057</commentid>
    <comment_count>14</comment_count>
      <attachid>377539</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-28 19:54:36 -0700</bug_when>
    <thetext>Created attachment 377539
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566142</commentid>
    <comment_count>15</comment_count>
      <attachid>377556</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-29 01:00:23 -0700</bug_when>
    <thetext>Created attachment 377556
WIP

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566534</commentid>
    <comment_count>16</comment_count>
      <attachid>377673</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-29 21:04:52 -0700</bug_when>
    <thetext>Created attachment 377673
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566558</commentid>
    <comment_count>17</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-29 22:45:55 -0700</bug_when>
    <thetext>I think I need to change the stdlib code for matrices a bit. I forgot to reorder a few of the matrices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566763</commentid>
    <comment_count>18</comment_count>
      <attachid>377738</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 12:17:09 -0700</bug_when>
    <thetext>Created attachment 377738
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566769</commentid>
    <comment_count>19</comment_count>
      <attachid>377741</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 12:48:02 -0700</bug_when>
    <thetext>Created attachment 377741
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566772</commentid>
    <comment_count>20</comment_count>
      <attachid>377673</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-08-30 12:59:28 -0700</bug_when>
    <thetext>Comment on attachment 377673
patch

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

I&apos;ve not yet finished reviewing, but I have a few comments.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:-333
&gt; -                return is&lt;AST::NullLiteralType&gt;(resolvableTypeReference-&gt;resolvableType()) ? Acceptability::Maybe : Acceptability::No;

I think this was the last use of Acceptability::Maybe, it could probably be removed.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:483
&gt; +    bool m_isVisitingParameters { false };

Another way of doing that would have been to add the check in VariableDeclarationsStatement, but I am fine with your approach.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:1006
&gt; +        auto addressSpace = baseInfo-&gt;typeAnnotation.isRightValue() ? AST::TypeAnnotation { AST::RightValue() } : AST::TypeAnnotation { AST::AbstractLeftValue() };

The name of this variable does really fit its content.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:1059
&gt; +        auto addressSpace = baseInfo-&gt;typeAnnotation.isRightValue() ? AST::TypeAnnotation { AST::RightValue() } : AST::TypeAnnotation { AST::AbstractLeftValue() };

ditto.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:37
&gt; +void findHighZombies(Program&amp;)

Why not remove the file/pass altogether? It does not seem useful anymore.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:40
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=201251

Maybe mention this bug in the Changelog, if I understand correctly your current patch is not sound until this is done.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLProgram.cpp:380
&gt; +    }

This is rather gross.
Is there a reason not to check simply that the length is &gt;= 1, &lt;= 4 and all letters are in {x, y, z, w} ?
It would additionally make it easier to allow letters in {r, g, b, a} later on (as in HLSL).

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:38
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=201251

If you make a pass do nothing, you may as well remove it.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:258
&gt; +    result[2][1] = x[1][2];

I find this super surprising, that result[2] is valid for float2x3.
Is it really what GLSL and MSL do?

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:5396
&gt; +    bool result = true;

The all function on matrices can probably be slightly simplified by relying on the all function on vectors.
e.g. return all(x[0]) &amp;&amp; all(x[1]).
Not clear if it is worth the trouble though.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:5631
&gt; +uint firstbitlow(uint x) {

This is not at all the HLSL semantics for this function. We should either change its name or change its definition. Matching the name from HLSL and having a silently different behavior is asinine.
But it might be from before and not something you changed.

&gt; Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h:60
&gt; +    char m_padding[12];

What is this for? It at least needs some comment.

&gt; Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLExpression.h:-122
&gt; -        if (auto* typeAnnotation = maybeTypeAnnotation())

How is this change connected to the rest of this patch? It seems potentially risky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566811</commentid>
    <comment_count>21</comment_count>
      <attachid>377673</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 14:17:13 -0700</bug_when>
    <thetext>Comment on attachment 377673
patch

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

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:-333
&gt;&gt; -                return is&lt;AST::NullLiteralType&gt;(resolvableTypeReference-&gt;resolvableType()) ? Acceptability::Maybe : Acceptability::No;
&gt; 
&gt; I think this was the last use of Acceptability::Maybe, it could probably be removed.

will do

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:483
&gt;&gt; +    bool m_isVisitingParameters { false };
&gt; 
&gt; Another way of doing that would have been to add the check in VariableDeclarationsStatement, but I am fine with your approach.

I think your proposal is nicer, and I thought of doing it that way, but I didn&apos;t want to add another field just for this.

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp:1006
&gt;&gt; +        auto addressSpace = baseInfo-&gt;typeAnnotation.isRightValue() ? AST::TypeAnnotation { AST::RightValue() } : AST::TypeAnnotation { AST::AbstractLeftValue() };
&gt; 
&gt; The name of this variable does really fit its content.

will fix and name it as typeAnnotation

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:37
&gt;&gt; +void findHighZombies(Program&amp;)
&gt; 
&gt; Why not remove the file/pass altogether? It does not seem useful anymore.

I&apos;m adding rules back here in:
https://bugs.webkit.org/show_bug.cgi?id=201251

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp:40
&gt;&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=201251
&gt; 
&gt; Maybe mention this bug in the Changelog, if I understand correctly your current patch is not sound until this is done.

Will do.

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLProgram.cpp:380
&gt;&gt; +    }
&gt; 
&gt; This is rather gross.
&gt; Is there a reason not to check simply that the length is &gt;= 1, &lt;= 4 and all letters are in {x, y, z, w} ?
&gt; It would additionally make it easier to allow letters in {r, g, b, a} later on (as in HLSL).

yes. Good call. Will do

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:38
&gt;&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=201251
&gt; 
&gt; If you make a pass do nothing, you may as well remove it.

it&apos;s nicer to not delete the file and bring it back to life IMO so the version history lives on in a nicer way

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:258
&gt;&gt; +    result[2][1] = x[1][2];
&gt; 
&gt; I find this super surprising, that result[2] is valid for float2x3.
&gt; Is it really what GLSL and MSL do?

I fixed this in the latest patches. I made some bugs in my find/replacing in the standard library

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:5396
&gt;&gt; +    bool result = true;
&gt; 
&gt; The all function on matrices can probably be slightly simplified by relying on the all function on vectors.
&gt; e.g. return all(x[0]) &amp;&amp; all(x[1]).
&gt; Not clear if it is worth the trouble though.

I&apos;ll skip for now but I agree it&apos;s a nice change to make.

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:5631
&gt;&gt; +uint firstbitlow(uint x) {
&gt; 
&gt; This is not at all the HLSL semantics for this function. We should either change its name or change its definition. Matching the name from HLSL and having a silently different behavior is asinine.
&gt; But it might be from before and not something you changed.

Unfortunately the diff for this file is really bad. I didn&apos;t change this.

Feel free to file a bug to fix it since you know more about this than I do.

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h:60
&gt;&gt; +    char m_padding[12];
&gt; 
&gt; What is this for? It at least needs some comment.

for one of the replaceWith. Not sure we really need a comment as we do this elsewhere

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLExpression.h:-122
&gt;&gt; -        if (auto* typeAnnotation = maybeTypeAnnotation())
&gt; 
&gt; How is this change connected to the rest of this patch? It seems potentially risky.

otherwise we run into a crash where we set the type annotation twice for a cloned constant.

This method is only used from constant cloning so I don&apos;t think there is any risk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566818</commentid>
    <comment_count>22</comment_count>
      <attachid>377741</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-08-30 14:32:55 -0700</bug_when>
    <thetext>Comment on attachment 377741
patch

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

(review still ongoing)

The one thing I am a bit wary of so far is the way that parentheses are added around expressions in the Metal generator.
It is not clear at all if they are put by the caller of checkErrorAndVisit, or by visit itself. Picking one and documenting it (and making it the rule uniformly) would probably save us from redundant parentheses and (more importantly) missing ones.

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:430
&gt; +        auto tempReturnName = generateNextVariableName(); 

What is the point of this extra variable ?

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:551
&gt; +        } else {

When do we ever hit this case?

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:647
&gt; +        checkErrorAndVisit(callExpression.arguments()[i]);

You put the expression on the right of the &apos;=&apos; in parentheses for AssignmentExpression, but not here.
I don&apos;t see why it would be needed in one case but not the other. I think it is not needed, but am not 100% sure.
Maybe there should instead be parentheses around the assignment as a whole (since there are some around the callExpression as a whole).

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:650
&gt; +    if (callExpression.arguments().size())

Nit: This and the &quot;if(i) m_stringBuilder.append(&quot;, &quot;);&quot; above can be replaced by unconditionally appending &quot;, &quot; at the end of the loop iteration.

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:724
&gt; +        checkErrorAndVisit(makeArrayReferenceExpression.leftValue());

Ah right, we have some special case for @ of a pointer.
I&apos;ll try to remember to add it to the spec (we went back and forth on this, and I thought it was out of the language).

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:113
&gt; +void inlineNativeFunction(StringBuilder&amp; stringBuilder, AST::NativeFunctionDeclaration&amp; nativeFunctionDeclaration, const Vector&lt;MangledVariableName&gt;&amp; args, MangledVariableName resultName, Intrinsics&amp; /*intrinsics*/, TypeNamer&amp; typeNamer, Indentation&lt;4&gt;)

This &quot;Intrinsics&amp; /*intrinsics*/&quot; is very weird. Why not remove it altogether if intrinsics is unused?

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:312
&gt; +            &quot;threadgroup_barrier(mem_flags::mem_device)&quot;,

Shouldn&apos;t there be some comma between these function calls?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566819</commentid>
    <comment_count>23</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-08-30 14:35:23 -0700</bug_when>
    <thetext>&gt; &gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:5631
&gt; &gt;&gt; +uint firstbitlow(uint x) {
&gt; &gt; 
&gt; &gt; This is not at all the HLSL semantics for this function. We should either change its name or change its definition. Matching the name from HLSL and having a silently different behavior is asinine.
&gt; &gt; But it might be from before and not something you changed.
&gt; 
&gt; Unfortunately the diff for this file is really bad. I didn&apos;t change this.
&gt; 
&gt; Feel free to file a bug to fix it since you know more about this than I do.

Will do
 
&gt; &gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h:60
&gt; &gt;&gt; +    char m_padding[12];
&gt; &gt; 
&gt; &gt; What is this for? It at least needs some comment.
&gt; 
&gt; for one of the replaceWith. Not sure we really need a comment as we do this
&gt; elsewhere

Thanks for all the answers. This one is the only one I disagree with, I&apos;d like some comment everywhere we have this kind of padding. It does not have to be long, just to point to replaceWith.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566829</commentid>
    <comment_count>24</comment_count>
      <attachid>377741</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 14:57:58 -0700</bug_when>
    <thetext>Comment on attachment 377741
patch

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

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:430
&gt;&gt; +        auto tempReturnName = generateNextVariableName(); 
&gt; 
&gt; What is the point of this extra variable ?

So I didn&apos;t have to rewrite the emitPack code.

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:551
&gt;&gt; +        } else {
&gt; 
&gt; When do we ever hit this case?

this is the swizzle case

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:647
&gt;&gt; +        checkErrorAndVisit(callExpression.arguments()[i]);
&gt; 
&gt; You put the expression on the right of the &apos;=&apos; in parentheses for AssignmentExpression, but not here.
&gt; I don&apos;t see why it would be needed in one case but not the other. I think it is not needed, but am not 100% sure.
&gt; Maybe there should instead be parentheses around the assignment as a whole (since there are some around the callExpression as a whole).

I should probably just do it here too. It can&apos;t hurt and we don&apos;t need to worry about it

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:650
&gt;&gt; +    if (callExpression.arguments().size())
&gt; 
&gt; Nit: This and the &quot;if(i) m_stringBuilder.append(&quot;, &quot;);&quot; above can be replaced by unconditionally appending &quot;, &quot; at the end of the loop iteration.

👍🏼

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:724
&gt;&gt; +        checkErrorAndVisit(makeArrayReferenceExpression.leftValue());
&gt; 
&gt; Ah right, we have some special case for @ of a pointer.
&gt; I&apos;ll try to remember to add it to the spec (we went back and forth on this, and I thought it was out of the language).

I&apos;m not against removing it. It seems useless. But I think we can leave it to another patch if we decide to</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566830</commentid>
    <comment_count>25</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 14:59:42 -0700</bug_when>
    <thetext>The rule is for the caller to place parens to avoid ambiguity. It&apos;s never the callee&apos;s responsibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566831</commentid>
    <comment_count>26</comment_count>
      <attachid>377741</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 15:03:24 -0700</bug_when>
    <thetext>Comment on attachment 377741
patch

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

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:113
&gt;&gt; +void inlineNativeFunction(StringBuilder&amp; stringBuilder, AST::NativeFunctionDeclaration&amp; nativeFunctionDeclaration, const Vector&lt;MangledVariableName&gt;&amp; args, MangledVariableName resultName, Intrinsics&amp; /*intrinsics*/, TypeNamer&amp; typeNamer, Indentation&lt;4&gt;)
&gt; 
&gt; This &quot;Intrinsics&amp; /*intrinsics*/&quot; is very weird. Why not remove it altogether if intrinsics is unused?

will remove

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:312
&gt;&gt; +            &quot;threadgroup_barrier(mem_flags::mem_device)&quot;,
&gt; 
&gt; Shouldn&apos;t there be some comma between these function calls?

good catch. Will fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566862</commentid>
    <comment_count>27</comment_count>
      <attachid>377741</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-08-30 16:12:04 -0700</bug_when>
    <thetext>Comment on attachment 377741
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566867</commentid>
    <comment_count>28</comment_count>
      <attachid>377762</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-30 16:17:19 -0700</bug_when>
    <thetext>Created attachment 377762
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566895</commentid>
    <comment_count>29</comment_count>
      <attachid>377762</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 17:14:13 -0700</bug_when>
    <thetext>Comment on attachment 377762
patch for landing

Clearing flags on attachment: 377762

Committed r249351: &lt;https://trac.webkit.org/changeset/249351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566896</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 17:14:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566897</commentid>
    <comment_count>31</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-30 17:15:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/54902883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567117</commentid>
    <comment_count>32</comment_count>
      <attachid>377762</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-09-01 22:17:41 -0700</bug_when>
    <thetext>Comment on attachment 377762
patch for landing

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

&gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp:57
&gt; +        &quot;struct WSLMatrix\n&quot;

This looks like it&apos;s copied from the Metal headers, are we sure the original is licensed appropriately for inclusion in WebKit?

Also, I thought we adopted MSL&apos;s matrix semantics, so why can&apos;t we just use MSL&apos;s matrices directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567482</commentid>
    <comment_count>33</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-09-03 13:13:45 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #32)
&gt; Comment on attachment 377762 [details]
&gt; patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=377762&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp:57
&gt; &gt; +        &quot;struct WSLMatrix\n&quot;
&gt; 
&gt; This looks like it&apos;s copied from the Metal headers, are we sure the original
&gt; is licensed appropriately for inclusion in WebKit?
&gt; 
&gt; Also, I thought we adopted MSL&apos;s matrix semantics, so why can&apos;t we just use
&gt; MSL&apos;s matrices directly?
The reason is this:
```
template &lt;typename T, int Cols, int Rows = Cols, typename _E = typename enable_if&lt;is_scalar&lt;T&gt;::value &amp;&amp; is_floating_point&lt;T&gt;::value &amp;&amp; Cols &gt;=2 &amp;&amp; Rows &gt;= 2&gt;::type&gt;
struct matrix
```

The key point being that bool matrices are not allowed. (And int matrices for that matter too, if we decide to add them in the future.) So when I tried using metal&apos;s builtin matrix class, I got a compile error for our bool matrix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567512</commentid>
    <comment_count>34</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2019-09-03 14:31:12 -0700</bug_when>
    <thetext>&gt; [WHLSL] Remove getters/setters/anders
                                 ^^^^^^
😦</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567533</commentid>
    <comment_count>35</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-09-03 16:00:04 -0700</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #34)
&gt; &gt; [WHLSL] Remove getters/setters/anders
&gt;                                  ^^^^^^
&gt; 😦

You know what you did.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567566</commentid>
    <comment_count>36</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-09-03 17:18:22 -0700</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #34)
&gt; &gt; [WHLSL] Remove getters/setters/anders
&gt;                                  ^^^^^^
&gt; 😦

🥺</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377191</attachid>
            <date>2019-08-23 18:12:51 -0700</date>
            <delta_ts>2019-08-23 19:04:50 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>41453</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTE3MCwxNDQgKzExODksOTYgQEAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IENoZWNr
ZXI6OmFyZ3VtZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgQ2hlY2tlcjo6ZmluaXNo
VmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbiwgUmVzb2x2aW5nVHlwZSogYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKK3ZvaWQgQ2hl
Y2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQogewotICAgIGF1
dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICBhdXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oZG90RXhwcmVz
c2lvbi5iYXNlKCkpOwogICAgIGlmICghYmFzZUluZm8pCiAgICAgICAgIHJldHVybjsKKwogICAg
IGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsK
ICAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fu
bm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhw
cmVzc2lvbi4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIkNhbm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNl
IG9mIGEgZG90IGV4cHJlc3Npb24uIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBn
ZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGdl
dHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVm
ZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGdldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNl
SW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlw
ZSkKLSAgICAgICAgICAgIGdldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJn
dW1lbnRUeXBlKTsKLSAgICAgICAgYXV0byBnZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBnZXR0ZXJGdW5jdGlvbiA9IHJl
c29sdmVGdW5jdGlvbihnZXR0ZXJBcmd1bWVudFR5cGVzLCBnZXR0ZXJOYW1lLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkK
KyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAo
aXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBzdHJ1
Y3R1cmUgPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpOyAgICAKKyAg
ICAgICAgaWYgKEFTVDo6U3RydWN0dXJlRWxlbWVudCogZWxlbWVudCA9IHN0cnVjdHVyZS5maW5k
KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVU
eXBlKGRvdEV4cHJlc3Npb24sIGVsZW1lbnQtPnR5cGUoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0
aW9uKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcihtYWtlU3Ry
aW5nKCJGaWVsZCBuYW1lOiAnIiwgZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKSwgIicgZG9lcyBu
b3QgZXhpc3Qgb24gc3RydWN0dXJlOiAiLCBzdHJ1Y3R1cmUubmFtZSgpKSwgZG90RXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoZ2V0
dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBnZXR0ZXJSZXR1cm5UeXBlID0gJmdldHRlckZ1bmN0
aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRl
ckZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gYW5kZXJS
ZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICBhdXRvIGxlZnRBZGRyZXNzU3BhY2UgPSBiYXNlSW5m
by0+dHlwZUFubm90YXRpb24ubGVmdEFkZHJlc3NTcGFjZSgpOwotICAgIGlmIChsZWZ0QWRkcmVz
c1NwYWNlKSB7Ci0gICAgICAgIGlmIChhdXRvIGFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkID0g
dGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VVbm5hbWVkVHlwZSwgKmxlZnRB
ZGRyZXNzU3BhY2UpKSB7Ci0gICAgICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9
IHsgUmVmPEFTVDo6VW5uYW1lZFR5cGU+KCphcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCkgfTsK
LSAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+
PiBhbmRlckFyZ3VtZW50VHlwZXMgeyBhcmd1bWVudFR5cGUgfTsKLSAgICAgICAgICAgIGlmIChh
ZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgICAgIGFuZGVyQXJndW1lbnRUeXBl
cy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICAgICAgYXV0byBhbmRl
ck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAg
ICAgICAgICAgIGFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oYW5kZXJBcmd1bWVudFR5
cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSk7
Ci0gICAgICAgICAgICBpZiAoaGFzRXJyb3IoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikKLSAgICAgICAgICAgICAgICBhbmRlclJldHVy
blR5cGUgPSAmZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5kZXJGdW5jdGlvbi0+dHlwZSgp
KS5lbGVtZW50VHlwZSgpOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5ODE2NCBFbmZvcmNlIHRoZSByZXR1cm4gb2YgYW5kZXJzIHdpbGwgYWx3YXlz
IGJlIGEgcG9pbnRlcgogICAgICAgICB9Ci0gICAgfQotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICBpZiAoYXV0
byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92
ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQpKSB7Ci0g
ICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpVbm5hbWVkVHlw
ZT4oQVNUOjpQb2ludGVyVHlwZTo6Y3JlYXRlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2Rl
TG9jYXRpb24oKSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCwgKmJhc2VVbm5hbWVkVHlwZSkp
IH07Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+
PiB0aHJlYWRBbmRlckFyZ3VtZW50VHlwZXMgeyBhcmd1bWVudFR5cGUgfTsKLSAgICAgICAgaWYg
KGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICB0aHJlYWRBbmRlckFyZ3VtZW50
VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgYXV0byBhbmRl
ck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAg
ICAgICAgdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbih0aHJlYWRBbmRlckFy
Z3VtZW50VHlwZXMsIGFuZGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkpCisgICAgfSBlbHNlIGlmIChkb3RFeHBy
ZXNzaW9uLmZpZWxkTmFtZSgpID09ICJsZW5ndGgiKSB7CisgICAgICAgIGlmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odHlwZSkKKyAgICAgICAgICAgIHx8IGlzPEFTVDo6QXJyYXlUeXBl
Pih0eXBlKQorICAgICAgICAgICAgfHwgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0
eXBlKSAmJiBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkuaXNWZWN0
b3IoKSkpIHsKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCB3
cmFwcGVkVWludFR5cGUoKSwgQVNUOjpSaWdodFZhbHVlKCkpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIi5sZW5ndGggZmllbGQgaXMgb25seSBhdmFpbGFi
bGUgb24gYXJyYXlzLCBhcnJheSByZWZlcmVuY2VzLCBvciB2ZWN0b3JzLiIsIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKHRo
cmVhZEFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0aHJlYWRBbmRlclJldHVyblR5cGUgPSAm
ZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odGhyZWFkQW5kZXJGdW5jdGlvbi0+dHlwZSgpKS5l
bGVtZW50VHlwZSgpOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5ODE2NCBFbmZvcmNlIHRoZSByZXR1cm4gb2YgYW5kZXJzIHdpbGwgYWx3YXlzIGJl
IGEgcG9pbnRlcgotICAgIH0KLQotICAgIGlmIChsZWZ0QWRkcmVzc1NwYWNlICYmICFhbmRlckZ1
bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUHJv
cGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYW4gYW5kZXIgb3IgYSBn
ZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWxlZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVh
ZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVy
cm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVh
ZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0
aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgLy8gT09QUzogV2Ug
bmVlZCB0byBtYXRjaCBzd2l6emxlICsgc2luZ2xlIGVsZW1lbnQgZnVuY3Rpb25zIHRvIG1ha2Ug
c3VyZSB0aGV5J3JlIHJlYWwgcHJvcGVydHkgbmFtZXMhCisgICAgICAgIGlmIChkb3RFeHByZXNz
aW9uLmZpZWxkTmFtZSgpLmxlbmd0aCgpID09IDEpIHsKKyAgICAgICAgICAgIGFzc2lnbkNvbmNy
ZXRlVHlwZShkb3RFeHByZXNzaW9uLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlv
bj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhw
cmVzc2lvbiwgKmJhc2VVbm5hbWVkVHlwZS5nZXQoKSwgQVNUOjpSaWdodFZhbHVlKCkpOworICAg
ICAgICB9CiAgICAgfQorfQogCi0gICAgaWYgKHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgZ2V0dGVy
RnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNhbm5vdCBoYXZlIGJvdGggYSB0
aHJlYWQgYW5kZXIgYW5kIGEgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2Rl
TG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQordm9pZCBDaGVja2VyOjp2aXNp
dChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQoreworICAgIHsKKyAgICAg
ICAgYXV0byBpbmRleEluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uaW5k
ZXhFeHByZXNzaW9uKCkpOworICAgICAgICBpZiAoIWluZGV4SW5mbykKKyAgICAgICAgICAgIHJl
dHVybjsKIAotICAgIGlmIChhbmRlckZ1bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYg
IW1hdGNoZXMoKmFuZGVyUmV0dXJuVHlwZSwgKnRocmVhZEFuZGVyUmV0dXJuVHlwZSkpIHsKLSAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIlJldHVybiB0eXBlIG9mIGFuZGVyIG11c3QgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIHRoZSB0aHJlYWQgYW5kZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCFtYXRj
aEFuZENvbW1pdChpbmRleEluZm8tPnJlc29sdmluZ1R5cGUsIG1faW50cmluc2ljcy51aW50VHlw
ZSgpKSkgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGluIGFuIGluZGV4IGV4
cHJlc3Npb24gbXVzdCBiZSBhIHVpbnQuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoZ2V0
dGVyRnVuY3Rpb24gJiYgYW5kZXJGdW5jdGlvbiAmJiAhbWF0Y2hlcygqZ2V0dGVyUmV0dXJuVHlw
ZSwgKmFuZGVyUmV0dXJuVHlwZSkpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlJldHVybiB0
eXBlIG9mIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwg
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNl
SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgIGlm
ICghYmFzZUluZm8pCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKLSAgICBpZiAoZ2V0dGVyRnVu
Y3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5jdGlvbiAmJiAhbWF0Y2hlcygqZ2V0dGVyUmV0dXJuVHlw
ZSwgKnRocmVhZEFuZGVyUmV0dXJuVHlwZSkpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlJl
dHVybiB0eXBlIG9mIHRoZSB0aHJlYWQgYW5kZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgdGhlIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
KTsKKyAgICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKKyAgICAgICAgc2V0RXJyb3IoRXJy
b3IoIkNhbm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGFuIGluZGV4IGV4cHJl
c3Npb24uIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBSZWY8QVNUOjpVbm5hbWVkVHlwZT4gZmllbGRUeXBlID0gZ2V0dGVy
UmV0dXJuVHlwZSA/ICpnZXR0ZXJSZXR1cm5UeXBlIDogYW5kZXJSZXR1cm5UeXBlID8gKmFuZGVy
UmV0dXJuVHlwZSA6ICp0aHJlYWRBbmRlclJldHVyblR5cGU7Ci0KLSAgICBBU1Q6OkZ1bmN0aW9u
RGVjbGFyYXRpb24qIHNldHRlckZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBBU1Q6OlVubmFtZWRU
eXBlKiBzZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFJlc29sdmlu
Z1R5cGUgZmllbGRSZXNvbHZpbmdUeXBlKGZpZWxkVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBW
ZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4gc2V0dGVyQXJndW1l
bnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlv
bmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQo
KmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVzLmFw
cGVuZChmaWVsZFJlc29sdmluZ1R5cGUpOwotICAgICAgICBhdXRvIHNldHRlck5hbWUgPSBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIHNldHRl
ckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHNldHRlckFyZ3VtZW50VHlwZXMsIHNldHRlck5h
bWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlm
IChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9k
ZSgpOworICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAg
ICAgYXV0byYgYXJyYXlSZWZlcmVuY2VUeXBlID0gZG93bmNhc3Q8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHR5cGUpOworICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9u
LCBhcnJheVJlZmVyZW5jZVR5cGUuZWxlbWVudFR5cGUoKSwgQVNUOjpMZWZ0VmFsdWUgeyBhcnJh
eVJlZmVyZW5jZVR5cGUuYWRkcmVzc1NwYWNlKCkgfSk7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6
OkFycmF5VHlwZT4odHlwZSkpCisgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJl
c3Npb24sIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih0eXBlKS50eXBlKCksIGJhc2VJbmZvLT50
eXBlQW5ub3RhdGlvbik7CisgICAgZWxzZSBpZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSk7CisgICAgICAgIGlmIChuYXRpdmVUeXBlLmlzVmVj
dG9yKCkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBu
YXRpdmVUeXBlLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICBlbHNlIGlmIChuYXRpdmVUeXBlLmlzTWF0cml4KCkpIHsKKyAgICAgICAgICAg
IGF1dG8mIGlubmVyVHlwZSA9IG5hdGl2ZVR5cGUubWF0cml4VHlwZUFyZ3VtZW50KCk7CisgICAg
ICAgICAgICB1bnNpZ25lZCBudW1Db2x1bW5zID0gbmF0aXZlVHlwZS5udW1iZXJPZk1hdHJpeENv
bHVtbnMoKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNz
LmJvb2xUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4
cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRleEV4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCksIG1faW50cmluc2ljcy5ib29sVmVjdG9yVHlwZUZvclNpemUobnVtQ29sdW1ucykp
LCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hl
cyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5mbG9hdFR5cGUoKSkpCisgICAgICAgICAgICAgICAg
YXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3
cmFwKGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgbV9pbnRyaW5zaWNzLmZsb2F0VmVj
dG9yVHlwZUZvclNpemUobnVtQ29sdW1ucykpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5k
ZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZXR0ZXJGdW5jdGlv
bikKLSAgICAgICAgICAgIHNldHRlclJldHVyblR5cGUgPSAmc2V0dGVyRnVuY3Rpb24tPnR5cGUo
KTsKLSAgICB9Ci0KLSAgICBpZiAoc2V0dGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9uKSB7
Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgZGVmaW5lIGEgc2V0dGVyIGZ1bmN0aW9u
IHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHNl
dEVycm9yKEVycm9yKCJJbmRleCBleHByZXNzaW9uIG9uIHVua25vd24gdHlwZS4iLCBpbmRleEV4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAg
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRHZXR0ZXJGdW5jdGlvbihnZXR0ZXJGdW5jdGlv
bik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldEFuZGVyRnVuY3Rpb24oYW5kZXJG
dW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldFRocmVhZEFuZGVyRnVu
Y3Rpb24odGhyZWFkQW5kZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LnNldFNldHRlckZ1bmN0aW9uKHNldHRlckZ1bmN0aW9uKTsKLQotICAgIEFTVDo6VHlwZUFubm90
YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFsdWUoKTsKLSAgICBpZiAoYXV0byBs
ZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3Bh
Y2UoKSkgewotICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHR5cGVBbm5v
dGF0aW9uID0gQVNUOjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlJlZmVyZW5jZVR5cGU+KGFu
ZGVyRnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkgfTsKLSAgICAgICAgZWxzZSBpZiAo
c2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJzdHJh
Y3RMZWZ0VmFsdWUoKTsKLSAgICB9IGVsc2UgaWYgKCFiYXNlSW5mby0+dHlwZUFubm90YXRpb24u
aXNSaWdodFZhbHVlKCkgJiYgKHNldHRlckZ1bmN0aW9uIHx8IHRocmVhZEFuZGVyRnVuY3Rpb24p
KQotICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKTsKLSAg
ICBhc3NpZ25Db25jcmV0ZVR5cGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBXVEZNb3ZlKGZp
ZWxkVHlwZSksIFdURk1vdmUodHlwZUFubm90YXRpb24pKTsKLX0KLQotdm9pZCBDaGVja2VyOjp2
aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCi17Ci0gICAgZmluaXNoVmlz
aXRpbmcoZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRl
eEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAgICBhdXRvIGJhc2VJbmZvID0gcmVj
dXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKLSAgICBp
ZiAoIWJhc2VJbmZvKQotICAgICAgICByZXR1cm47Ci0gICAgZmluaXNoVmlzaXRpbmcoaW5kZXhF
eHByZXNzaW9uLCAmYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogfQogCiB2b2lkIENoZWNrZXI6
OnZpc2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlhYmxlUmVmZXJlbmNlKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCwzNCArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CiAKLSNpZiAhQVNTRVJUX0RJU0FCTEVECi0vLyBJZiBhIGhpZ2gtbGV2ZWwg
Y29uc3RydWN0IHNvbWVob3cgbWFuYWdlcyB0byBsaXZlIG9uIHdoZW4gd2UncmUgbG93ZXJlZCwg
aXQncyBhIGhpZ2ggem9tYmllLgotY2xhc3MgSGlnaFpvbWJpZUZpbmRlciA6IHB1YmxpYyBWaXNp
dG9yIHsKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVy
cmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAg
dm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6UmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICB9Ci19OwotI2VuZGlmCi0KLXZvaWQgZmluZEhpZ2hab21iaWVz
KFByb2dyYW0mIHByb2dyYW0pCit2b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJikKIHsKLSNp
ZiBBU1NFUlRfRElTQUJMRUQKLSAgICBVTlVTRURfUEFSQU0ocHJvZ3JhbSk7Ci0jZWxzZQotICAg
IEhpZ2hab21iaWVGaW5kZXIoKS5WaXNpdG9yOjp2aXNpdChwcm9ncmFtKTsKLSNlbmRpZgogfQog
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJp
bnNpY3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTEludHJpbnNpY3MuaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU4LDYgKzU4LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX2Jvb2xUeXBlOwogICAg
IH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBib29sVmVjdG9yVHlwZUZvclNp
emUodW5zaWduZWQgc2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHNp
emUgPT0gMiB8fCBzaXplID09IDMgfHwgc2l6ZSA9PSA0KTsKKyAgICAgICAgcmV0dXJuICptX3Zl
Y3RvckJvb2xbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uJiB1aW50VHlwZSgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV91aW50VHlwZSk7
CkBAIC0xMjQsNiArMTMwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvckZs
b2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBmbG9hdFZl
Y3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxF
QVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAg
IHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07CisgICAgfQorCiAgICAgLy8gVGhlc2Ug
ZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZyb20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1
bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKiBkZHgoKSBjb25zdAog
ICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBB
U1RBZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQXRF
bmQgPSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1cmVz
ID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9
IHRydWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFTVEJl
Zm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8IGFs
d2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNlVGlt
ZXMgPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAy
NDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3Bl
cnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVydHlS
ZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04MjgsNiAr
ODMwLDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsKICAg
ICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLworCit2
b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFjZSBX
SExTTAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBy
dW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJs
ZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5k
YXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2IEBA
IHB1YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0
aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2aXNp
dChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAg
ICB7Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmluaXRp
b24+KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpGdW5j
dGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZpc2l0
RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5j
dGlvbihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24o
ZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9u
KGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlzaXQo
ZXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlv
bio+IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hhYmxl
RnVuY3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJy
YXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAgICBWaXNpdG9yOjp2
aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSBvdmVycmlkZQot
ICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFtZXMuYWRkKHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIG1f
ZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25O
YW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24p
OwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFtZXM7CiB9OwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVF
bnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3Bw
CShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplRW51bWVy
YXQKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8
QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFT
VDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwg
U3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURl
Y2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RG
TW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBl
bnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9zdHIsIFdURk1v
dmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFy
ZExpYnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBlbnVtIHR5cGUu
IikpOwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZURl
Y2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0
aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9u
LCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0g
ICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAg
ICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAg
ICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1
dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLCAi
b3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJh
dG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAgICBpZiAoIXBy
b2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBjb3B5
IGNvbnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Np
b24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6OkRvdCwgV1RGTW92ZShiYXNlKSkKICAgICAgICAgLCBtX2ZpZWxkTmFtZShXVEZN
b3ZlKGZpZWxkTmFtZSkpCiAgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obV9wYWRkaW5nKTsK
ICAgICB9CiAKICAgICB+RG90RXhwcmVzc2lvbigpID0gZGVmYXVsdDsKQEAgLTUyLDI1ICs1Mywx
MSBAQCBwdWJsaWM6CiAgICAgRG90RXhwcmVzc2lvbihjb25zdCBEb3RFeHByZXNzaW9uJikgPSBk
ZWxldGU7CiAgICAgRG90RXhwcmVzc2lvbihEb3RFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAot
ICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1fZmllbGROYW1lKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBt
YWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSwgIj0iKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1h
a2VTdHJpbmcoIm9wZXJhdG9yJi4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCiAgICAgU3RyaW5n
JiBmaWVsZE5hbWUoKSB7IHJldHVybiBtX2ZpZWxkTmFtZTsgfQogCiBwcml2YXRlOgogICAgIFN0
cmluZyBtX2ZpZWxkTmFtZTsKKyAgICBjaGFyIG1fcGFkZGluZ1sxMl07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTEV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAyNDkwMjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNz
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDMzICsxNjgsNiBAQCB2b2lkIEV4cHJlc3Np
b246OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1TdHJpbmcgUHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChp
czxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHBy
ZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhw
cmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9u
PigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVu
Y3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQot
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0
aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAg
cmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0aW9uTmFt
ZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLVN0cmluZyBQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBp
ZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90
RXhwcmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4
RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNz
aW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAvLyBuYW1lc3BhY2UgV0hM
U0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTElu
ZGV4RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJl
c3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIElu
ZGV4RXhwcmVzc2lvbihjb25zdCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRl
eEV4cHJlc3Npb24oSW5kZXhFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBn
ZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRv
cltdIl9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAg
U3RyaW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAi
b3BlcmF0b3ImW10iX3N0cjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Np
b24oKSB7IHJldHVybiBtX2luZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJ
bmRleCgpIHsgcmV0dXJuIFdURk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dI
TFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5MywyNCBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBtYXRyaXhEaW1lbnNpb24oMik7CiAgICAgfQogCisgICAgVHlwZVJlZmVyZW5jZSYgdmVj
dG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAg
ICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1l
bnRzKClbMF0pOworICAgIH0KKworICAgIHVuc2lnbmVkIHZlY3RvclNpemUoKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpD
b25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52
YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIG1hdHJpeFR5cGVBcmd1bWVudCgp
CisgICAgeworICAgICAgICBBU1NFUlQoaXNNYXRyaXgoKSk7CisgICAgICAgIHJldHVybiBXVEY6
OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKKyAgICB9
CisKICAgICB2b2lkIHNldElzSW50KCkgeyBtX2lzSW50ID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0
SXNOdW1iZXIoKSB7IG1faXNOdW1iZXIgPSB0cnVlOyB9CiAgICAgdm9pZCBzZXRJc0Zsb2F0aW5n
KCkgeyBtX2lzRmxvYXRpbmcgPSB0cnVlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVs
ZXRlOwogICAgIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
OwotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5k
ZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRl
ckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9nZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVj
bGFyYXRpb24qIGFuZGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAg
ICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90
aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVu
Y3Rpb24oKSB7IHJldHVybiBtX3NldHRlckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRl
ckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAg
ICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZv
aWQgc2V0QW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQot
ICAgIHsKLSAgICAgICAgbV9hbmRlckZ1bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0K
LSAgICB2b2lkIHNldFRocmVhZEFuZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhy
ZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9
IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlv
bihGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1f
c2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJGdW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9u
JiBiYXNlKCkgeyByZXR1cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBi
YXNlUmVmZXJlbmNlKCkgeyByZXR1cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Np
b24+IHRha2VCYXNlKCkgeyByZXR1cm4gV1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAg
ICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9u
KiBtX2dldHRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24q
IG1fYW5kZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBt
X3RocmVhZEFuZGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlv
biogbV9zZXR0ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFT
VApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xG
dW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAy
MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVu
Y3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsMTAgKzEwNCw5IEBAIHByb3Rl
Y3RlZDoKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpHbG9i
YWxWYXJpYWJsZVJlZmVyZW5jZSYpIG92ZXJyaWRlOworICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RF
eHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lv
biYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwpA
QCAtNTE0LDE0ICs1MTMsNiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAgICAgVmlzaXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7CiB9CiAKLXZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24p
Ci17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1F
OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2Ug
dGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgYXBwZW5kUmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKSk7Ci19Ci0KIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Okds
b2JhbFZhcmlhYmxlUmVmZXJlbmNlJiBnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSkKIHsKICAgICBh
dXRvIHZhbHVlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwpAQCAtNTQ0LDIwICs1
MzUsMTE5IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAg
ICAgfSk7CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Oklu
ZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICAv
LyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGgg
QVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGluZGV4RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOwor
ICAgIGF1dG8gcmVzdWx0TmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIGF1
dG8gcmVzdWx0VHlwZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkb3RFeHByZXNz
aW9uLnJlc29sdmVkVHlwZSgpKTsKKworICAgIGJvb2wgaXNMZWZ0VmFsdWUgPSAhIWRvdEV4cHJl
c3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCk7CisgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1l
IHBvaW50ZXJOYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgYmFzZU5hbWU7CisgICAgTWFu
Z2xlZFZhcmlhYmxlTmFtZSByZXN1bHRQb2ludGVyOworICAgIC8vIE9PUFM6IG51bGxhYmlsaXR5
PworICAgIGlmIChpc0xlZnRWYWx1ZSkgeworICAgICAgICBTdGFja1ZhbHVlIHN0YWNrVmFsdWUg
PSB0YWtlTGFzdExlZnRWYWx1ZSgpOworICAgICAgICBwb2ludGVyTmFtZSA9IHN0YWNrVmFsdWUu
dmFsdWU7CisgICAgICAgIHJlc3VsdFBvaW50ZXIgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZU5hbWUgPSB0YWtlTGFzdFZhbHVlKCk7CisKKyAg
ICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlO
b2RlKCk7CisgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAg
ICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJl
RGVmaW5pdGlvbj4odHlwZSk7CisgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1
Y3R1cmVEZWZpbml0aW9uLmZpbmQoZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKSk7CisgICAgICAg
IEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAgICAgICAgYXV0byBlbGVtZW50TmFtZSA9IG1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVu
dCk7CisgICAgICAgIGlmIChpc0xlZnRWYWx1ZSkgeworICAgICAgICAgICAgYXV0byByZXN1bHRQ
b2ludGVyID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCBBU1Q6OnRvU3RyaW5n
KCpkb3RFeHByZXNzaW9uLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJlc3NTcGFjZSgpKSwgJyAn
LCByZXN1bHRUeXBlLCAiKiAiLCByZXN1bHRQb2ludGVyLCAiID0gJiIsIHBvaW50ZXJOYW1lLCAi
LT4iLCBlbGVtZW50TmFtZSwgIjtcbiIsCisgICAgICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3Vs
dFR5cGUsICcgJywgcmVzdWx0TmFtZSwgIiA9ICoiLCByZXN1bHRQb2ludGVyLCAiO1xuIik7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAg
ICAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAnICcsIHJlc3VsdE5hbWUsICIgPSAi
LCBiYXNlTmFtZSwgJy4nLCBlbGVtZW50TmFtZSwgIjtcbiIpOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgLy8gLmxlbmd0aCBvciBzd2l6emxlIG9yIHNpbmdsZSBwcm9wZXJ0eSBh
Y2Nlc3MuCisgICAgICAgIFN0cmluZyBlbGVtZW50TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCk7CisgICAgICAgIGlmIChlbGVtZW50TmFtZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAo
aXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkpIHsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFpc0xlZnRWYWx1ZSk7CisgICAgICAgICAgICBpZiAoaXM8QVNUOjpBcnJh
eVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
YmFzZU5hbWUpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAg
ICAgICAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAnICcsIHJlc3VsdE5hbWUsICIg
PSAiLCBiYXNlTmFtZSwgIi5sZW5ndGg7XG4iKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywg
cmVzdWx0TmFtZSwgIiA9ICIsIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih0eXBlKS5udW1FbGVt
ZW50cygpLCAiO1xuIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIG1faW5kZW50LCByZXN1
bHRUeXBlLCAnICcsIHJlc3VsdE5hbWUsICIgPSAiLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkudmVjdG9yU2l6ZSgpLCAiO1xuIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoaXNMZWZ0VmFsdWUpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHJlc3VsdFBvaW50ZXIgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsK
KyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAg
ICAgICBtX2luZGVudCwgQVNUOjp0b1N0cmluZygqZG90RXhwcmVzc2lvbi50eXBlQW5ub3RhdGlv
bigpLmxlZnRBZGRyZXNzU3BhY2UoKSksICcgJywgcmVzdWx0VHlwZSwgIiogIiwgcmVzdWx0UG9p
bnRlciwgIiA9ICYiLCBwb2ludGVyTmFtZSwgIi0+IiwgZWxlbWVudE5hbWUsICI7XG4iLAorICAg
ICAgICAgICAgICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSwgJyAnLCByZXN1bHROYW1lLCAi
ID0gKiIsIHJlc3VsdFBvaW50ZXIsICI7XG4iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAg
bV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywgcmVzdWx0TmFtZSwgIiA9ICIsIGJhc2VOYW1lLCAn
LicsIGVsZW1lbnROYW1lLCAiO1xuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoaXNMZWZ0VmFsdWUpCisgICAgICAgIGFwcGVuZExlZnRWYWx1ZShkb3RFeHBy
ZXNzaW9uLCByZXN1bHROYW1lLCByZXN1bHRQb2ludGVyLCBOdWxsYWJpbGl0eTo6Tm90TnVsbCk7
CisgICAgZWxzZQorICAgICAgICBhcHBlbmRSaWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIHJlc3Vs
dE5hbWUpOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpQ
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikKLXsKLSAg
ICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdp
dGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBl
bmRSaWdodFZhbHVlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFi
bGVOYW1lKCkpOwordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5k
ZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCit7CisgICAgYXV0byByZXN1bHRUeXBlID0g
bV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGluZGV4RXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSk7CisgICAgYXV0byByZXN1bHROYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
CisgICAgYm9vbCBpc0xlZnRWYWx1ZSA9ICEhaW5kZXhFeHByZXNzaW9uLnR5cGVBbm5vdGF0aW9u
KCkubGVmdEFkZHJlc3NTcGFjZSgpOworCisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBpbmRl
eFZhcmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOworCisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlu
ZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgcG9pbnRlck5h
bWU7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBiYXNlTmFtZTsKKyAgICBNYW5nbGVkVmFyaWFi
bGVOYW1lIHJlc3VsdFBvaW50ZXI7CisgICAgLy8gT09QUzogbnVsbGFiaWxpdHk/CisgICAgaWYg
KGlzTGVmdFZhbHVlKSB7CisgICAgICAgIFN0YWNrVmFsdWUgc3RhY2tWYWx1ZSA9IHRha2VMYXN0
TGVmdFZhbHVlKCk7CisgICAgICAgIHBvaW50ZXJOYW1lID0gc3RhY2tWYWx1ZS52YWx1ZTsKKyAg
ICAgICAgcmVzdWx0UG9pbnRlciA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIH0g
ZWxzZQorICAgICAgICBiYXNlTmFtZSA9IHRha2VMYXN0VmFsdWUoKTsKKworICAgIGF1dG8mIHR5
cGUgPSBpbmRleEV4cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOwor
ICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoaXNMZWZ0VmFsdWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KAorICAgICAgICAgICAgbV9pbmRlbnQsIEFTVDo6dG9TdHJpbmcoKmluZGV4RXhwcmVzc2lvbi50
eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSksICcgJywgcmVzdWx0VHlwZSwgIiog
IiwgcmVzdWx0UG9pbnRlciwgIj0gJiIsIHBvaW50ZXJOYW1lLCAiLT5wb2ludGVyWyIsIGluZGV4
VmFyaWFibGUsICJdO1xuIiwKKyAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAnICcs
IHJlc3VsdE5hbWUsICIgPSAqIiwgcmVzdWx0UG9pbnRlciwgIjtcbiIpOworICAgIH0gZWxzZSBp
ZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGlmIChpc0xlZnRWYWx1ZSkg
eworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBt
X2luZGVudCwgQVNUOjp0b1N0cmluZygqaW5kZXhFeHByZXNzaW9uLnR5cGVBbm5vdGF0aW9uKCku
bGVmdEFkZHJlc3NTcGFjZSgpKSwgJyAnLCByZXN1bHRUeXBlLCAiKiAiLCByZXN1bHRQb2ludGVy
LCAiID0gJigoKiIsIHBvaW50ZXJOYW1lLCAiKVsiLCBpbmRleFZhcmlhYmxlLCAiXSk7XG4iLAor
ICAgICAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAnICcsIHJlc3VsdE5hbWUsICIg
PSAqIiwgcmVzdWx0UG9pbnRlciwgIjtcbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgcmVz
dWx0VHlwZSwgJyAnLCByZXN1bHROYW1lLCAiID0gIiwgYmFzZU5hbWUsICdbJywgaW5kZXhWYXJp
YWJsZSwgIl07XG4iKTsKKworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgLy8gT09QUzogTWFrZSBtYXRyaWNl
cyB3b3JrIHNpbmNlIHJldHVybmluZyBhbiBMVmFsdWUgYW5kIHRoZSBsYXlvdXQgb2Ygc2hpdCBt
YXR0ZXJzLgorICAgIH0KKworICAgIGlmIChpc0xlZnRWYWx1ZSkKKyAgICAgICAgYXBwZW5kTGVm
dFZhbHVlKGluZGV4RXhwcmVzc2lvbiwgcmVzdWx0TmFtZSwgcmVzdWx0UG9pbnRlciwgTnVsbGFi
aWxpdHk6Ok5vdE51bGwpOworICAgIGVsc2UKKyAgICAgICAgYXBwZW5kUmlnaHRWYWx1ZShpbmRl
eEV4cHJlc3Npb24sIHJlc3VsdE5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9u
KQpAQCAtNzI1LDEwICs4MTUsNDEgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVAogICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJF
eHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmlsaXR5KTsKIH0KIAotdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYp
Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3Jp
dGVFeHByZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUg
bG93ZXJlZCBhbHJlYWR5LgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8qCisgICAg
ICogIDEuIEV2YWx1YXRlIG1fbGVmdFZhbHVlCisgICAgICogIDIuIEFzc2lnbiB0aGUgcmVzdWx0
IHRvIG1fb2xkVmFsdWUKKyAgICAgKiAgMy4gRXZhbHVhdGUgbV9uZXdWYWx1ZUV4cHJlc3Npb24K
KyAgICAgKiAgNC4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9uZXdWYWx1ZQorICAgICAqICA1LiBB
c3NpZ24gdGhlIHJlc3VsdCB0byBtX2xlZnRWYWx1ZQorICAgICAqICA2LiBFdmFsdWF0ZSBtX3Jl
c3VsdEV4cHJlc3Npb24KKyAgICAgKiAgNy4gUmV0dXJuIHRoZSByZXN1bHQKKyAgICAgKi8KKwor
ICAgIGF1dG8gb2xkVmFsdWVWYXJpYWJsZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwor
ICAgIG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCksIG9s
ZFZhbHVlVmFyaWFibGUpOworICAgIGF1dG8gbmV3VmFsdWVWYXJpYWJsZSA9IGdlbmVyYXRlTmV4
dFZhcmlhYmxlTmFtZSgpOworICAgIG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmcmVhZE1vZGlmeVdy
aXRlLm5ld1ZhbHVlKCksIG5ld1ZhbHVlVmFyaWFibGUpOworCisgICAgY2hlY2tFcnJvckFuZFZp
c2l0KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgYXV0byBbbGVmdFZhbHVlUG9p
bnRlciwgbGVmdFZhbHVlTnVsbGFiaWxpdHldID0gdGFrZUxhc3RMZWZ0VmFsdWUoKTsKKyAgICBV
TlVTRURfUEFSQU0obGVmdFZhbHVlTnVsbGFiaWxpdHkpOyAvLyBPT1BTCisKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAorICAgICAgICBtX2luZGVudCwgb2xkVmFsdWVWYXJpYWJsZSwgIiA9
ICoiLCBsZWZ0VmFsdWVQb2ludGVyLCAiO1xuIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQo
cmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKKyAgICBhdXRvIG5ld1ZhbHVl
ID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAg
IG1faW5kZW50LCBuZXdWYWx1ZVZhcmlhYmxlLCAiID0gIiwgbmV3VmFsdWUsICI7XG4iKTsKKwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgIG1faW5kZW50LCAnKicsIGxlZnRW
YWx1ZVBvaW50ZXIsICIgPSAiLCBuZXdWYWx1ZSwgIjtcbiIpOworCisgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5yZXN1bHRFeHByZXNzaW9uKCkpOworICAgIGF1dG8gcmVz
dWx0ID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIGFwcGVuZFJpZ2h0VmFsdWUocmVhZE1vZGlmeVdy
aXRlLCByZXN1bHQpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpUZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01l
dGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsOCBAQCBTdHJpbmcgd3JpdGVOYXRp
dmVUeXBlKEFTVDo6TmF0aXZlVHlwZURlCiAgICAgICAgIGF1dG8mIGludGVnZXJMaXRlcmFsMiA9
IGNvbnN0YW50RXhwcmVzc2lvbjIuaW50ZWdlckxpdGVyYWwoKTsKICAgICAgICAgdW5zaWduZWQg
Y29sdW1ucyA9IGludGVnZXJMaXRlcmFsMi52YWx1ZSgpOwogICAgICAgICBBU1NFUlQoY29sdW1u
cyA9PSAyIHx8IGNvbHVtbnMgPT0gMyB8fCBjb2x1bW5zID09IDQpOworICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvLyBPT1BTOiBtYWtlIE1TTCBtYXRyaXgg
bm93CiAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNv
bHVtbnMgKiByb3dzLCAiPiIpOwogICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0
aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0gMSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDg5NDIp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTgzMTAsNiArODMxMCw3IEBACiAJCTUxRkI2N0RBMUFFNkI1RTQwMEQw
NkM1QSAvKiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyogVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTIyNTZDQUEy
MzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdITFNM
TmFtZVNwYWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdITFNMQ29kZUxvY2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBXSExTTEV4cHJlc3Np
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUxIC8qIFdITFNMR2xv
YmFsVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHbG9iYWxWYXJpYWJs
ZVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1MzIsNiArMjU1
MzMsNyBAQAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmggKi8s
CiAJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2Vy
LmNwcCAqLywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlw
ZUNoZWNrZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1l
U3BhY2UuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29u
dGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFtZUNv
bnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1lUmVz
b2x2ZXIuY3BwICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377193</attachid>
            <date>2019-08-23 19:04:50 -0700</date>
            <delta_ts>2019-08-26 19:52:04 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>44490</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTAyOSw3ICsxMDQ4LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExNzAsMTQ0ICsxMTg5LDk2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFsZWZ0QWRkcmVzc1NwYWNlICYmICF0aHJl
YWRBbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYSB0aHJl
YWQgYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIC8vIE9PUFM6IFdl
IG5lZWQgdG8gbWF0Y2ggc3dpenpsZSArIHNpbmdsZSBlbGVtZW50IGZ1bmN0aW9ucyB0byBtYWtl
IHN1cmUgdGhleSdyZSByZWFsIHByb3BlcnR5IG5hbWVzIQorICAgICAgICBpZiAoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKS5sZW5ndGgoKSA9PSAxKSB7CisgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4
cHJlc3Npb24sICpiYXNlVW5uYW1lZFR5cGUuZ2V0KCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAg
ICAgICAgfQogICAgIH0KK30KIAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRl
ckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEg
dGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAg
ICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYm
ICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0g
ICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0
Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5
cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBl
eHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdl
dHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4g
dHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBp
ZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1
bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJS
ZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmlu
Z1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVy
cm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHBy
ZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRl
clJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRl
clJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZp
bmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3Vt
ZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5k
KCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJO
YW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBp
ZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5v
ZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVu
Y2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lv
biwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJy
YXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+
dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1Zl
Y3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwg
bmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dz
KCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29s
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJU
eXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRl
eEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVG
b3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Np
b24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAg
ICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQot
Ci0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEg
Y29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVh
ZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJG
dW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVB
bm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NT
cGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAg
ICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFT
VDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9u
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0
aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29u
Y3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBX
VEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4
cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
JiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJ
bmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5m
bykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwg
JmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9t
YmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wg
ewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBz
b21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdo
IHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2
YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBw
cm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJ
U0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmll
RmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRy
aW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3Np
emUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5
cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtMTI0LDYg
KzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFsyXTsKICAg
ICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9y
U2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1f
dmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBt
YXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1QgaWYgdGhleSBhcmUgdW51c2VkLgogICAg
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiogZGR4KCkgY29uc3QKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVy
dHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKKy8qCisKIGNsYXNzIFByb3BlcnR5UmVzb2x2ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CiBwdWJsaWM6CiBwcml2YXRlOgpAQCAtODI4LDYgKzgzMCwxMSBAQCB2
b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mIHByb2dyYW0pCiB7CiAgICAgUHJvcGVydHlS
ZXNvbHZlcigpLlZpc2l0b3I6OnZpc2l0KHByb2dyYW0pOwogfQorKi8KKwordm9pZCByZXNvbHZl
UHJvcGVydGllcyhQcm9ncmFtJikKK3sKK30KIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hh
YmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExp
YnJhcnlGdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlG
dW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4
cHJlc3Npb24uZnVuY3Rpb24oKSkpOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAg
ICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBbJl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVu
Y3Rpb24pIHsKLSAgICAgICAgICAgIGlmICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgaWYgKGlzPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rp
b24pKQotICAgICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0
aW9uPigqZnVuY3Rpb24pKTsKLSAgICAgICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4
cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVz
c2lvbi5hbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24u
dGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9u
LnNldHRlckZ1bmN0aW9uKCkpOwotCi0gICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24p
OwotICAgIH0KLQogICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVh
Y2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7
IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0aWxpdGll
cy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjYsMTQgKzY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoY2FsbEV4
cHJlc3Npb24pOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7Ci0gICAg
ICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1
bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFt
ZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpKTsKLSAg
ICAgICAgVmlzaXRvcjo6dmlzaXQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICB9Ci0K
ICAgICBIYXNoU2V0PFN0cmluZz4gbV9mdW5jdGlvbk5hbWVzOwogfTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25G
dW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAkocmV2aXNpb24g
MjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50
aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxNSAr
NTYsNiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUVudW1lcmF0CiAgICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBBU1Q6OlR5cGVSZWZl
cmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiksIFN0cmluZygpLCBu
dWxscHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMg
cGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFi
bGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKGxv
Y2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgZW51bWVyYXRpb25E
ZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7
Ci0gICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJv
cigiQ2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51bSB0eXBlLiIpKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpR
dWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRp
b25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAgICAgICAg
QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgcGFyYW1l
dGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7CiAgICAgICAgICAgICBB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwg
V1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yIGNh
c3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2lu
Z01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAgaWYgKCFwcm9ncmFtLmFwcGVu
ZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVhdGUgY29weSBjb25zdHJ1Y3Rv
ciBmb3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9uLmgJKHJldmlz
aW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpE
b3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92ZShmaWVsZE5h
bWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAgICAgfQogCiAg
ICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEgQEAgcHVibGlj
OgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAg
IERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcg
Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3Ry
aW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygi
b3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVy
RnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJv
cGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYgZmllbGROYW1l
KCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9maWVs
ZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNU
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHBy
ZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2OCwzMyArMTY4LDYgQEAgdm9pZCBFeHByZXNzaW9uOjpkZXN0cnVj
dChFeHByZXNzaW9uJiBleAogICAgIH0KIH0KIAotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRo
aXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLmdl
dHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19
Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNldHRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0
dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsK
LSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uOjphbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4
cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+
KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+
KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMp
LmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgQVNUCiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Np
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDIxICs1Miw2IEBAIHB1YmxpYzoKICAgICBJbmRleEV4cHJlc3Np
b24oY29uc3QgSW5kZXhFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAgSW5kZXhFeHByZXNzaW9u
KEluZGV4RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3JbXSJfc3RyOwot
ICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgcmV0dXJuICJvcGVyYXRvcltdPSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yJltd
Il9zdHI7Ci0gICAgfQotCiAgICAgRXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKCkgeyByZXR1
cm4gbV9pbmRleDsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiB0YWtlSW5kZXgoKSB7IHJl
dHVybiBXVEZNb3ZlKG1faW5kZXgpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtODYsMTEgKzg2LDI5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZNYXRyaXhSb3dzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1l
bnNpb24oMSk7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMik7CiAgICAgfQogICAg
IHVuc2lnbmVkIG51bWJlck9mTWF0cml4Q29sdW1ucygpCiAgICAgewotICAgICAgICByZXR1cm4g
bWF0cml4RGltZW5zaW9uKDIpOworICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOwor
ICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIHZlY3RvclR5cGVBcmd1bWVudCgpCisgICAgewor
ICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8
QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKKyAgICB9CisKKyAgICB1
bnNpZ25lZCB2ZWN0b3JTaXplKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsK
KyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPih0eXBlQXJn
dW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKKyAgICB9CisKKyAgICBUeXBl
UmVmZXJlbmNlJiBtYXRyaXhUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
TWF0cml4KCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5j
ZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CiAgICAgfQogCiAgICAgdm9pZCBzZXRJc0ludCgpIHsg
bV9pc0ludCA9IHRydWU7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNDUgKzUzLDEyIEBAIHB1YmxpYzoKICAgICBQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24oY29uc3QgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAg
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYmKSA9IGRl
ZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0gICAgU3Ry
aW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9u
TmFtZSgpIGNvbnN0OwotCi0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24o
KSB7IHJldHVybiBtX2dldHRlckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiog
YW5kZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fYW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9u
RGVjbGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3RocmVhZEFuZGVy
RnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbigpIHsg
cmV0dXJuIG1fc2V0dGVyRnVuY3Rpb247IH0KLQotICAgIHZvaWQgc2V0R2V0dGVyRnVuY3Rpb24o
RnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX2dl
dHRlckZ1bmN0aW9uID0gZ2V0dGVyRnVuY3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRBbmRl
ckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24pCi0gICAgewotICAg
ICAgICBtX2FuZGVyRnVuY3Rpb24gPSBhbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQg
c2V0VGhyZWFkQW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1
bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV90aHJlYWRBbmRlckZ1bmN0aW9uID0gdGhyZWFkQW5k
ZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFNldHRlckZ1bmN0aW9uKEZ1bmN0aW9u
RGVjbGFyYXRpb24qIHNldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9zZXR0ZXJGdW5j
dGlvbiA9IHNldHRlckZ1bmN0aW9uOwotICAgIH0KLQogICAgIEV4cHJlc3Npb24mIGJhc2UoKSB7
IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4mIGJhc2VSZWZlcmVu
Y2UoKSB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUJh
c2UoKSB7IHJldHVybiBXVEZNb3ZlKG1fYmFzZSk7IH0KIAogcHJpdmF0ZToKICAgICBVbmlxdWVS
ZWY8RXhwcmVzc2lvbj4gbV9iYXNlOwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fZ2V0dGVy
RnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9hbmRlckZ1
bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fdGhyZWFkQW5k
ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3NldHRl
ckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3Jp
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCwxMCArMTA0LDkgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgdmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlz
aXQoQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZp
c2l0KEFTVDo6RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RF
eHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxl
UmVmZXJlbmNlJikgb3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92ZXJy
aWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC01MTQsMTQg
KzUxMyw2IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBW
aXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAv
LyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGgg
QVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0K
LQogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewogICAgIGF1dG8gdmFsdWVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CkBAIC01NDQsMjAgKzUzNSwxMTkgQEAg
dm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgICAgICB9KTsKIH0K
IAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNz
aW9uJiBpbmRleEV4cHJlc3Npb24pCit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMgc2hv
dWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9U
X1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUo
aW5kZXhFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7CisgICAgYXV0byBy
ZXN1bHROYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgYXV0byByZXN1bHRU
eXBlID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGRvdEV4cHJlc3Npb24ucmVzb2x2
ZWRUeXBlKCkpOworCisgICAgYm9vbCBpc0xlZnRWYWx1ZSA9ICEhZG90RXhwcmVzc2lvbi50eXBl
QW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQo
ZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgcG9pbnRlck5h
bWU7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBiYXNlTmFtZTsKKyAgICBNYW5nbGVkVmFyaWFi
bGVOYW1lIHJlc3VsdFBvaW50ZXI7CisgICAgLy8gT09QUzogbnVsbGFiaWxpdHk/CisgICAgaWYg
KGlzTGVmdFZhbHVlKSB7CisgICAgICAgIFN0YWNrVmFsdWUgc3RhY2tWYWx1ZSA9IHRha2VMYXN0
TGVmdFZhbHVlKCk7CisgICAgICAgIHBvaW50ZXJOYW1lID0gc3RhY2tWYWx1ZS52YWx1ZTsKKyAg
ICAgICAgcmVzdWx0UG9pbnRlciA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIH0g
ZWxzZQorICAgICAgICBiYXNlTmFtZSA9IHRha2VMYXN0VmFsdWUoKTsKKworICAgIGF1dG8mIHR5
cGUgPSBkb3RFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKKyAg
ICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRv
JiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9u
Pih0eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmlu
aXRpb24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsKKyAgICAg
ICAgaWYgKGlzTGVmdFZhbHVlKSB7CisgICAgICAgICAgICBhdXRvIHJlc3VsdFBvaW50ZXIgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCisgICAgICAgICAgICAgICAgbV9pbmRlbnQsIEFTVDo6dG9TdHJpbmcoKmRvdEV4cHJl
c3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCkpLCAnICcsIHJlc3VsdFR5
cGUsICIqICIsIHJlc3VsdFBvaW50ZXIsICIgPSAmIiwgcG9pbnRlck5hbWUsICItPiIsIGVsZW1l
bnROYW1lLCAiO1xuIiwKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSwgJyAn
LCByZXN1bHROYW1lLCAiID0gKiIsIHJlc3VsdFBvaW50ZXIsICI7XG4iKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAg
ICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywgcmVzdWx0TmFtZSwgIiA9ICIsIGJhc2VOYW1l
LCAnLicsIGVsZW1lbnROYW1lLCAiO1xuIik7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgICAvLyAubGVuZ3RoIG9yIHN3aXp6bGUgb3Igc2luZ2xlIHByb3BlcnR5IGFjY2Vzcy4KKyAg
ICAgICAgU3RyaW5nIGVsZW1lbnROYW1lID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKTsKKyAg
ICAgICAgaWYgKGVsZW1lbnROYW1lID09ICJsZW5ndGgiICYmIChpczxBU1Q6OkFycmF5UmVmZXJl
bmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpIHx8IChpczxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpKSkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIWlzTGVmdFZhbHVlKTsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNl
VHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlTmFtZSk7
CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywgcmVzdWx0TmFtZSwgIiA9ICIsIGJhc2VO
YW1lLCAiLmxlbmd0aDtcbiIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5
VHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSwgJyAnLCByZXN1bHROYW1l
LCAiID0gIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51bUVsZW1lbnRzKCksICI7
XG4iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcg
JywgcmVzdWx0TmFtZSwgIiA9ICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
Pih0eXBlKS52ZWN0b3JTaXplKCksICI7XG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmIChpc0xlZnRWYWx1ZSkgeworICAgICAgICAgICAgICAgIGF1
dG8gcmVzdWx0UG9pbnRlciA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIG1faW5k
ZW50LCBBU1Q6OnRvU3RyaW5nKCpkb3RFeHByZXNzaW9uLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFk
ZHJlc3NTcGFjZSgpKSwgJyAnLCByZXN1bHRUeXBlLCAiKiAiLCByZXN1bHRQb2ludGVyLCAiID0g
JiIsIHBvaW50ZXJOYW1lLCAiLT4iLCBlbGVtZW50TmFtZSwgIjtcbiIsCisgICAgICAgICAgICAg
ICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAnICcsIHJlc3VsdE5hbWUsICIgPSAqIiwgcmVz
dWx0UG9pbnRlciwgIjtcbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBtX2luZGVudCwg
cmVzdWx0VHlwZSwgJyAnLCByZXN1bHROYW1lLCAiID0gIiwgYmFzZU5hbWUsICcuJywgZWxlbWVu
dE5hbWUsICI7XG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
IChpc0xlZnRWYWx1ZSkKKyAgICAgICAgYXBwZW5kTGVmdFZhbHVlKGRvdEV4cHJlc3Npb24sIHJl
c3VsdE5hbWUsIHJlc3VsdFBvaW50ZXIsIE51bGxhYmlsaXR5OjpOb3ROdWxsKTsKKyAgICBlbHNl
CisgICAgICAgIGFwcGVuZFJpZ2h0VmFsdWUoZG90RXhwcmVzc2lvbiwgcmVzdWx0TmFtZSk7CiB9
CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRf
Tk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7
Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Np
b24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICBhdXRvIHJlc3VsdFR5cGUgPSBtX3R5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUoaW5kZXhFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKKyAg
ICBhdXRvIHJlc3VsdE5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBib29s
IGlzTGVmdFZhbHVlID0gISFpbmRleEV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRk
cmVzc1NwYWNlKCk7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIGluZGV4VmFyaWFibGUg
PSB0YWtlTGFzdFZhbHVlKCk7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNz
aW9uLmJhc2UoKSk7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBwb2ludGVyTmFtZTsKKyAgICBN
YW5nbGVkVmFyaWFibGVOYW1lIGJhc2VOYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVz
dWx0UG9pbnRlcjsKKyAgICAvLyBPT1BTOiBudWxsYWJpbGl0eT8KKyAgICBpZiAoaXNMZWZ0VmFs
dWUpIHsKKyAgICAgICAgU3RhY2tWYWx1ZSBzdGFja1ZhbHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUo
KTsKKyAgICAgICAgcG9pbnRlck5hbWUgPSBzdGFja1ZhbHVlLnZhbHVlOworICAgICAgICByZXN1
bHRQb2ludGVyID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGJhc2VOYW1lID0gdGFrZUxhc3RWYWx1ZSgpOworCisgICAgYXV0byYgdHlwZSA9IGluZGV4
RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CisgICAgaWYgKGlz
PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc0xlZnRWYWx1ZSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAg
ICAgICBtX2luZGVudCwgQVNUOjp0b1N0cmluZygqaW5kZXhFeHByZXNzaW9uLnR5cGVBbm5vdGF0
aW9uKCkubGVmdEFkZHJlc3NTcGFjZSgpKSwgJyAnLCByZXN1bHRUeXBlLCAiKiAiLCByZXN1bHRQ
b2ludGVyLCAiPSAmIiwgcG9pbnRlck5hbWUsICItPnBvaW50ZXJbIiwgaW5kZXhWYXJpYWJsZSwg
Il07XG4iLAorICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywgcmVzdWx0TmFt
ZSwgIiA9ICoiLCByZXN1bHRQb2ludGVyLCAiO1xuIik7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6
OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgaWYgKGlzTGVmdFZhbHVlKSB7CisgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCBB
U1Q6OnRvU3RyaW5nKCppbmRleEV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVz
c1NwYWNlKCkpLCAnICcsIHJlc3VsdFR5cGUsICIqICIsIHJlc3VsdFBvaW50ZXIsICIgPSAmKCgq
IiwgcG9pbnRlck5hbWUsICIpWyIsIGluZGV4VmFyaWFibGUsICJdKTtcbiIsCisgICAgICAgICAg
ICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUsICcgJywgcmVzdWx0TmFtZSwgIiA9ICoiLCByZXN1
bHRQb2ludGVyLCAiO1xuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlLCAn
ICcsIHJlc3VsdE5hbWUsICIgPSAiLCBiYXNlTmFtZSwgJ1snLCBpbmRleFZhcmlhYmxlLCAiXTtc
biIpOworCisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPih0eXBlKSkgeworICAgICAgICAvLyBPT1BTOiBNYWtlIG1hdHJpY2VzIHdvcmsgc2lu
Y2UgcmV0dXJuaW5nIGFuIExWYWx1ZSBhbmQgdGhlIGxheW91dCBvZiBzaGl0IG1hdHRlcnMuCisg
ICAgfQorCisgICAgaWYgKGlzTGVmdFZhbHVlKQorICAgICAgICBhcHBlbmRMZWZ0VmFsdWUoaW5k
ZXhFeHByZXNzaW9uLCByZXN1bHROYW1lLCByZXN1bHRQb2ludGVyLCBOdWxsYWJpbGl0eTo6Tm90
TnVsbCk7CisgICAgZWxzZQorICAgICAgICBhcHBlbmRSaWdodFZhbHVlKGluZGV4RXhwcmVzc2lv
biwgcmVzdWx0TmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxlRGVjbGFyYXRpb24pCkBAIC03MjUs
MTAgKzgxNSw0MSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAg
ICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShtYWtlUG9pbnRlckV4cHJlc3Npb24s
IHZhcmlhYmxlTmFtZSwgbnVsbGFiaWxpdHkpOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikKK3ZvaWQgRnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24mIHJlYWRNb2RpZnlXcml0ZSkKIHsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFs
cmVhZHkuCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoKKyAgICAgKiAgMS4gRXZh
bHVhdGUgbV9sZWZ0VmFsdWUKKyAgICAgKiAgMi4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9vbGRW
YWx1ZQorICAgICAqICAzLiBFdmFsdWF0ZSBtX25ld1ZhbHVlRXhwcmVzc2lvbgorICAgICAqICA0
LiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX25ld1ZhbHVlCisgICAgICogIDUuIEFzc2lnbiB0aGUg
cmVzdWx0IHRvIG1fbGVmdFZhbHVlCisgICAgICogIDYuIEV2YWx1YXRlIG1fcmVzdWx0RXhwcmVz
c2lvbgorICAgICAqICA3LiBSZXR1cm4gdGhlIHJlc3VsdAorICAgICAqLworCisgICAgYXV0byBv
bGRWYWx1ZVZhcmlhYmxlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgbV92YXJp
YWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJp
YWJsZSk7CisgICAgYXV0byBuZXdWYWx1ZVZhcmlhYmxlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFs
dWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1v
ZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKyAgICBhdXRvIFtsZWZ0VmFsdWVQb2ludGVyLCBsZWZ0
VmFsdWVOdWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOworICAgIFVOVVNFRF9QQVJB
TShsZWZ0VmFsdWVOdWxsYWJpbGl0eSk7IC8vIE9PUFMKKworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCisgICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
KnJlYWRNb2RpZnlXcml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSksICcgJywgb2xkVmFsdWVWYXJpYWJs
ZSwgIiA9ICoiLCBsZWZ0VmFsdWVQb2ludGVyLCAiO1xuIik7CisKKyAgICBjaGVja0Vycm9yQW5k
VmlzaXQocmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKKyAgICBhdXRvIG5l
d1ZhbHVlID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisg
ICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2Rp
ZnlXcml0ZS5uZXdWYWx1ZSgpLnR5cGUoKSksICcgJywgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIs
IG5ld1ZhbHVlLCAiO1xuIik7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAg
ICBtX2luZGVudCwgJyonLCBsZWZ0VmFsdWVQb2ludGVyLCAiID0gIiwgbmV3VmFsdWUsICI7XG4i
KTsKKworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUucmVzdWx0RXhwcmVz
c2lvbigpKTsKKyAgICBhdXRvIHJlc3VsdCA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBhcHBlbmRS
aWdodFZhbHVlKHJlYWRNb2RpZnlXcml0ZSwgcmVzdWx0KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mIHRlcm5hcnlFeHBy
ZXNzaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwv
V0hMU0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3
ICszOSw3IEBAIG5hbWVzcGFjZSBXSExTTCB7CiAKIG5hbWVzcGFjZSBNZXRhbCB7CiAKLXN0YXRp
YyBjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxDb2RlID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHBy
IGJvb2wgZHVtcE1ldGFsQ29kZSA9IHRydWU7CiAKIHN0YXRpYyBTdHJpbmdWaWV3IG1ldGFsQ29k
ZVByb2xvZygpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9N
ZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3Jp
dGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE3OSw2ICsxNzksNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1
aWxkZXImCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICAvLyBPT1BT
OiBJIHRoaW5rIHdlIGNhbiBqdXN0IE1TTCBvcGVyYXRvcnMgbm93Li4uLgogICAgICAgICBpZiAo
YXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShyZXR1cm5UeXBlKSkgewogICAgICAgICAg
ICAgdW5zaWduZWQgbnVtUm93cyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOwog
ICAgICAgICAgICAgdW5zaWduZWQgbnVtQ29sdW1ucyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0
cml4Q29sdW1ucygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3Bw
CShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQs
NyArMTE0LDExIEBAIFN0cmluZyB3cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRpdmVUeXBlRGUKICAg
ICAgICAgYXV0byYgaW50ZWdlckxpdGVyYWwyID0gY29uc3RhbnRFeHByZXNzaW9uMi5pbnRlZ2Vy
TGl0ZXJhbCgpOwogICAgICAgICB1bnNpZ25lZCBjb2x1bW5zID0gaW50ZWdlckxpdGVyYWwyLnZh
bHVlKCk7CiAgICAgICAgIEFTU0VSVChjb2x1bW5zID09IDIgfHwgY29sdW1ucyA9PSAzIHx8IGNv
bHVtbnMgPT0gNCk7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgs
ICIsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOworICAgICAgICAvL1JFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIC8vIE9PUFM6IG1ha2UgTVNMIG1hdHJpeCBub3cKKyAgICAg
ICAgLy8gT09QUzogdGhleSdyZSBzdGF0aWMgYXNzZXJ0aW5nIG1hdHJpY2VzIHVzZSBmbG9hdGlu
ZyBwb2ludCBudW1zLiBXVEYhCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJtYXRyaXg8Iiwg
cHJlZml4LCAiLCAiLCBjb2x1bW5zLCAiLCAiLCByb3dzLCAiLCBib29sPiIpOworICAgICAgICAv
L3JldHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMgKiByb3dz
LCAiPiIpOwogICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1
bWVudHMoKS5zaXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8
UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1l
bnRzKClbMF0pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODk0MikKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODMxMCw2
ICs4MzEwLDcgQEAKIAkJNTFGQjY3REExQUU2QjVFNDAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNp
b25TdHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRF
eHRlbnNpb25TdHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMx
RTVBMUM0RjE1NjEwMDMzRjgwMiAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTU4NjJDMjI5Mzc3
QjcwMDU5MjVFRiAvKiBXSExTTEFTVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFTVC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hM
U0xOYW1lU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0hMU0xOYW1lU3BhY2UuaDsgcGF0aCA9IEFT
VC9XSExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJCQUI5
NjIyRTZBMzYyMDBDNTRDRTkgLyogV0hMU0xDb2RlTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0hMU0xDb2RlTG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyRDA3
QTMyMkZCQUI0MzAwQjkwNUJFIC8qIFdITFNMRXhwcmVzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXSExTTEV4cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MjJEQTNEMzIyOUUxRDM5MDA0MkQxNTEgLyogV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXSExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTUzMiw2ICsyNTUzMyw3IEBACiAJCQkJQzIxMEU5MTIy
MUI0QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJFQzIxRUVENkY2
MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJCTFDQTBDMkVB
MjFFRUQ2RjUwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAorCQkJCTUy
MjU2Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAogCQkJCUMyMzRB
OThEMjFFODg4ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0
QTk4RTIxRTg4ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRB
OThBMjFFODg4M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVs
aW5lTWV0YWwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCShyZXZpc2lvbiAyNDkwMjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0
ZVBpcGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTkzLDEwICs5MywxMCBAQCBzdGF0
aWMgT3B0aW9uYWw8V0hMU0w6OkNvbXB1dGVEaW1lbnNpb25zCiAgICAgICAgIGlmIChXSExTTDo6
ZHVtcE1ldGFsQ29tcGlsZVRpbWVzKQogICAgICAgICAgICAgZGF0YUxvZ0xuKCJNZXRhbCBjb21w
aWxlIHRpbWVzOiAiLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWUpLm1pbGxpc2Vj
b25kcygpLCAiIG1zIik7CiAgICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jaWZu
ZGVmIE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAoIWNvbXB1dGVMaWJyYXJ5
KQogICAgICAgICAgICAgTlNMb2coQCIlQCIsIGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAg
ICAgICAgQVNTRVJUKGNvbXB1dGVMaWJyYXJ5KTsKICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NzEgT25jZSB3ZSB6ZXJvLWZpbGwg
dmFyaWFibGVzLCB0aGVyZSBzaG91bGQgYmUgbm8gd2FybmluZ3MsIHNvIHdlIHNob3VsZCBiZSBh
YmxlIHRvIEFTU0VSVCghZXJyb3IpIGhlcmUuCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377311</attachid>
            <date>2019-08-26 19:52:04 -0700</date>
            <delta_ts>2019-08-26 19:55:38 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>107396</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTAyOSw3ICsxMDQ4LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExNzAsMTQ0ICsxMTg5LDk2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFsZWZ0QWRkcmVzc1NwYWNlICYmICF0aHJl
YWRBbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYSB0aHJl
YWQgYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIC8vIE9PUFM6IFdl
IG5lZWQgdG8gbWF0Y2ggc3dpenpsZSArIHNpbmdsZSBlbGVtZW50IGZ1bmN0aW9ucyB0byBtYWtl
IHN1cmUgdGhleSdyZSByZWFsIHByb3BlcnR5IG5hbWVzIQorICAgICAgICBpZiAoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKS5sZW5ndGgoKSA9PSAxKSB7CisgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4
cHJlc3Npb24sICpiYXNlVW5uYW1lZFR5cGUuZ2V0KCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAg
ICAgICAgfQogICAgIH0KK30KIAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRl
ckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEg
dGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAg
ICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYm
ICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0g
ICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0
Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5
cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBl
eHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdl
dHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4g
dHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBp
ZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1
bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJS
ZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmlu
Z1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVy
cm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHBy
ZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRl
clJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRl
clJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZp
bmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3Vt
ZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5k
KCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJO
YW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBp
ZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5v
ZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVu
Y2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lv
biwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJy
YXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+
dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1Zl
Y3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwg
bmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dz
KCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29s
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJU
eXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRl
eEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVG
b3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Np
b24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAg
ICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQot
Ci0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEg
Y29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVh
ZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJG
dW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVB
bm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NT
cGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAg
ICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFT
VDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9u
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0
aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29u
Y3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBX
VEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4
cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
JiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJ
bmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5m
bykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwg
JmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9t
YmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wg
ewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBz
b21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdo
IHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2
YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBw
cm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJ
U0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmll
RmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRy
aW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3Np
emUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5
cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtMTI0LDYg
KzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFsyXTsKICAg
ICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9y
U2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1f
dmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBt
YXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1QgaWYgdGhleSBhcmUgdW51c2VkLgogICAg
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiogZGR4KCkgY29uc3QKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVy
dHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKKy8qCisKIGNsYXNzIFByb3BlcnR5UmVzb2x2ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CiBwdWJsaWM6CiBwcml2YXRlOgpAQCAtODI4LDYgKzgzMCwxMSBAQCB2
b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mIHByb2dyYW0pCiB7CiAgICAgUHJvcGVydHlS
ZXNvbHZlcigpLlZpc2l0b3I6OnZpc2l0KHByb2dyYW0pOwogfQorKi8KKwordm9pZCByZXNvbHZl
UHJvcGVydGllcyhQcm9ncmFtJikKK3sKK30KIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hh
YmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExp
YnJhcnlGdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlG
dW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4
cHJlc3Npb24uZnVuY3Rpb24oKSkpOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAg
ICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBbJl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVu
Y3Rpb24pIHsKLSAgICAgICAgICAgIGlmICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgaWYgKGlzPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rp
b24pKQotICAgICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0
aW9uPigqZnVuY3Rpb24pKTsKLSAgICAgICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4
cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVz
c2lvbi5hbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24u
dGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9u
LnNldHRlckZ1bmN0aW9uKCkpOwotCi0gICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24p
OwotICAgIH0KLQogICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVh
Y2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7
IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0aWxpdGll
cy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjYsMTQgKzY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoY2FsbEV4
cHJlc3Npb24pOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7Ci0gICAg
ICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1
bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFt
ZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpKTsKLSAg
ICAgICAgVmlzaXRvcjo6dmlzaXQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICB9Ci0K
ICAgICBIYXNoU2V0PFN0cmluZz4gbV9mdW5jdGlvbk5hbWVzOwogfTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25G
dW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAkocmV2aXNpb24g
MjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50
aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxNSAr
NTYsNiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUVudW1lcmF0CiAgICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBBU1Q6OlR5cGVSZWZl
cmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiksIFN0cmluZygpLCBu
dWxscHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMg
cGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFi
bGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKGxv
Y2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgZW51bWVyYXRpb25E
ZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7
Ci0gICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJv
cigiQ2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51bSB0eXBlLiIpKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpR
dWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRp
b25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAgICAgICAg
QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgcGFyYW1l
dGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7CiAgICAgICAgICAgICBB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwg
V1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yIGNh
c3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2lu
Z01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAgaWYgKCFwcm9ncmFtLmFwcGVu
ZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVhdGUgY29weSBjb25zdHJ1Y3Rv
ciBmb3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9uLmgJKHJldmlz
aW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpE
b3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92ZShmaWVsZE5h
bWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAgICAgfQogCiAg
ICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEgQEAgcHVibGlj
OgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAg
IERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcg
Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3Ry
aW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygi
b3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVy
RnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJv
cGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYgZmllbGROYW1l
KCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9maWVs
ZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNU
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHBy
ZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2OCwzMyArMTY4LDYgQEAgdm9pZCBFeHByZXNzaW9uOjpkZXN0cnVj
dChFeHByZXNzaW9uJiBleAogICAgIH0KIH0KIAotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRo
aXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLmdl
dHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19
Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNldHRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0
dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsK
LSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uOjphbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4
cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+
KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+
KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMp
LmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgQVNUCiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Np
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDIxICs1Miw2IEBAIHB1YmxpYzoKICAgICBJbmRleEV4cHJlc3Np
b24oY29uc3QgSW5kZXhFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAgSW5kZXhFeHByZXNzaW9u
KEluZGV4RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3JbXSJfc3RyOwot
ICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgcmV0dXJuICJvcGVyYXRvcltdPSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yJltd
Il9zdHI7Ci0gICAgfQotCiAgICAgRXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKCkgeyByZXR1
cm4gbV9pbmRleDsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiB0YWtlSW5kZXgoKSB7IHJl
dHVybiBXVEZNb3ZlKG1faW5kZXgpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtODYsMTEgKzg2LDI5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZNYXRyaXhSb3dzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1l
bnNpb24oMSk7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMik7CiAgICAgfQogICAg
IHVuc2lnbmVkIG51bWJlck9mTWF0cml4Q29sdW1ucygpCiAgICAgewotICAgICAgICByZXR1cm4g
bWF0cml4RGltZW5zaW9uKDIpOworICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOwor
ICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIHZlY3RvclR5cGVBcmd1bWVudCgpCisgICAgewor
ICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8
QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKKyAgICB9CisKKyAgICB1
bnNpZ25lZCB2ZWN0b3JTaXplKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsK
KyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPih0eXBlQXJn
dW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKKyAgICB9CisKKyAgICBUeXBl
UmVmZXJlbmNlJiBtYXRyaXhUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
TWF0cml4KCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5j
ZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CiAgICAgfQogCiAgICAgdm9pZCBzZXRJc0ludCgpIHsg
bV9pc0ludCA9IHRydWU7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNDUgKzUzLDEyIEBAIHB1YmxpYzoKICAgICBQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24oY29uc3QgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAg
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYmKSA9IGRl
ZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0gICAgU3Ry
aW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9u
TmFtZSgpIGNvbnN0OwotCi0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24o
KSB7IHJldHVybiBtX2dldHRlckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiog
YW5kZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fYW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9u
RGVjbGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3RocmVhZEFuZGVy
RnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbigpIHsg
cmV0dXJuIG1fc2V0dGVyRnVuY3Rpb247IH0KLQotICAgIHZvaWQgc2V0R2V0dGVyRnVuY3Rpb24o
RnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX2dl
dHRlckZ1bmN0aW9uID0gZ2V0dGVyRnVuY3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRBbmRl
ckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24pCi0gICAgewotICAg
ICAgICBtX2FuZGVyRnVuY3Rpb24gPSBhbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQg
c2V0VGhyZWFkQW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1
bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV90aHJlYWRBbmRlckZ1bmN0aW9uID0gdGhyZWFkQW5k
ZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFNldHRlckZ1bmN0aW9uKEZ1bmN0aW9u
RGVjbGFyYXRpb24qIHNldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9zZXR0ZXJGdW5j
dGlvbiA9IHNldHRlckZ1bmN0aW9uOwotICAgIH0KLQogICAgIEV4cHJlc3Npb24mIGJhc2UoKSB7
IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4mIGJhc2VSZWZlcmVu
Y2UoKSB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUJh
c2UoKSB7IHJldHVybiBXVEZNb3ZlKG1fYmFzZSk7IH0KIAogcHJpdmF0ZToKICAgICBVbmlxdWVS
ZWY8RXhwcmVzc2lvbj4gbV9iYXNlOwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fZ2V0dGVy
RnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9hbmRlckZ1
bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fdGhyZWFkQW5k
ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3NldHRl
ckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3Jp
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDx3dGYvU2V0
Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpbmNs
dWRlIDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBX
SExTTCB7CkBAIC02Myw3ICs2NSw1MCBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3RydWN0
IFZhcmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xlZFR5
cGVOYW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBwdWJs
aWMgVmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVibGlj
IFZpc2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNvbGxl
Y3RvcihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcikK
KyAgICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChBU1Q6
OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgeworICAg
ICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICB2YXJpYWJs
ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXpl
KCkpOworCisgICAgICAgICAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24u
YXJndW1lbnRzKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNv
bHZlZFR5cGUoKSk7CisgICAgICAgICAgICAgICAgYXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgICAgICAgICAgICAgIHZh
cmlhYmxlcy51bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmY2FsbEV4cHJlc3Npb24sIFdURk1v
dmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNz
aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3Jp
dGVFeHByZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFZlY3RvcjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVz
LmFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRW
YXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZSgqcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCkudHlwZSgpKSB9KTsKKyAg
ICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
ci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1
ZSgpLnR5cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZyZWFkTW9kaWZ5V3Jp
dGUsIFdURk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KHJl
YWRNb2RpZnlXcml0ZSk7CisgICAgICAgIH0KKworICAgICAgICBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjsKKyAgICAgICAgSGFzaE1hcDxBU1Q6OkV4
cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiB0b0hvaXN0OworICAgIH07CisKIHB1YmxpYzoK
ICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRl
ciwgSW50cmluc2ljcyYgaW50cmluc2ljcywgVHlwZU5hbWVyJiB0eXBlTmFtZXIsIEhhc2hNYXA8
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFtZT4mIGZ1bmN0aW9u
TWFwcGluZywgTGF5b3V0JiBsYXlvdXQpCiAgICAgICAgIDogbV9zdHJpbmdCdWlsZGVyKHN0cmlu
Z0J1aWxkZXIpCkBAIC0xMDQsMTAgKzE0OSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHZpc2l0
KEFTVDo6Qm9vbGVhbkxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51
bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkV4
cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYp
IG92ZXJyaWRlOworICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZv
aWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2
b2lkIHZpc2l0KEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
dmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlz
aXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwpAQCAtMjA5LDYgKzI1Myw3IEBAIHBy
b3RlY3RlZDoKICAgICB1bnNpZ25lZCBtX3ZhcmlhYmxlQ291bnQgeyAwIH07CiAgICAgT3B0aW9u
YWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gbV9icmVha091dE9mQ3VycmVudExvb3BFYXJseVZhcmlh
YmxlOwogICAgIEluZGVudGF0aW9uPDQ+IG1faW5kZW50IHsgMCB9OworICAgIEhhc2hNYXA8QVNU
OjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxlPj4gbV9ob2lzdGVkVmFyaWFibGVzOwogfTsK
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbiYpCkBAIC0yMTgsNiArMjYzLDEzIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CisKKyAg
ICB7CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3RvciBjb2xsZWN0b3IoKnRoaXMpOwor
ICAgICAgICBjb2xsZWN0b3IuVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsKKyAg
ICAgICAgbV9ob2lzdGVkVmFyaWFibGVzID0gV1RGTW92ZShjb2xsZWN0b3IudG9Ib2lzdCk7Cisg
ICAgfQorCiAgICAgYXV0byBpdGVyYXRvciA9IG1fZnVuY3Rpb25NYXBwaW5nLmZpbmQoJmZ1bmN0
aW9uRGVmaW5pdGlvbik7CiAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fZnVuY3Rpb25NYXBwaW5n
LmVuZCgpKTsKICAgICBpZiAoZnVuY3Rpb25EZWZpbml0aW9uLmVudHJ5UG9pbnRUeXBlKCkpIHsK
QEAgLTIzOCw2ICsyOTAsMTIgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVAogICAgICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcu
YWRkKCZmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldLCBtX2VudHJ5UG9pbnRTY2Fm
Zm9sZGluZy0+cGFyYW1ldGVyVmFyaWFibGVzKClbaV0pOwogICAgICAgICAgICAgICAgIEFTU0VS
VF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgdmVjdG9yIDogbV9ob2lzdGVkVmFyaWFi
bGVzLnZhbHVlcygpKSB7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvIHZhcmlhYmxlIDogdmVj
dG9yKQorICAgICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4iKTsKKyAgICAgICAgICAg
IH0KKwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbi5i
bG9jaygpKTsKICAgICAgICAgICAgIEFTU0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CiAgICAgICAg
IH0KQEAgLTI0OCwxNiArMzA2LDI0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nID09IG51bGxw
dHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSksICcgJywgaXRl
cmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZ1bmN0
aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGF1
dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07CiAgICAg
ICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0aW9uLnBh
cmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3Zhcmlh
YmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgICAgICBB
U1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
KnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0ZXJOYW1lKTsKICAgICAgICAgfQogICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4iKTsKKworICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2ZWN0b3IgOiBt
X2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byB2YXJp
YWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4iKTsKKyAgICAg
ICAgfQorCiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxv
Y2soKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1cbiIpOwogICAgICAgICBB
U1NFUlQobV9zdGFjay5pc0VtcHR5KCkpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCdcbicpOwogICAgIH0KQEAgLTMwOSw4ICszNzUsMTAgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpFZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50JiBlZmZlY3RmdWxFeHByZXNzaW9u
U3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQpOwogICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChlZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50LmVmZmVjdGZ1
bEV4cHJlc3Npb24oKSk7Ci0gICAgdGFrZUxhc3RWYWx1ZSgpOyAvLyBUaGUgc3RhdGVtZW50IGlz
IGFscmVhZHkgZWZmZWN0ZnVsLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIHdpdGgg
dGhlIHJlc3VsdC4KKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKKyAgICAvL3Rh
a2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVudCBpcyBhbHJlYWR5IGVmZmVjdGZ1bCwgc28g
d2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3aXRoIHRoZSByZXN1bHQuCiB9CiAKIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZhbGx0aHJvdWdoJikKQEAgLTMz
MCwxMCArMzk4LDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCgK
ICAgICAgICAgSW5kZW50YXRpb25TY29wZSB3aGlsZVNjb3BlKG1faW5kZW50KTsKIAogICAgICAg
ICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlvbjo6QmVm
b3JlQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAg
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwg
ImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBtX2luZGVu
dCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAgICAgICAgICIpKVxuIiwKKyAgICAgICAgICAg
ICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCAiZG8ge1xuIik7CkBAIC0zNTAsMTcgKzQyMCwxOCBAQCB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgICAgICBtX2luZGVu
dCwgIiAgICBicmVhaztcbiIpOwogCiAgICAgICAgIGlmIChpbmNyZW1lbnQpIHsKKyAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIigiKTsKICAgICAgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdCgqaW5jcmVtZW50KTsKLSAgICAgICAgICAgIC8vIEV4cHJlc3Npb24gcmVzdWx0cyBn
ZXQgcHVzaGVkIHRvIG1fc3RhY2suIFdlIGRvbid0IHVzZSB0aGUgcmVzdWx0Ci0gICAgICAgICAg
ICAvLyBvZiBpbmNyZW1lbnQsIHNvIHdlIGRpc3BlbnNlIG9mIHRoYXQgbm93LgotICAgICAgICAg
ICAgdGFrZUxhc3RWYWx1ZSgpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
KTtcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2NhdGlvbiA9
PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkFmdGVyQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9u
KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAg
IG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNv
bmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxu
IiwKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAg
ICAgICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAg
IH0KICAgICB9CiAKQEAgLTM5MCwxMiArNDYxLDE1IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6SWZTdGF0ZW1lbnQmIGlmU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsICJpZiAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVt
ZW50LmNvbmRpdGlvbmFsKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQs
ICJpZiAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7XG4iKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpIHtcbiIpOworCiAgICAgewogICAgICAgICBJbmRlbnRhdGlvblNjb3BlIGlmU2Nv
cGUobV9pbmRlbnQpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaWZTdGF0ZW1lbnQuYm9k
eSgpKTsKICAgICB9CisKICAgICBpZiAoaWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSkgewogICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifSBlbHNlIHtcbiIpOwogICAgICAg
ICB7CkBAIC00MDMsMjkgKzQ3NywzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmlmU3RhdGVtZW50LmVs
c2VCb2R5KCkpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgIn1cbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUOjpSZXR1cm4mIHJldHVyblN0YXRlbWVudCkKIHsKICAgICBpZiAocmV0dXJuU3Rh
dGVtZW50LnZhbHVlKCkpIHsKKyAgICAgICAgYXV0byB0ZW1wUmV0dXJuTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOyAKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblN0YXRlbWVudC52YWx1
ZSgpLT5yZXNvbHZlZFR5cGUoKSksICcgJywgdGVtcFJldHVybk5hbWUsICIgPSAiKTsgCiAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqcmV0dXJuU3RhdGVtZW50LnZhbHVlKCkpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICBpZiAobV9lbnRyeVBv
aW50U2NhZmZvbGRpbmcpIHsKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2FmZm9sZGlu
Zy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0YWtlTGFzdFZhbHVlKCksIHZhcmlhYmxlTmFt
ZSwgbV9pbmRlbnQpOworICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQ
YWNrKG1fc3RyaW5nQnVpbGRlciwgdGVtcFJldHVybk5hbWUsIHZhcmlhYmxlTmFtZSwgbV9pbmRl
bnQpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInJldHVy
biAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRha2VMYXN0VmFsdWUo
KSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
InJldHVybiAiLCB0ZW1wUmV0dXJuTmFtZSwgIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuO1xuIik7CiB9CiAKIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVudCYgc3dp
dGNoU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJz
d2l0Y2ggKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChzd2l0Y2hTdGF0ZW1lbnQudmFsdWUo
KSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7Iik7CiAKLSAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiLCB0YWtlTGFzdFZhbHVlKCksICIpIHsi
KTsKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUobV9pbmRlbnQp
OwogICAgICAgICBmb3IgKGF1dG8mIHN3aXRjaENhc2UgOiBzd2l0Y2hTdGF0ZW1lbnQuc3dpdGNo
Q2FzZXMoKSkKQEAgLTQ1NCwzMCArNTMzLDI5IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFT
VDo6SW50ZWdlckxpdGVyYWwmIGludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5h
bWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaW50ZWdlckxpdGVyYWwucmVzb2x2
ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRU
eXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlw
ZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5k
UmlnaHRWYWx1ZShpbnRlZ2VyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGludGVn
ZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmIHVuc2lnbmVkSW50ZWdlckxp
dGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCB1bnNpZ25l
ZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZSh1
bnNpZ25lZEludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkKIHsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8g
bWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZsb2F0TGl0
ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIs
IG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0g
ICAgYXBwZW5kUmlnaHRWYWx1ZShmbG9hdExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigi
LCBmbG9hdExpdGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQogeworICAgIFVO
VVNFRF9QQVJBTShudWxsTGl0ZXJhbCk7CisgICAgYm9vbCBiID0gdHJ1ZTsKKyAgICBpZiAoYikK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgogICAgIGF1dG8m
IHVuaWZ5Tm9kZSA9IG51bGxMaXRlcmFsLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOwogICAg
IGF1dG8mIHVubmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2Rl
KTsKICAgICBib29sIGlzQXJyYXlSZWZlcmVuY2VUeXBlID0gaXM8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHVubmFtZWRUeXBlKTsKQEAgLTQ4OSwyNCArNTY3LDIxIEBAIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBlbHNlCiAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIm51bGxwdHI7XG4iKTsKICAgICBhcHBlbmRSaWdodFZhbHVlKG51bGxMaXRl
cmFsLCB2YXJpYWJsZU5hbWUpOworICAgICovCiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKLSAg
ICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1
dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGJvb2xl
YW5MaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nh
c3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRy
dWUiIDogImZhbHNlIiwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGJvb2xlYW5MaXRl
cmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19j
YXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwudmFsdWUoKSA/ICJ0
cnVlIiA6ICJmYWxzZSIsICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsKQogewogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRp
b25EZWZpbml0aW9uKCkpOwogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51
bWVyYXRpb25EZWZpbml0aW9uKCkpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLnJlc29sdmVkVHlw
ZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5h
bWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbWFuZ2xlZFR5cGVOYW1lLCAiOjoiLCBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSksICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1l
cmF0aW9uTWVtYmVyKCkpKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKQEAgLTUxNCw1MCArNTg5LDY2IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBWaXNpdG9yOjp2aXNp
dChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAvLyBUaGlzIHNob3Vs
ZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9S
RUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGRv
dEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0KLQogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2Um
IGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewotICAgIGF1dG8gdmFsdWVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgTWFuZ2xlZFR5cGVOYW1lIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5j
ZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQoZ2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHN0cnVjdFZhcmlh
YmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAgICAgTWFuZ2xlZFN0cnVjdHVyZUVsZW1lbnROYW1l
IG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVs
ZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uuc3RydWN0RmllbGQoKSk7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiktPiIs
IG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YWx1ZU5hbWUsICIgPSAiLCBz
dHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIpOwordm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVz
c2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRU
eXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xvYmFsVmFyaWFibGVS
ZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVsbCwKLSAgICAgICAg
W3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmdsZWRGaWVsZE5hbWVd
IHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAiLCBwb2ludGVyTmFt
ZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIp
OwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBpZiAo
aXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBzdHJ1
Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBl
KTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24u
ZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNTRVJUKHN0cnVjdHVy
ZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsKKworICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChk
b3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiku
IiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN0cmluZyBlbGVtZW50TmFt
ZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCk7CisgICAgICAgIGlmIChlbGVtZW50TmFtZSA9
PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlzPEFT
VDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5
cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3Rv
cigpKSkpIHsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlw
ZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAg
ICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAg
ICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmxlbmd0aCIpOworICAgICAg
ICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih0eXBlKS5u
dW1FbGVtZW50cygpLCAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
Pih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgICAgIH0KKyAg
ICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkluZGV4
RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxv
d2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQo
KS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW5kZXhFeHBy
ZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19Ci0KLXZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQg
YWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7CisgICAgYXV0byYgdHlwZSA9
IGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CisgICAg
aWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsiKTsKKyAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJ10nKTsKKyAgICB9IGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOyAKKyAgICAgICAgLy8gT09QUzogTWFrZSBtYXRyaWNlcyB3b3JrIHNpbmNlIHJldHVybmlu
ZyBhbiBMVmFsdWUgYW5kIHRoZSBsYXlvdXQgb2YgaXQgbWF0dGVycy4KKyAgICB9IGVsc2Ugewor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyAKKyAgICB9CiB9CiAKIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24m
IHZhcmlhYmxlRGVjbGFyYXRpb24pCkBAIC01NjgsMTQgKzY1OSwyMyBAQCB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQs
IGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2MCBJbXBsZW1lbnQgcXVhbGlmaWVycy4KICAgICBp
ZiAodmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigpKSB7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgq
dmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwog
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKnZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6
ZXIoKSk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcs
IHZhcmlhYmxlTmFtZSwgIiA9ICIsIHRha2VMYXN0VmFsdWUoKSwgIjtcbiIpOworICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0geyB9
O1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkFz
c2lnbm1lbnRFeHByZXNzaW9uJiBhc3NpZ25tZW50RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRF
eHByZXNzaW9uLmxlZnQoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICgiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQo
YXNzaWdubWVudEV4cHJlc3Npb24ucmlnaHQoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOworCisgICAgLyoKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKTsKICAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVsbGFiaWxpdHldID0gdGFr
ZUxhc3RMZWZ0VmFsdWUoKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ucmlnaHQoKSk7CkBAIC01ODgsMTEzICs2ODgsMTQ2IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBlbHNlCiAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsICIqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7
XG4iKTsKICAgICBhcHBlbmRSaWdodFZhbHVlV2l0aE51bGxhYmlsaXR5KGFzc2lnbm1lbnRFeHBy
ZXNzaW9uLCByaWdodE5hbWUsIHJpZ2h0TnVsbGFiaWxpdHkpOworICAgICovCiB9CiAKIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxs
RXhwcmVzc2lvbikKIHsKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgm
Y2FsbEV4cHJlc3Npb24pOworICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXIgIT0gbV9ob2lzdGVkVmFy
aWFibGVzLmVuZCgpKTsKKyAgICBhdXRvJiBhcmd1bWVudFZhcmlhYmxlcyA9IGl0ZXItPnZhbHVl
OworICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA9
PSBhcmd1bWVudFZhcmlhYmxlcy5zaXplKCkpOwogICAgIFZlY3RvcjxNYW5nbGVkVmFyaWFibGVO
YW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxsRXhwcmVz
c2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXJndW1lbnQp
OwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0YWtlTGFzdFZhbHVlKCkpOwotICAgIH0K
IAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUo
KSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmV0
dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAgICAgICByZXR1cm5OYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lvbi5yZXNv
bHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtcbiIpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9u
LmFyZ3VtZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1lbnROYW1lcy5hcHBl
bmQoYXJndW1lbnRWYXJpYWJsZXNbaV0ubmFtZSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoYXJndW1lbnRWYXJpYWJsZXNbaV0ubmFtZSwgIiA9ICIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKClbaV0pOwogICAgIH0KIAotICAg
IGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1
bmN0aW9uKCkpKSB7Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lID0gW3Ro
aXNdKCkgLT4gTWFuZ2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy0+
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07CisgICAgaWYgKGNhbGxFeHBy
ZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSkKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiLCAiKTsKIAotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwotICAgICAg
ICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRvd25jYXN0PEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSksIHJldHVy
bk5hbWUsIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBlTmFtZXIsIFdURk1vdmUo
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKSwgbV9pbmRlbnQpOwotICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCdcbicpOworICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7CisgICAgICAgIGlubGluZU5hdGl2
ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgYXJndW1lbnROYW1lcywgbV9p
bnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgbV9pbmRlbnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQpOwotCiAgICAgICAgIGF1dG8gaXRlcmF0
b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKTsK
ICAgICAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fZnVuY3Rpb25NYXBwaW5nLmVuZCgpKTsKLSAg
ICAgICAgaWYgKCFpc1ZvaWQpCi0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJl
dHVybk5hbWUsICIgPSAiKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChpdGVyYXRv
ci0+dmFsdWUsICcoJyk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnRO
YW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3Vt
ZW50VmFyaWFibGVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwotICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChhcmd1bWVudE5hbWVzW2ldKTsKKyAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoYXJndW1lbnRWYXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhw
cmVzc2lvbiwgcmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJl
c3Npb24mIGNvbW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVO
YW1lPiByZXN1bHQ7CisgICAgaWYgKCFjb21tYUV4cHJlc3Npb24ubGlzdCgpLnNpemUoKSkgewor
ICAgICAgICBkYXRhTG9nTG4oIkVtcHR5IGNvbW1hISIpOworICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcwJyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgYm9vbCByYW5PbmNlID0gZmFsc2U7CiAgICAgZm9yIChh
dXRvJiBleHByZXNzaW9uIDogY29tbWFFeHByZXNzaW9uLmxpc3QoKSkgeworICAgICAgICBpZiAo
cmFuT25jZSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAg
ICAgIHJhbk9uY2UgPSB0cnVlOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZXhwcmVzc2lv
bik7Ci0gICAgICAgIHJlc3VsdCA9IHRha2VMYXN0VmFsdWUoKTsKICAgICB9Ci0gICAgQVNTRVJU
KHJlc3VsdCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShjb21tYUV4cHJlc3Npb24sICpyZXN1bHQp
OwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEZXJlZmVy
ZW5jZUV4cHJlc3Npb24mIGRlcmVmZXJlbmNlRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIqKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkZXJlZmVyZW5jZUV4
cHJlc3Npb24ucG9pbnRlcigpKTsKLSAgICBhdXRvIFtpbnB1dFBvaW50ZXIsIG51bGxhYmlsaXR5
XSA9IHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpOwotICAgIGF1dG8gcmVzdWx0VmFsdWUg
PSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBhdXRvIHJlc3VsdFR5cGUgPSBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnJlc29sdmVk
VHlwZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAKLSAgICBpZiAobnVs
bGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkgewotICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUgLCAnICcsIHJl
c3VsdFZhbHVlLCAiID0gIiwgaW5wdXRQb2ludGVyLCAiID8gIiwgJyonLCBpbnB1dFBvaW50ZXIs
ICIgOiAiLCByZXN1bHRUeXBlLCAieyB9O1xuIik7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVlLCAiID0gKiIsIGlucHV0UG9p
bnRlciwgIjtcbiIpOworICAgIC8vYXV0byBbaW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0
YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKTsKKyAgICAvL2F1dG8gcmVzdWx0VmFsdWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICAvL2F1dG8gcmVzdWx0VHlwZSA9IG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRU
eXBlKCkpOworCisgICAgLy9pZiAobnVsbGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVs
bCkgeworICAgIC8vICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgLy8gICAgICAgIG1f
aW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRl
ciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIp
OworICAgIC8vfSBlbHNlCisgICAgLy8gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgcmVzdWx0VmFsdWUsICIgPSAqIiwgaW5wdXRQb2ludGVyLCAiO1xuIik7CiAKLSAgICBhcHBl
bmRMZWZ0VmFsdWUoZGVyZWZlcmVuY2VFeHByZXNzaW9uLCByZXN1bHRWYWx1ZSwgaW5wdXRQb2lu
dGVyLCBudWxsYWJpbGl0eSk7CisgICAgLy9hcHBlbmRMZWZ0VmFsdWUoZGVyZWZlcmVuY2VFeHBy
ZXNzaW9uLCByZXN1bHRWYWx1ZSwgaW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eSk7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9u
JiBsb2dpY2FsRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIp
OwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAg
IGF1dG8gbGVmdCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9n
aWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUo
KTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bG9naWNhbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
ICIsIGxlZnQpOwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAg
Y2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgICAgQVNTRVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHBy
ZXNzaW9uOjpUeXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBl
OjpPcjoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0
KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikpIik7CisKKworICAgIC8vY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLmxl
ZnQoKSk7CisgICAgLy9hdXRvIGxlZnQgPSB0YWtlTGFzdFZhbHVlKCk7CisgICAgLy9jaGVja0Vy
cm9yQW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7CisgICAgLy9hdXRvIHJpZ2h0
ID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIC8vYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKKworICAgIC8vbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAv
LyAgICBtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxFeHBy
ZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBsZWZ0KTsK
KyAgICAvL3N3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CisgICAgLy9jYXNlIEFT
VDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6OkFuZDoKKyAgICAvLyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIgJiYgIik7CisgICAgLy8gICAgYnJlYWs7CisgICAgLy9kZWZhdWx0OgorICAg
IC8vICAgIEFTU0VSVChsb2dpY2FsRXhwcmVzc2lvbi50eXBlKCkgPT0gQVNUOjpMb2dpY2FsRXhw
cmVzc2lvbjo6VHlwZTo6T3IpOworICAgIC8vICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiB8
fCAiKTsKKyAgICAvLyAgICBicmVhazsKKyAgICAvL30KKyAgICAvL21fc3RyaW5nQnVpbGRlci5h
cHBlbmQocmlnaHQsICI7XG4iKTsKKyAgICAvL2FwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJl
c3Npb24sIHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChsb2dpY2FsTm90RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9
IHRha2VMYXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUobG9naWNhbE5vdEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcs
IHZhcmlhYmxlTmFtZSwgIiA9ICEiLCBvcGVyYW5kLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRW
YWx1ZShsb2dpY2FsTm90RXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICAvL2F1dG8gb3Bl
cmFuZCA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICAvL2F1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CisKKyAgICAvL21fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisg
ICAgLy8gICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2Fs
Tm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gISIs
IG9wZXJhbmQsICI7XG4iKTsKKyAgICAvL2FwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5vdEV4cHJl
c3Npb24sIHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1Q6Ok1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24mIG1ha2VBcnJheVJlZmVy
ZW5jZUV4cHJlc3Npb24pCiB7CisgICAgVU5VU0VEX1BBUkFNKG1ha2VBcnJheVJlZmVyZW5jZUV4
cHJlc3Npb24pOworICAgIGJvb2wgYiA9IHRydWU7CisgICAgaWYgKGIpCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gT09QUyEKKyAgICAvKgogICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsK
ICAgICAvLyBGSVhNRTogVGhpcyBuZWVkcyB0byBiZSBtYWRlIHRvIHdvcmsuIEl0IHByb2JhYmx5
IHNob3VsZCBiZSB1c2luZyB0aGUgbGFzdCBsZWZ0VmFsdWUgdG9vLgogICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg4MzgKQEAgLTcxNCwyNSArODQ3LDY4
IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlh
YmxlTmFtZSwgIiA9IHsgIiwgbFZhbHVlLCAiLCAxIH07XG4iKTsKICAgICB9CiAgICAgYXBwZW5k
UmlnaHRWYWx1ZShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOwor
ICAgICovCiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok1h
a2VQb2ludGVyRXhwcmVzc2lvbiYgbWFrZVBvaW50ZXJFeHByZXNzaW9uKQogeworICAgIC8vIE9P
UFMKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCImKCIpOwogICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChtYWtlUG9pbnRlckV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwotICAgIGF1dG8gW3BvaW50
ZXIsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJs
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobWFrZVBvaW50
ZXJFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBw
b2ludGVyLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShtYWtl
UG9pbnRlckV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSwgbnVsbGFiaWxpdHkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYpCit2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJiBy
ZWFkTW9kaWZ5V3JpdGUpCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5
LgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8qCisgICAgICogIDEuIEV2YWx1YXRl
IG1fbGVmdFZhbHVlCisgICAgICogIDIuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fb2xkVmFsdWUK
KyAgICAgKiAgMy4gRXZhbHVhdGUgbV9uZXdWYWx1ZUV4cHJlc3Npb24KKyAgICAgKiAgNC4gQXNz
aWduIHRoZSByZXN1bHQgdG8gbV9uZXdWYWx1ZQorICAgICAqICA1LiBBc3NpZ24gdGhlIHJlc3Vs
dCB0byBtX2xlZnRWYWx1ZQorICAgICAqICA2LiBFdmFsdWF0ZSBtX3Jlc3VsdEV4cHJlc3Npb24K
KyAgICAgKiAgNy4gUmV0dXJuIHRoZSByZXN1bHQKKyAgICAgKi8KKworICAgIGF1dG8gaXRlciA9
IG1faG9pc3RlZFZhcmlhYmxlcy5maW5kKCZyZWFkTW9kaWZ5V3JpdGUpOworICAgIFJFTEVBU0Vf
QVNTRVJUKGl0ZXIgIT0gbV9ob2lzdGVkVmFyaWFibGVzLmVuZCgpKTsKKyAgICBhdXRvJiB2YXJp
YWJsZXMgPSBpdGVyLT52YWx1ZTsKKyAgICBSRUxFQVNFX0FTU0VSVCh2YXJpYWJsZXMuc2l6ZSgp
ID09IDIpOworCisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBvbGRWYWx1ZVZhcmlhYmxlID0gdmFy
aWFibGVzWzBdLm5hbWU7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuZXdWYWx1ZVZhcmlhYmxl
ID0gdmFyaWFibGVzWzFdLm5hbWU7CisKKyAgICBtX3ZhcmlhYmxlTWFwcGluZy5hZGQoJnJlYWRN
b2RpZnlXcml0ZS5vbGRWYWx1ZSgpLCBvbGRWYWx1ZVZhcmlhYmxlKTsKKyAgICBtX3ZhcmlhYmxl
TWFwcGluZy5hZGQoJnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZSgpLCBuZXdWYWx1ZVZhcmlhYmxl
KTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQob2xkVmFsdWVWYXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChyZWFkTW9kaWZ5V3JpdGUubGVmdFZhbHVlKCkpOworCisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiLCAiLCBuZXdWYWx1ZVZhcmlhYmxlLCAiID0gIik7CisgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZUV4cHJlc3Npb24oKSk7CisKKyAgICAvLyBP
T1BTOiBkb24ndCBldmFsdWF0ZSBsZWZ0VmFsdWUgdHdpY2UhCisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiLCAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxl
ZnRWYWx1ZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBuZXdWYWx1ZVZh
cmlhYmxlLCAiLCAiKTsKKworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUu
cmVzdWx0RXhwcmVzc2lvbigpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlRlcm5hcnlFeHBy
ZXNzaW9uJiB0ZXJuYXJ5RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHRlcm5hcnlFeHByZXNzaW9uLnByZWRpY2F0
ZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gKCIpOworICAgIGNoZWNrRXJy
b3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogKCIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJu
YXJ5RXhwcmVzc2lvbi5lbHNlRXhwcmVzc2lvbigpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CisKKyAgICAvKgogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVz
c2lvbi5wcmVkaWNhdGUoKSk7CiAgICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uYm9keUV4cHJlc3Npb24oKSk7
CkBAIC03NDMsNiArOTE5LDcgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVAogICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
CiAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJp
YWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIsIGJvZHksICIgOiAiLCBlbHNlQm9keSwgIjtc
biIpOwogICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVybmFyeUV4cHJlc3Npb24sIHZhcmlhYmxlTmFt
ZSk7CisgICAgKi8KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFT
VDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlhYmxlUmVmZXJlbmNlKQpAQCAtNzUyLDEzICs5Mjks
NyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgQVNTRVJU
KGl0ZXJhdG9yICE9IG1fdmFyaWFibGVNYXBwaW5nLmVuZCgpKTsKIAogICAgIE1hbmdsZWRWYXJp
YWJsZU5hbWUgdmFyaWFibGVOYW1lID0gaXRlcmF0b3ItPnZhbHVlOwotCi0gICAgYXBwZW5kTGVm
dFZhbHVlKHZhcmlhYmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5hbWUsIHsgfSwgTnVsbGFiaWxpdHk6
Ok5vdE51bGwsCi0gICAgICAgIFt0aGlzLCAmdmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFt
ZV0gewotICAgICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInRo
cmVhZCAiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodmFyaWFibGVSZWZlcmVuY2Uu
cmVzb2x2ZWRUeXBlKCkpLCAiKiAiLCBwb2ludGVyTmFtZSwgIiA9ICYiLCB2YXJpYWJsZU5hbWUs
ICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAgfSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdENvbnN0YW50RXhwcmVzc2lvblN0cmluZyhBU1Q6OkNv
bnN0YW50RXhwcmVzc2lvbiYgY29uc3RhbnRFeHByZXNzaW9uKQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXSExTTCB7
CiAKIG5hbWVzcGFjZSBNZXRhbCB7CiAKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxD
b2RlID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IHRydWU7
CiAKIHN0YXRpYyBTdHJpbmdWaWV3IG1ldGFsQ29kZVByb2xvZygpCiB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3Jp
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVG
dW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAgc3RhdGlj
IGludCB2ZWN0b3JMZW5ndGgoQVNUOjpOYXRpdmVUeXBlRAogICAgIHJldHVybiB2ZWN0b3JMZW5n
dGg7CiB9CiAKKy8qCiBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVyVHlwZShBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZlVHlwZURlY2xhcmF0aW9uKQogewogICAgIGlm
IChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLmlzRW1wdHkoKSkKQEAgLTEx
OSw4ICsxMjAsOSBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVjdG9yU3VmZml4KGludCB2ZWN0CiAg
ICAgICAgIHJldHVybiAiNCI7CiAgICAgfQogfQorKi8KIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdzLCBJbnRy
aW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgc3RkOjpmdW5jdGlvbjxN
YW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lLCBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdz
LCBJbnRyaW5zaWNzJiAvKmludHJpbnNpY3MqLywgVHlwZU5hbWVyJiB0eXBlTmFtZXIsIEluZGVu
dGF0aW9uPDQ+KQogewogICAgIGF1dG8gYXNNYXRyaXhUeXBlID0gWyZdIChBU1Q6OlVubmFtZWRU
eXBlJiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24qIHsKICAgICAg
ICAgYXV0byYgcmVhbFR5cGUgPSB1bm5hbWVkVHlwZS51bmlmeU5vZGUoKTsKQEAgLTEzOSwxOSAr
MTQxLDIyIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAg
ICAgYXV0byBtZXRhbFJldHVyblR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShyZXR1cm5UeXBlKTsKIAogICAgICAgICBpZiAoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpLnNpemUoKSkgewotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCByZXR1cm5OYW1lLCAiID0geyB9O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAiIHsgfSIpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAxKSB7CiAgICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXJU
eXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7
Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRlclR5cGUpOworICAgICAgICAgICAgLy9hdXRvIG1ldGFs
UGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRl
clR5cGUpOwogCiAgICAgICAgICAgICBhdXRvIGlzRW51bWVyYXRpb25EZWZpbml0aW9uID0gW10g
KGF1dG8mIHR5cGUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gaXM8QVNUOjpOYW1lZFR5cGU+
KHR5cGUpICYmIGlzPEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5h
bWVkVHlwZT4odHlwZSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIGF1dG8mIHVuaWZp
ZWRSZXR1cm5UeXBlID0gcmV0dXJuVHlwZS51bmlmeU5vZGUoKTsKICAgICAgICAgICAgIGlmIChp
c0VudW1lcmF0aW9uRGVmaW5pdGlvbih1bmlmaWVkUmV0dXJuVHlwZSkgJiYgIWlzRW51bWVyYXRp
b25EZWZpbml0aW9uKHBhcmFtZXRlclR5cGUudW5pZnlOb2RlKCkpKSB7CisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICAvLyBPT1BT
IQorICAgICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUg
PSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUsICcgJywgdmFyaWFibGVO
YW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIpOwogICAgICAgICAgICAgICAgIGF1dG8mIGVudW1l
cmF0aW9uRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihk
b3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZmllZFJldHVyblR5cGUpKTsKQEAgLTE3MywxNyAr
MTc4LDI5IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIg
PSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2YXJpYWJsZU5hbWUs
ICIpO1xuIik7CisgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpO1xuIik7
CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1l
dGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpIik7CiAKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCisgICAgICAgIC8vIE9PUFM6IEkgdGhpbmsgd2UgY2FuIGp1c3Qg
TVNMIG9wZXJhdG9ycyBub3cuLi4uCiAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNN
YXRyaXhUeXBlKHJldHVyblR5cGUpKSB7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBhcmdzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKKworICAgICAgICAgICAgLy8gT09QUzog
dGVzdCB0aGlzCisKKyAgICAgICAgICAgIC8qCiAgICAgICAgICAgICB1bnNpZ25lZCBudW1Sb3dz
ID0gbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhSb3dzKCk7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBudW1Db2x1bW5zID0gbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7CiAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gbnVtUm93cyB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93cyAqIG51bUNvbHVtbnMpOwotCiAgICAgICAgICAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogCiAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICcg
JywgdmFyaWFibGVOYW1lLCAiO1xuIik7CkBAIC0yMDcsMjY4ICsyMjQsMjg1IEBAIHZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgdmFy
aWFibGVOYW1lLCAiO1xuIik7CisgICAgICAgICAgICAqLwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gIiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIigiKTsKKyAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBpZiAoaSkK
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICB9Ci0gICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcp
Jyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtlIGEgc3Ry
dWN0IGZpZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJzIGZvciB0
aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVuZ3RoIikgewotICAgICAgICBBU1NF
UlRfVU5VU0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCksIGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRv
JiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJhbWV0ZXJU
eXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0gICAgICAg
ICAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4o
dW5uYW1lZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0
ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1l
ZFBhcmFtZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtcbiIpOwor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvL0FTU0VSVF9V
TlVTRUQoaW50cmluc2ljcywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUo
KSwgaW50cmluc2ljcy51aW50VHlwZSgpKSk7CisgICAgICAgIC8vQVNTRVJUKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKKyAgICAgICAgLy9hdXRv
JiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7CisgICAgICAgIC8vYXV0byYgdW5uYW1lZFBhcmFtZXRl
clR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKKyAgICAg
ICAgLy9pZiAoaXM8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSkgeworICAg
ICAgICAvLyAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5
VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpOworICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFy
cmF5UGFyYW1ldGVyVHlwZS5udW1FbGVtZW50cygpLCAiO1xuIik7CisgICAgICAgIC8vICAgIHJl
dHVybjsKKyAgICAgICAgLy99CisKKyAgICAgICAgLy9BU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVy
ZW5jZVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCisgICAgICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICIubGVuZ3RoO1xuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3IuIl9zdHIp
KSB7Ci0gICAgICAgIGF1dG8gYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZSA9IFsmXSAoY29uc3QgU3Ry
aW5nJiBmaWVsZE5hbWUpIHsKLSAgICAgICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwot
ICAgICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVu
aWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihu
YW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9
IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAg
ICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5k
KGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOwot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBBU1NFUlQoaXM8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoZmllbGROYW1lKTsKLSAgICAgICAgfTsKLQotICAgICAgICBpZiAobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkgewotICAgICAgICAgICAgQVNT
RVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsK
LSAgICAgICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5u
YW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBm
aWVsZE5hbWUgPSBmaWVsZE5hbWUuc3Vic3RyaW5nKDAsIGZpZWxkTmFtZS5sZW5ndGgoKSAtIDEp
OwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICcuJyk7Ci0gICAgICAgICAgICBhcHBlbmRNYW5nbGVkRmll
bGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0g
IiwgYXJnc1sxXSwgIjtcbiIpOwotCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQot
ICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIubGVuZ3RoKCkpOwotICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICcuJyk7Ci0gICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmll
bGROYW1lKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOworICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvL2F1dG8gYXBwZW5kTWFuZ2xl
ZEZpZWxkTmFtZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKKyAgICAgICAgLy8g
ICAgYXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7CisgICAgICAgIC8vICAgIGF1dG8mIG5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOworICAgICAgICAvLyAgICBp
ZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7CisgICAgICAgIC8v
ICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1
cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOworICAgICAgICAvLyAgICAgICAgYXV0byogc3RydWN0
dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOworICAgICAg
ICAvLyAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICAvLyAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxl
bWVudCgqc3RydWN0dXJlRWxlbWVudCkpOworICAgICAgICAvLyAgICAgICAgcmV0dXJuOworICAg
ICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4obmFtZWRUeXBlKSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGZpZWxkTmFtZSk7CisgICAgICAgIC8vfTsKKworICAgICAgICAvL2lmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKS5lbmRzV2l0aCgiPSIpKSB7CisgICAgICAgIC8vICAgIEFTU0VS
VChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Cisg
ICAgICAgIC8vICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5u
YW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7CisgICAgICAgIC8vICAg
IGZpZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJzdHJpbmcoMCwgZmllbGROYW1lLmxlbmd0aCgpIC0g
MSk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8vICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIiwKKyAgICAgICAg
Ly8gICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgJy4nKTsKKyAgICAgICAgLy8gICAgYXBwZW5k
TWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOworICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOworCisgICAgICAgIC8vICAgIHJldHVybjsK
KyAgICAgICAgLy99CisKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8gZmllbGROYW1lID0g
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0
ci5sZW5ndGgoKSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8v
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7CisgICAgICAgIC8v
YXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOworICAgICAgICAvL3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCI7XG4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvciYuIl9zdHIp
KSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVuZ3RoKCkpOwor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJn
c1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7CisgICAgICAgIC8vQVNTRVJUKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKKyAgICAgICAgLy9h
dXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmlu
Zygib3BlcmF0b3ImLiJfc3RyLmxlbmd0aCgpKTsKIAotICAgICAgICBhdXRvJiB1bm5hbWVkVHlw
ZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwot
ICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPih1bm5h
bWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0byYgbmFtZWRU
eXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgIGlmIChp
czxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAgICAgICAgIGF1
dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRp
b24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3Ry
dWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBBU1NFUlQoc3Ry
dWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0g
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1l
KTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7CisK
KyAgICAgICAgLy9hdXRvJiB1bm5hbWVkVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOworICAgICAgICAvL2F1dG8mIHVuaWZ5Tm9kZSA9IGRv
d25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKS5lbGVtZW50VHlwZSgpLnVuaWZ5
Tm9kZSgpOworICAgICAgICAvL2F1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRU
eXBlPih1bmlmeU5vZGUpOworICAgICAgICAvL2lmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRp
b24+KG5hbWVkVHlwZSkpIHsKKyAgICAgICAgLy8gICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlv
biA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKKyAgICAg
ICAgLy8gICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmlu
ZChmaWVsZE5hbWUpOworICAgICAgICAvLyAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Cisg
ICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKKyAgICAgICAgLy99IGVsc2UK
KyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKIAotICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IG51bGxwdHI7XG4iKTsKKyAgICAgICAgLy9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiKSA6IG51bGxwdHI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVy
YXRvciZbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZl
cmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5
cGUoKSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gKCIsIGFyZ3NbMV0sICIgPCAiLCBhcmdzWzBdLCAiLmxlbmd0aCkgPyAiLCAiICYoIiwgYXJn
c1swXSwgIi5wb2ludGVyWyIsIGFyZ3NbMV0sICJdKSA6IG51bGxwdHI7XG4iKTsKKyAgICAgICAg
Ly9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDIpOworICAgICAgICAvL0FTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKKworICAgICAg
ICAvL3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICBpbmRlbnQsIHJldHVybk5h
bWUsICIgPSAoIiwgYXJnc1sxXSwgIiA8ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigi
LCBhcmdzWzBdLCAiLnBvaW50ZXJbIiwgYXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIpOwogICAg
ICAgICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHZlY3RvclNpemUg
PSBbJl0gKCkgLT4gdW5zaWduZWQgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93
bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHZlY3RvclR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
Pihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlw
ZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUu
bmFtZSgpID09ICJ2ZWN0b3IiKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUudHlwZUFyZ3Vt
ZW50cygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3Rh
bnRFeHByZXNzaW9uPih2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVy
YWwoKS52YWx1ZSgpOwotICAgIH07Ci0KLSAgICBhdXRvIGdldE1hdHJpeFR5cGUgPSBbJl0gKCkg
LT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVy
ZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBhdXRvJiByZXN1bHQgPSBk
b3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVm
ZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29s
dmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHJlc3Vs
dC5pc01hdHJpeCgpKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OworICAgIC8vYXV0
byB2ZWN0b3JTaXplID0gWyZdICgpIC0+IHVuc2lnbmVkIHsKKyAgICAvLyAgICBhdXRvJiB0eXBl
UmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7CisgICAgLy8gICAgYXV0byYgdmVj
dG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxB
U1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZl
cmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOworICAgIC8vICAg
IEFTU0VSVCh2ZWN0b3JUeXBlLm5hbWUoKSA9PSAidmVjdG9yIik7CisgICAgLy8gICAgQVNTRVJU
KHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpLnNpemUoKSA9PSAyKTsKKyAgICAvLyAgICByZXR1
cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3Vt
ZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7CisgICAgLy99OworCisgICAgLy9h
dXRvIGdldE1hdHJpeFR5cGUgPSBbJl0gKCkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IHsKKyAgICAvLyAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVm
ZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUo
KSk7CisgICAgLy8gICAgYXV0byYgcmVzdWx0ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBl
RGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZl
ZFR5cGUoKSk7CisgICAgLy8gICAgQVNTRVJUKHJlc3VsdC5pc01hdHJpeCgpKTsKKyAgICAvLyAg
ICByZXR1cm4gcmVzdWx0OworICAgIC8vfTsKIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgYXV0
byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBzaXpl
X3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
Pihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRp
b24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkp
LnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRzID09
IDMpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIHVuc2lnbmVkIG51
bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAg
ICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJP
Zk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1
cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgi
LCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUs
ICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICJdO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzFdID0gIiwgYXJnc1swXSwgJ1snLCBh
cmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzLCAiXTtcbiIpOwotCi0gICAgICAgICAgICAgICAg
aWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0s
ICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChu
dW1iZXJPZkNvbHVtbnMgPj0gNCkKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAicmVzdWx0WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsg
IiwgbnVtYmVyT2ZSb3dzICogMywgIl07XG4iKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOworICAgICAgICAvL2F1
dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAgICAgLy9z
aXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7CisgICAgICAgIC8vaWYgKG51bVR5cGVBcmd1bWVu
dHMgPT0gMykgeworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwor
CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5u
dW1iZXJPZk1hdHJpeFJvd3MoKTsKKyAgICAgICAgLy8gICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1
bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICAv
LyAgICAKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIEluZGVudGF0aW9uU2NvcGUg
c2NvcGUoaW5kZW50KTsKKworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
CisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgcmVzdWx0
O1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+
PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50
LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAor
ICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisgICAgICAgIC8v
ICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICJdO1xuIiwKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3Nb
MV0sICIgKyAiLCBudW1iZXJPZlJvd3MsICJdO1xuIik7CisKKyAgICAgICAgLy8gICAgICAgIGlm
IChudW1iZXJPZkNvbHVtbnMgPj0gMykKKyAgICAgICAgLy8gICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0s
ICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOworICAgICAgICAvLyAgICAgICAgaWYg
KG51bWJlck9mQ29sdW1ucyA+PSA0KQorICAgICAgICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFszXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwg
IiArICIsIG51bWJlck9mUm93cyAqIDMsICJdO1xuIik7CiAgICAgCi0gICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGls
ZSAoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50
cyA9IHZlY3RvclNpemUoKTsKLQotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlw
ZSgpKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1FbGVt
ZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVy
bk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBd
LCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1
cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9Cisg
ICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSByZXN1bHQ7XG4iKTsKKyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKKyAgICAgICAgLy99IGVsc2UgeworICAg
ICAgICAvLyAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOworICAgICAg
ICAvLyAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKKworICAgICAgICAv
LyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCisgICAgICAgIC8vICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOworICAgICAgICAvLyAgICB7CisgICAg
ICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAgIC8v
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRl
bnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAorICAgICAgICAvLyAgICAgICAgICAg
IGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAor
ICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwg
bWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICIgICAgYnJlYWs7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCisg
ICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0ID0gIiwgYXJnc1swXSwgIlsiLCBh
cmdzWzFdLCAiXTtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gcmVzdWx0O1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSAoMCk7XG4iKTsKKyAgICAgICAgLy99CiAK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVu
Y2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1
bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJl
bmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRz
KCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAg
ICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
OwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCku
bnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVt
bnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sx
XSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51bWJl
ck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJl
dHVybk5hbWUsICIgPSBtO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1sy
XSwgIlsxXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykK
LSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsg
IiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0gICAgICAg
ICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAi
XSA9ICIsIGFyZ3NbMl0sICJbM107XG4iKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBtO1xuIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0g
d2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0KLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAg
ICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVu
c2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgdiA9
ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFy
YW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSB2O1xuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAidltpXSA9ICIsIGFy
Z3NbMl0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSB2O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0KKyAgICAgICAgLy9hdXRvJiB0
eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7CisgICAgICAgIC8vc2l6ZV90
IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9u
Pih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50
eXBlQXJndW1lbnRzKCkuc2l6ZSgpOworICAgICAgICAvL2lmIChudW1UeXBlQXJndW1lbnRzID09
IDMpIHsKKyAgICAgICAgLy8gICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSA9PSAzKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFBhcmFtZXRl
cjJOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7CisgICAgICAgIC8vICAgIGF1dG8gbWV0
YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgdW5zaWduZWQgbnVtYmVyT2ZS
b3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAgICAvLyAg
ICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRy
aXhDb2x1bW5zKCk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAiZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIEluZGVudGF0
aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUs
ICIgbSA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwg
bWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCisgICAgICAgIC8v
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAor
ICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gbTtc
biIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKKyAgICAg
ICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGlu
ZGVudCwgIm1baV0gPSAiLCBhcmdzWzJdLCAiWzBdO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1syXSwgIlsxXTtc
biIpOworICAgICAgICAvLyAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQorICAgICAg
ICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51
bWJlck9mUm93cyAqIDIsICJdID0gIiwgYXJnc1syXSwgIlsyXTtcbiIpOworICAgICAgICAvLyAg
ICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQorICAgICAgICAvLyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDMsICJd
ID0gIiwgYXJnc1syXSwgIlszXTtcbiIpOworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gbTtcbiIpOworICAgICAgICAvLyAgICB9
CisgICAgICAgIC8vICAgIAorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ9IHdoaWxlKDApO1xuIik7CisgICAgICAgIC8vfSBlbHNlIHsKKyAgICAgICAgLy8gICAg
UkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKKworICAgICAgICAvLyAgICBB
U1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMp
OworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsx
XS0+dHlwZSgpKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsK
KworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKKwor
ICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKKyAg
ICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShp
bmRlbnQpOworCisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAg
ICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwgYXJnc1sw
XSwgIjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJO
YW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRl
bnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKKyAgICAgICAgLy8gICAgICAg
ICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAorICAgICAgICAvLyAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisgICAgICAgIC8vICAgICAgICAgICAg
aW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwg
YXJnc1syXSwgIjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gdjtcbiIpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgLy99CiAKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLmlz
T3BlcmF0b3IoKSkgewogICAgICAgICBhdXRvIG9wZXJhdG9yTmFtZSA9IG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IiX3N0ci5sZW5ndGgoKSk7Ci0g
ICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisgICAgICAgIC8vYXV0byBtZXRh
bFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpKTsKKwogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBt
YXRyaXhUeXBlID0gYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KSkgewotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIp
OwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29w
ZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHgg
PSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIG9wZXJhdG9yTmFtZSwgInhbaV07XG4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgb3BlcmF0b3JO
YW1lLCAieDtcbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IC8vIFRoaXMgaXMgb2sgdG8gZG8gc2luY2UgdGhlIGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBhcmUg
YWxsIHRlbXBzLgorICAgICAgICAgICAgLy8gU28gKysgaXMgIkEgT0siLgorICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnLCBvcGVyYXRvck5hbWUsIGFyZ3NbMF0sICcpJyk7CisK
KyAgICAgICAgICAgIC8vaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7CisgICAgICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKKyAgICAgICAgICAgIC8vICAgIHsKKyAgICAg
ICAgICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAg
ICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAvLyAgICAg
ICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBhcmdzWzBdLCAiO1xuIiwK
KyAgICAgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB4LnNpemUoKTsgKytpKVxuIiwKKyAgICAgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAi
ICAgIHhbaV0gPSAiLCBvcGVyYXRvck5hbWUsICJ4W2ldO1xuIiwKKyAgICAgICAgICAgIC8vICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgLy8g
ICAgfQorICAgICAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxu
Iik7CisgICAgICAgICAgICAvL30gZWxzZSB7CisgICAgICAgICAgICAvLyAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKKyAgICAgICAgICAgIC8vICAgIHsKKyAgICAgICAg
ICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAgICAg
ICAvLyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAvLyAgICAgICAg
ICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBhcmdzWzBdLCAiO1xuIiwKKyAg
ICAgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgb3BlcmF0
b3JOYW1lLCAieDtcbiIpOworICAgICAgICAgICAgLy8gICAgfQorICAgICAgICAgICAgLy8gICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAvL30KICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIC8qCiAgICAgICAgIEFTU0VS
VChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAg
ICAgICAgIGlmIChhdXRvKiBsZWZ0TWF0cml4ID0gYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSkgewogICAgICAgICAgICAgaWYg
KGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKSkgewpAQCAtNTE3LDYgKzU1MSwxMCBAQCB2b2lk
IGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAi
LCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiO1xuIik7CiAgICAg
ICAgIH0KKyAgICAgICAgKi8KKworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAg
ICAgICAgICcoJywgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJykn
KTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTQ4LDc1ICs1ODYsODEgQEAgdm9pZCBp
bmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICB8fCBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAibGVuZ3RoIikgewogICAgICAgICBBU1NFUlQobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICIsIG1hcEZ1bmN0aW9uTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSks
ICcoJywgYXJnc1swXSwgIik7XG4iKTsKKyAgICAgICAgICAgIG1hcEZ1bmN0aW9uTmFtZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSksICcoJywgYXJnc1swXSwgJyknKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSA9PSAicG93IiB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiYXRh
bjIiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCksICIoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIik7XG4iKTsKKyAgICAgICAg
ICAgIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLCAnKCcsIGFyZ3NbMF0sICIsICIs
IGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImNsYW1wIikgewogICAgICAgICBBU1NFUlQo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAg
ICAgICBpZiAoYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkg
ewotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKSBcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gY2xhbXAoIiwgYXJnc1swXSwg
IltpXSwgIiwgYXJnc1sxXSwgIltpXSwgIiwgYXJnc1syXSwgIltpXSk7IiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdz
WzFdLCAiLCAiLCBhcmdzWzJdLCAiKTtcbiIpOwotICAgICAgICB9CisKKyAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAiY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgIiwgYXJnc1syXSwgJyknKTsKKworICAgICAgICAvLyBPT1BTOiB0ZXN0IHcvIG1h
dHJpY2VzLgorICAgICAgICAvL2lmIChhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi50eXBlKCkpKSB7CisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUo
KSk7CisgICAgICAgIC8vICAgIAorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKKyAgICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50
YXRpb25TY29wZSBzY29wZShpbmRlbnQpOworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUs
ICIgeDtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9
IDA7IGkgPCB4LnNpemUoKTsgKytpKSBcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50
LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAiW2ldLCAi
LCBhcmdzWzJdLCAiW2ldKTsiLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgLy99IGVsc2UgeworICAgICAg
ICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwg
cmV0dXJuTmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFy
Z3NbMl0sICIpO1xuIik7CisgICAgICAgIC8vfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJBbGxNZW1vcnlCYXJy
aWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjpt
ZW1fZGV2aWNlKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVy
KG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpO1xuIik7CisgICAgICAg
ICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIiwKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIs
CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJl
KSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsK
ICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVu
dCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKTtcbiIpOworICAg
ICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAg
ICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7
CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iKTsKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIkludGVybG9ja2VkIl9zdHIpKSB7CiAgICAgICAgIGlm
IChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiSW50ZXJsb2NrZWRDb21wYXJl
RXhjaGFuZ2UiKSB7CiAgICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDQpOworICAgICAgICAgICAgLy8gT09QUzogUG9pbnRl
cnM/IElzIHRoaXMgZXZlbiBwb3NzaWJsZT8KICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgImF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dl
YWtfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIs
IG1lbW9yeV9vcmRlcl9yZWxheGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iLAotICAgICAg
ICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwor
ICAgICAgICAgICAgICAgICIoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVy
X3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSwgIiwKKyAgICAgICAgICAgICAgICAnKics
IGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAzKTsKICAgICAgICAgYXV0byBuYW1lID0gYXRvbWljTmFtZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIkludGVybG9ja2VkIl9zdHIu
bGVuZ3RoKCkpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsICcqJywgYXJnc1syXSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFy
Z3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAg
ICAgICAgICAgJyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwg
YXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTYzMCw3ICs2NzQsNyBAQCB2b2lkIGlubGluZU5hdGl2
ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3Ro
ID0gdmVjdG9yTGVuZ3RoKHJldHVyblR5cGUpOwogCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5z
YW1wbGUoIiwgYXJnc1sxXSwgIiwgIik7CisgICAgICAgICAgICBhcmdzWzBdLCAiLnNhbXBsZSgi
LCBhcmdzWzFdLCAiLCAiKTsKIAogICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJy
YXkoKSkgewogICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBA
IC02NDIsMTQgKzY4NiwxNiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIik7CiAgICAgICAgIGlmICghdGV4
dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIuIiwgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJMb2Fk
IikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDIpOworICAgICAgICAvLyBPT1BTCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIAorICAgICAgICAvKgogICAgICAgICBhdXRvJiB0ZXh0
dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxB
U1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgbG9jYXRpb25UeXBlID0gZG93
bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
PihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlm
eU5vZGUoKSkpOwogICAgICAgICBhdXRvIGxvY2F0aW9uVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVu
Z3RoKGxvY2F0aW9uVHlwZSk7CkBAIC03MTcsNiArNzYzLDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVG
dW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IjtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
In0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgKi8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtNzI0LDE4ICs3NzEsMjEgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJgogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAibG9hZCIp
IHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
LnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBd
LCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAgICAgICJhdG9taWNfbG9h
ZF9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSA9PSAic3RvcmUiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3Nb
MF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAg
ICAgICAgImF0b21pY19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAi
LCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR2V0RGltZW5zaW9ucyIp
IHsKKyAgICAgICAgLy8gT09QUzogV2UgZG9uJ3QgaGF2ZSBwb2ludGVycywgd2hhdCB0byBkbyBo
ZXJlPworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvKgog
ICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKIAogICAgICAgICBzaXpl
X3QgaW5kZXggPSAxOwpAQCAtNzk5LDYgKzg0OSw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKm51bWJl
ck9mTGV2ZWxzTmFtZSwgIilcbiIsCiAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCAq
bnVtYmVyT2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfbnVtX21pcF9sZXZlbHMo
KTtcbiIpOwogICAgICAgICB9CisgICAgICAgICovCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTgzOSw2ICs4OTAsMTAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJgogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJTdG9y
ZSIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAzKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KworICAgICAgICAvLyBPT1BTCisgICAgICAgIC8qCiAgICAgICAgIAogICAgICAgICBhdXRvJiB0
ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2Fz
dDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgaXRlbVR5cGUgPSBkb3du
Y2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5
Tm9kZSgpKSk7CkBAIC04OTYsNiArOTUxLDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihT
dHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsK
ICAgICAgICAgfQogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxl
KDApO1xuIik7CisgICAgICAgICovCiAKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rp
b25Xcml0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHJldmlzaW9uIDI0OTAyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
RnVuY3Rpb25Xcml0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3Bh
Y2UgTWV0YWwgewogCiBjbGFzcyBUeXBlTmFtZXI7CiAKLXZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIE1hbmds
ZWRWYXJpYWJsZU5hbWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5h
bWU+JiBhcmd1bWVudE5hbWVzLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgc3RkOjpmdW5jdGlv
bjxNYW5nbGVkVmFyaWFibGVOYW1lKCk+JiYsIEluZGVudGF0aW9uPDQ+KTsKK3ZvaWQgaW5saW5l
TmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbiYsIGNvbnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywg
SW50cmluc2ljcyYsIFR5cGVOYW1lciYsIEluZGVudGF0aW9uPDQ+KTsKIAogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVX
cml0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlw
ZVdyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNCw3ICsxMTQsMTEgQEAgU3RyaW5nIHdy
aXRlTmF0aXZlVHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZQogICAgICAgICBhdXRvJiBpbnRlZ2VyTGl0
ZXJhbDIgPSBjb25zdGFudEV4cHJlc3Npb24yLmludGVnZXJMaXRlcmFsKCk7CiAgICAgICAgIHVu
c2lnbmVkIGNvbHVtbnMgPSBpbnRlZ2VyTGl0ZXJhbDIudmFsdWUoKTsKICAgICAgICAgQVNTRVJU
KGNvbHVtbnMgPT0gMiB8fCBjb2x1bW5zID09IDMgfHwgY29sdW1ucyA9PSA0KTsKLSAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PCIsIHByZWZpeCwgIiwgIiwgY29sdW1ucyAqIHJvd3Ms
ICI+Iik7CisgICAgICAgIC8vUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
Ly8gT09QUzogbWFrZSBNU0wgbWF0cml4IG5vdworICAgICAgICAvLyBPT1BTOiB0aGV5J3JlIHN0
YXRpYyBhc3NlcnRpbmcgbWF0cmljZXMgdXNlIGZsb2F0aW5nIHBvaW50IG51bXMuIFdURiEKKyAg
ICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm1hdHJpeDwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMs
ICIsICIsIHJvd3MsICIsIGJvb2w+Iik7CisgICAgICAgIC8vcmV0dXJuIG1ha2VTdHJpbmcoImFy
cmF5PCIsIHByZWZpeCwgIiwgIiwgY29sdW1ucyAqIHJvd3MsICI+Iik7CiAgICAgfQogICAgIEFT
U0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLnNpemUoKSA9PSAxKTsK
ICAgICBBU1NFUlQoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8QVNUOjpUeXBlUmVmZXJlbmNl
Pj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVswXSkpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04MzEwLDYgKzgzMTAsNyBAQAogCQk1MUZCNjdE
QTFBRTZCNUU0MDBEMDZDNUEgLyogQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxMzFFNUExQzRGMTU2MTAwMzNGODAyIC8q
IFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxNTg2MkMyMjkzNzdCNzAwNTkyNUVGIC8qIFdITFNMQVNU
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQVNULmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUyMjU2Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXSExTTE5hbWVTcGFjZS5oOyBwYXRoID0gQVNUL1dITFNMTmFtZVNwYWNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMkJBQjk2MjJFNkEzNjIwMEM1NENFOSAvKiBX
SExTTENvZGVMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTENvZGVMb2NhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJEMDdBMzIyRkJBQjQzMDBCOTA1QkUgLyog
V0hMU0xFeHByZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMRXhwcmVzc2lvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMkRBM0QzMjI5RTFEMzkwMDQyRDE1
MSAvKiBXSExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNM
R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTI1NTMyLDYgKzI1NTMzLDcgQEAKIAkJCQlDMjEwRTkxMjIxQjRCRDEwMDBCN0Y4M0QgLyogV0hM
U0xMZXhlci5oICovLAogCQkJCTFDQTBDMkVDMjFFRUQ2RjYwMEExMTg2MCAvKiBXSExTTExpdGVy
YWxUeXBlQ2hlY2tlci5jcHAgKi8sCiAJCQkJMUNBMEMyRUEyMUVFRDZGNTAwQTExODYwIC8qIFdI
TFNMTGl0ZXJhbFR5cGVDaGVja2VyLmggKi8sCisJCQkJNTIyNTZDQUEyMzBGMTRBRDAwNDNFMTJG
IC8qIFdITFNMTmFtZVNwYWNlLmggKi8sCiAJCQkJQzIzNEE5OEQyMUU4ODg4NDAwM0M5ODREIC8q
IFdITFNMTmFtZUNvbnRleHQuY3BwICovLAogCQkJCUMyMzRBOThFMjFFODg4ODUwMDNDOTg0RCAv
KiBXSExTTE5hbWVDb250ZXh0LmggKi8sCiAJCQkJQzIzNEE5OEEyMUU4ODgzRTAwM0M5ODREIC8q
IFdITFNMTmFtZVJlc29sdmVyLmNwcCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0
ZVBpcGVsaW5lTWV0YWwubW0JKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQkod29y
a2luZyBjb3B5KQpAQCAtOTMsMTAgKzkzLDEwIEBAIHN0YXRpYyBPcHRpb25hbDxXSExTTDo6Q29t
cHV0ZURpbWVuc2lvbnMKICAgICAgICAgaWYgKFdITFNMOjpkdW1wTWV0YWxDb21waWxlVGltZXMp
CiAgICAgICAgICAgICBkYXRhTG9nTG4oIk1ldGFsIGNvbXBpbGUgdGltZXM6ICIsIChNb25vdG9u
aWNUaW1lOjpub3coKSAtIHN0YXJ0VGltZSkubWlsbGlzZWNvbmRzKCksICIgbXMiKTsKICAgICAg
ICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSNpZm5kZWYgTkRFQlVHCisvLyNpZm5kZWYg
TkRFQlVHCiAgICAgICAgIGlmICghY29tcHV0ZUxpYnJhcnkpCiAgICAgICAgICAgICBOU0xvZyhA
IiVAIiwgZXJyb3IpOwotI2VuZGlmCisvLyNlbmRpZgogICAgICAgICBBU1NFUlQoY29tcHV0ZUxp
YnJhcnkpOwogICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTc3MSBPbmNlIHdlIHplcm8tZmlsbCB2YXJpYWJsZXMsIHRoZXJlIHNob3Vs
ZCBiZSBubyB3YXJuaW5ncywgc28gd2Ugc2hvdWxkIGJlIGFibGUgdG8gQVNTRVJUKCFlcnJvcikg
aGVyZS4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377312</attachid>
            <date>2019-08-26 19:55:38 -0700</date>
            <delta_ts>2019-08-26 22:10:28 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>107377</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTAyOSw3ICsxMDQ4LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExNzAsMTQ0ICsxMTg5LDk2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFsZWZ0QWRkcmVzc1NwYWNlICYmICF0aHJl
YWRBbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYSB0aHJl
YWQgYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIC8vIE9PUFM6IFdl
IG5lZWQgdG8gbWF0Y2ggc3dpenpsZSArIHNpbmdsZSBlbGVtZW50IGZ1bmN0aW9ucyB0byBtYWtl
IHN1cmUgdGhleSdyZSByZWFsIHByb3BlcnR5IG5hbWVzIQorICAgICAgICBpZiAoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKS5sZW5ndGgoKSA9PSAxKSB7CisgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4
cHJlc3Npb24sICpiYXNlVW5uYW1lZFR5cGUuZ2V0KCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAg
ICAgICAgfQogICAgIH0KK30KIAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRl
ckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEg
dGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAg
ICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYm
ICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0g
ICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0
Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5
cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBl
eHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdl
dHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4g
dHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBp
ZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1
bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJS
ZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmlu
Z1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVy
cm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHBy
ZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRl
clJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRl
clJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZp
bmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3Vt
ZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5k
KCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJO
YW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBp
ZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5v
ZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVu
Y2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lv
biwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJy
YXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+
dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1Zl
Y3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwg
bmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dz
KCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29s
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJU
eXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRl
eEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVG
b3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Np
b24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAg
ICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQot
Ci0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEg
Y29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVh
ZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJG
dW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVB
bm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NT
cGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAg
ICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFT
VDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9u
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0
aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29u
Y3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBX
VEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4
cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
JiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJ
bmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5m
bykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwg
JmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9t
YmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wg
ewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBz
b21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdo
IHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2
YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBw
cm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJ
U0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmll
RmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRy
aW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3Np
emUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5
cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtMTI0LDYg
KzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFsyXTsKICAg
ICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9y
U2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1f
dmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBt
YXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1QgaWYgdGhleSBhcmUgdW51c2VkLgogICAg
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiogZGR4KCkgY29uc3QKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJlcGFyZS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLWNvbnN0ZXhw
ciBib29sIGR1bXBNZXRhbENvbXBpbGVUaW1lcyA9IGZhbHNlOworY29uc3RleHByIGJvb2wgZHVt
cE1ldGFsQ29tcGlsZVRpbWVzID0gdHJ1ZTsKIAogVW5pcXVlUmVmPFNoYWRlck1vZHVsZT4gY3Jl
YXRlU2hhZGVyTW9kdWxlKGNvbnN0IFN0cmluZyYgd2hsc2xTb3VyY2UpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJvcGVydHlSZXNvbHZlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDYgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ug
V0hMU0wgewogCisvKgorCiBjbGFzcyBQcm9wZXJ0eVJlc29sdmVyIDogcHVibGljIFZpc2l0b3Ig
ewogcHVibGljOgogcHJpdmF0ZToKQEAgLTgyOCw2ICs4MzAsMTEgQEAgdm9pZCByZXNvbHZlUHJv
cGVydGllcyhQcm9ncmFtJiBwcm9ncmFtKQogewogICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNp
dG9yOjp2aXNpdChwcm9ncmFtKTsKIH0KKyovCisKK3ZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJv
Z3JhbSYpCit7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGli
cmFyeUZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25z
LmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMjMgKzUxLDYgQEAgcHVibGljOgogICAgICAgICAgICAgdmlz
aXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0
aW9uKCkpKTsKICAgICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uJiBleHByZXNzaW9uKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgYXV0byB2aXNpdEZ1
bmN0aW9uID0gWyZdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGZ1bmN0aW9uKSB7Ci0gICAg
ICAgICAgICBpZiAoIWZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9uKSkKLSAgICAgICAg
ICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9u
KSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLmdldHRl
ckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uYW5kZXJGdW5j
dGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnRocmVhZEFuZGVyRnVu
Y3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlv
bigpKTsKLQotICAgICAgICBWaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKLSAgICB9Ci0KICAg
ICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gdGFrZVJlYWNoYWJsZUZ1bmN0aW9u
cygpIHsgcmV0dXJuIFdURk1vdmUobV9yZWFjaGFibGVGdW5jdGlvbnMpOyB9CiAKIHByaXZhdGU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJk
TGlicmFyeVV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCShyZXZpc2lv
biAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0
YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDE0ICs2Niw2
IEBAIHByaXZhdGU6CiAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsKICAg
ICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBtX2Z1bmN0aW9u
TmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKSk7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dHRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIFZpc2l0b3I6
OnZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxT
dHJpbmc+IG1fZnVuY3Rpb25OYW1lczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0
aW9uRnVuY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTUgKzU2LDYgQEAgRXhwZWN0
ZWQ8dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVFbnVtZXJhdAogICAgICAgICAgICAgYXV0byB2YXJp
YWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+
KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxv
Y2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0
cik7CiAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAg
ICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpB
dHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlw
ZSgpLCAib3BlcmF0b3IudmFsdWUiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwg
aXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwotICAgICAgICAgICAg
aWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVh
dGUgb3BlcmF0b3IudmFsdWUgZm9yIGVudW0gdHlwZS4iKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBB
U1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiks
IFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLSAgICAgICAgICAgIEFTVDo6VmFyaWFibGVE
ZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdU
Rk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwogICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwg
ZW51bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvciBjYXN0Il9zdHIsIFdURk1v
dmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFy
ZExpYnJhcnkpKTsKICAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIGNvcHkgY29uc3RydWN0b3IgZm9yIGVudW0gdHlw
ZS4iKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xEb3RFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNz
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAgICA6
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihsb2NhdGlvbiwgS2luZDo6RG90LCBXVEZNb3ZlKGJh
c2UpKQogICAgICAgICAsIG1fZmllbGROYW1lKFdURk1vdmUoZmllbGROYW1lKSkKICAgICB7Cisg
ICAgICAgIFVOVVNFRF9QQVJBTShtX3BhZGRpbmcpOwogICAgIH0KIAogICAgIH5Eb3RFeHByZXNz
aW9uKCkgPSBkZWZhdWx0OwpAQCAtNTIsMjUgKzUzLDExIEBAIHB1YmxpYzoKICAgICBEb3RFeHBy
ZXNzaW9uKGNvbnN0IERvdEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBEb3RFeHByZXNzaW9u
KERvdEV4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9u
TmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3Iu
IiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1f
ZmllbGROYW1lLCAiPSIpOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3ImLiIsIG1f
ZmllbGROYW1lKTsKLSAgICB9Ci0KICAgICBTdHJpbmcmIGZpZWxkTmFtZSgpIHsgcmV0dXJuIG1f
ZmllbGROYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZmllbGROYW1lOworICAgIGNo
YXIgbV9wYWRkaW5nWzEyXTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
RXhwcmVzc2lvbi5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjgsMzMgKzE2OCw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYg
ZXgKICAgICB9CiB9CiAKLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkK
LSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5j
dGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAg
IHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5h
bWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAg
IGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxE
b3RFeHByZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPElu
ZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHBy
ZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5k
ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhp
cykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5kZXJG
dW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAg
ICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9u
TmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIEFTVAogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhF
eHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MiwyMSArNTIsNiBAQCBwdWJsaWM6CiAgICAgSW5kZXhFeHByZXNzaW9uKGNvbnN0IEluZGV4
RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIEluZGV4RXhwcmVzc2lvbihJbmRleEV4cHJlc3Np
b24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW10iX3N0cjsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAi
b3BlcmF0b3JbXT0iX3N0cjsKLSAgICB9Ci0KLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvciZbXSJfc3RyOwotICAgIH0K
LQogICAgIEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbigpIHsgcmV0dXJuIG1faW5kZXg7IH0K
ICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUluZGV4KCkgeyByZXR1cm4gV1RGTW92ZSht
X2luZGV4KTsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24u
aAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2
LDExICs4NiwyOSBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0
cml4Um93cygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAg
ICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOwogICAgIH0KICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeENvbHVtbnMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lv
bigyKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigxKTsKKyAgICB9CisKKyAgICBU
eXBlUmVmZXJlbmNlJiB2ZWN0b3JUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KGlzVmVjdG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVy
ZW5jZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CisgICAgfQorCisgICAgdW5zaWduZWQgdmVjdG9y
U2l6ZSgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVy
biBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odHlwZUFyZ3VtZW50cygpWzFdKS5p
bnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7CisgICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgbWF0
cml4VHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc01hdHJpeCgpKTsKKyAg
ICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1l
bnRzKClbMF0pOwogICAgIH0KIAogICAgIHZvaWQgc2V0SXNJbnQoKSB7IG1faXNJbnQgPSB0cnVl
OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQ
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAg
U3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsK
LQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9n
ZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24o
KSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0
aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0g
ICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRl
ckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFy
YXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9
IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5j
dGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1
bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVy
RnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7
Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0g
ICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBz
ZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJG
dW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNl
OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4g
bV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4g
V1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+
IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVs
bHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBu
dWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51
bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xG
dW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw2ICs0MSw4IEBACiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisjaW5jbHVkZSA8d3RmL0RhdGFM
b2cuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewpAQCAtNjMs
NyArNjUsNTAgQEAgc3RhdGljIHZvaWQgZGVjbGFyZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZQogICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CiB9CiAKK3N0cnVjdCBWYXJpYWJsZSB7Cisg
ICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuYW1lOworICAgIE1hbmdsZWRUeXBlTmFtZSB0eXBlOwor
fTsKKwogY2xhc3MgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyIDogcHVibGljIFZpc2l0b3Igewor
ICAgIGNsYXNzIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3RvciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAg
ICAgICAgcHVibGljOgorICAgICAgICBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IoRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAgICAgICAgICA6
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcihmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAg
ICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lv
biYgY2FsbEV4cHJlc3Npb24pIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVzLnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpKTsKKworICAgICAg
ICAgICAgZm9yIChhdXRvJiBhcmd1bWVudCA6IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpKSB7
CisgICAgICAgICAgICAgICAgYXV0byB0eXBlID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShhcmd1bWVudC0+cmVzb2x2ZWRUeXBlKCkpOwor
ICAgICAgICAgICAgICAgIGF1dG8gbmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVj
a2VkQXBwZW5kKFZhcmlhYmxlIHsgbmFtZSwgdHlwZSB9KTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgdG9Ib2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykp
OworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAg
IH0KKworICAgICAgICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYg
cmVhZE1vZGlmeVdyaXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8
VmFyaWFibGU+IHZhcmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFi
bGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCks
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
KnJlYWRNb2RpZnlXcml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJp
YWJsZXMuYXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0p
OworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZh
cmlhYmxlcykpOworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUp
OworICAgICAgICB9CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVj
dG9yPFZhcmlhYmxlPj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3Mm
IGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25E
ZWNsYXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91
dCYgbGF5b3V0KQogICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAt
MTA0LDEwICsxNDksOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5M
aXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNz
aWdubWVudEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4
cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTIwOSw2ICsyNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
dW5zaWduZWQgbV92YXJpYWJsZUNvdW50IHsgMCB9OwogICAgIE9wdGlvbmFsPE1hbmdsZWRWYXJp
YWJsZU5hbWU+IG1fYnJlYWtPdXRPZkN1cnJlbnRMb29wRWFybHlWYXJpYWJsZTsKICAgICBJbmRl
bnRhdGlvbjw0PiBtX2luZGVudCB7IDAgfTsKKyAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbios
IFZlY3RvcjxWYXJpYWJsZT4+IG1faG9pc3RlZFZhcmlhYmxlczsKIH07CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24m
KQpAQCAtMjE4LDYgKzI2MywxMyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZ1bmN0
aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQogeworCisgICAgeworICAgICAgICBI
b2lzdGVkVmFyaWFibGVDb2xsZWN0b3IgY29sbGVjdG9yKCp0aGlzKTsKKyAgICAgICAgY29sbGVj
dG9yLlZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbik7CisgICAgICAgIG1faG9pc3Rl
ZFZhcmlhYmxlcyA9IFdURk1vdmUoY29sbGVjdG9yLnRvSG9pc3QpOworICAgIH0KKwogICAgIGF1
dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24p
OwogICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAg
aWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsNiArMjkw
LDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAg
ICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25E
ZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFt
ZXRlclZhcmlhYmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJl
c3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkg
eworICAgICAgICAgICAgICAgIGZvciAoYXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAg
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFibGUudHlw
ZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAiO1xuIik7CisgICAgICAgICAgICB9CisKICAgICAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7CiAgICAg
ICAgICAgICBBU1NFUlQobV9zdGFjay5pc0VtcHR5KCkpOwogICAgICAgICB9CkBAIC0yNDgsMTYg
KzMwNiwyNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24u
cGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIg
PSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkp
CiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRk
KCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5
cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
e1xuIik7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgdmVjdG9yIDogbV9ob2lzdGVkVmFyaWFi
bGVzLnZhbHVlcygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gdmFyaWFibGUgOiB2ZWN0b3Ip
CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFi
bGUudHlwZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAiO1xuIik7CisgICAgICAgIH0KKwogICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG4iKTsKICAgICAgICAgQVNTRVJUKG1fc3RhY2su
aXNFbXB0eSgpKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKICAgICB9
CkBAIC0zMDksOCArMzc1LDEwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RWZmZWN0
ZnVsRXhwcmVzc2lvblN0YXRlbWVudCYgZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCkKIHsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsKICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudC5lZmZlY3RmdWxFeHByZXNzaW9uKCkp
OwotICAgIHRha2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVudCBpcyBhbHJlYWR5IGVmZmVj
dGZ1bCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3aXRoIHRoZSByZXN1bHQuCisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CisgICAgLy90YWtlTGFzdFZhbHVlKCk7
IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3RmdWwsIHNvIHdlIGRvbid0IG5lZWQg
dG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM5OCwxMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25k
aXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29u
ZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VM
YXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVh
aztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICs0MjAsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3Jl
bWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBt
X3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVt
ZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFs
dWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlm
ICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNz
aW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIs
CisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0zOTAsMTIgKzQ2MSwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVt
ZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25h
bCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VM
YXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4i
KTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQor
CiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5
ICs0NzcsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAg
ICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0
dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgp
KSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
KSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1f
c3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsK
KyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1
aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVO
YW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVt
cFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9y
IChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00
NTQsMzAgKzUzMywyOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRl
cmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBp
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50
ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1
ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRU
eXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5h
bWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFs
LnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKIHsKKyAgICBVTlVTRURfUEFSQU0obnVs
bExpdGVyYWwpOworICAgIGJvb2wgYiA9IHRydWU7CisgICAgaWYgKGIpCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoKICAgICBhdXRvJiB1bmlmeU5vZGUgPSBu
dWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKICAgICBhdXRvJiB1bm5hbWVk
VHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CiAgICAgYm9vbCBp
c0FycmF5UmVmZXJlbmNlVHlwZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVk
VHlwZSk7CkBAIC00ODksMjQgKzU2NywyMSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJu
dWxscHRyO1xuIik7CiAgICAgYXBwZW5kUmlnaHRWYWx1ZShudWxsTGl0ZXJhbCwgdmFyaWFibGVO
YW1lKTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJs
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBl
TmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShib29sZWFuTGl0ZXJhbC5yZXNv
bHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xl
ZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRU
eXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwudmFsdWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIs
ICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShib29sZWFuTGl0ZXJhbCwgdmFyaWFibGVO
YW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVk
VHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2Ui
LCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpF
bnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkKIHsKICAg
ICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1lcmF0aW9uRGVmaW5pdGlvbigp
KTsKICAgICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1lcmF0aW9uRGVmaW5p
dGlvbigpKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlh
YmxlTmFtZSwgIiA9ICIsIG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1l
cmF0aW9uTWVtYmVyKCkpLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShlbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVy
YXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigp
KSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkV4cHJl
c3Npb24mIGV4cHJlc3Npb24pCkBAIC01MTQsNTAgKzU4OSw2NiBAQCB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgVmlzaXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7
CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJl
c3Npb24mIGRvdEV4cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBh
bHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uLCBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19Ci0KIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJiBnbG9iYWxWYXJpYWJs
ZVJlZmVyZW5jZSkKIHsKLSAgICBhdXRvIHZhbHVlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgIE1hbmdsZWRUeXBlTmFtZSBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBl
KCkpOwotCi0gICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJh
c2UoKSk7Ci0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBzdHJ1Y3RWYXJpYWJsZSA9IHRha2VMYXN0
VmFsdWUoKTsKLQogICAgIE1hbmdsZWRTdHJ1Y3R1cmVFbGVtZW50TmFtZSBtYW5nbGVkRmllbGRO
YW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KGdsb2JhbFZh
cmlhYmxlUmVmZXJlbmNlLnN0cnVjdEZpZWxkKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uu
YmFzZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLT4iLCBtYW5nbGVkRmllbGRO
YW1lKTsKK30KIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50
LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFsdWVOYW1lLCAiID0gIiwgc3RydWN0VmFyaWFibGUs
ICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsKK3ZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCit7CisgICAg
YXV0byYgdHlwZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9k
ZSgpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLCB2YWx1
ZU5hbWUsIHsgfSwgTnVsbGFiaWxpdHk6Ok5vdE51bGwsCi0gICAgICAgIFt0aGlzLCBtYW5nbGVk
VHlwZU5hbWUsIHN0cnVjdFZhcmlhYmxlLCBtYW5nbGVkRmllbGROYW1lXSB7Ci0gICAgICAgICAg
ICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAi
dGhyZWFkICIsIG1hbmdsZWRUeXBlTmFtZSwgIiogIiwgcG9pbnRlck5hbWUsICIgPSAmIiwgc3Ry
dWN0VmFyaWFibGUsICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsKLSAgICAgICAgICAg
IHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAgfSk7CisgICAgaWYgKGlzPEFTVDo6U3RydWN0
dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlv
biA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7CisgICAgICAgIGF1
dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAg
ICAgICAgYXV0byBlbGVtZW50TmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0
dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCk7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5i
YXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnROYW1l
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBTdHJpbmcgZWxlbWVudE5hbWUgPSBkb3RFeHByZXNz
aW9uLmZpZWxkTmFtZSgpOworICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT0gImxlbmd0aCIgJiYg
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlwZT4o
dHlwZSkgfHwgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSAmJiBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkuaXNWZWN0b3IoKSkpKSB7CisgICAg
ICAgICAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGgiKTsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChk
b3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwg
IikiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RF
eHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiLCAiLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkudmVjdG9y
U2l6ZSgpLCAiKSIpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgICAgICB9CisgICAgfQogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGlu
ZGV4RXhwcmVzc2lvbikKIHsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHku
Ci0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1w
bGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGluZGV4RXhwcmVzc2lvbiwgZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCkpOwotfQotCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbikKLXsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODgg
UmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOworICAgIGF1dG8mIHR5cGUgPSBpbmRleEV4cHJlc3Np
b24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpLnBvaW50ZXJbIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4
cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCddJyk7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCisgICAgICAg
IC8vIE9PUFM6IE1ha2UgbWF0cmljZXMgd29yayBzaW5jZSByZXR1cm5pbmcgYW4gTFZhbHVlIGFu
ZCB0aGUgbGF5b3V0IG9mIGl0IG1hdHRlcnMuCisgICAgfSBlbHNlIHsKKyAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCisgICAgfQogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xh
cmF0aW9uKQpAQCAtNTY4LDE0ICs2NTksMjMgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVAogICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNO
ZXdFbnRyeSk7CiAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjAgSW1wbGVtZW50IHF1YWxpZmllcnMuCiAgICAgaWYgKHZhcmlhYmxlRGVj
bGFyYXRpb24uaW5pdGlhbGl6ZXIoKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlhYmxlRGVjbGFy
YXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiKTsKICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCp2YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpOwotICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiO1xuIik7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNs
YXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHsgfTtcbiIpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVz
c2lvbiYgYXNzaWdubWVudEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3NpZ25tZW50RXhwcmVzc2lvbi5sZWZ0
KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIgPSAoIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHBy
ZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKKworICAg
IC8qCiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7
CiAgICAgYXV0byBbcG9pbnRlck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVl
KCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkp
OwpAQCAtNTg4LDExMyArNjg4LDE0NiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUCiAgICAgZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5k
ZW50LCAiKiIsIHBvaW50ZXJOYW1lLCAiID0gIiwgcmlnaHROYW1lLCAiO1xuIik7CiAgICAgYXBw
ZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShhc3NpZ25tZW50RXhwcmVzc2lvbiwgcmlnaHRO
YW1lLCByaWdodE51bGxhYmlsaXR5KTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7
CisgICAgYXV0byBpdGVyID0gbV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9u
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7
CisgICAgYXV0byYgYXJndW1lbnRWYXJpYWJsZXMgPSBpdGVyLT52YWx1ZTsKKyAgICBSRUxFQVNF
X0FTU0VSVChjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCkgPT0gYXJndW1lbnRWYXJp
YWJsZXMuc2l6ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnRO
YW1lczsKLSAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRz
KCkpIHsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJn
dW1lbnROYW1lcy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlz
Vm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2lj
cy52b2lkVHlwZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAg
aWYgKCFpc1ZvaWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAn
ICcsIHJldHVybk5hbWUsICI7XG4iKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5z
aXplKCk7ICsraSkgeworICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKGFyZ3VtZW50VmFy
aWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50
VmFyaWFibGVzW2ldLm5hbWUsICIgPSAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGNh
bGxFeHByZXNzaW9uLmFyZ3VtZW50cygpW2ldKTsKICAgICB9CiAKLSAgICBpZiAoaXM8QVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSkgewot
ICAgICAgICBhdXRvIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSA9IFt0aGlzXSgpIC0+IE1hbmds
ZWRWYXJpYWJsZU5hbWUgewotICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOwotICAgICAgICB9OworICAgIGlmIChjYWxsRXhwcmVzc2lvbi5hcmd1bWVu
dHMoKS5zaXplKCkpCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CiAKLSAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKLSAgICAgICAgaW5saW5lTmF0aXZl
RnVuY3Rpb24obV9zdHJpbmdCdWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpLCByZXR1cm5OYW1lLCBhcmd1bWVu
dE5hbWVzLCBtX2ludHJpbnNpY3MsIG1fdHlwZU5hbWVyLCBXVEZNb3ZlKGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSksIG1faW5kZW50KTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
XG4nKTsKKyAgICBpZiAoaXM8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhw
cmVzc2lvbi5mdW5jdGlvbigpKSkgeworICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0
cmluZ0J1aWxkZXIsIGRvd25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2Fs
bEV4cHJlc3Npb24uZnVuY3Rpb24oKSksIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90
eXBlTmFtZXIsIG1faW5kZW50KTsKICAgICB9IGVsc2UgewotICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50KTsKLQogICAgICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlv
bk1hcHBpbmcuZmluZCgmY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSk7CiAgICAgICAgIEFTU0VS
VChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7Ci0gICAgICAgIGlmICghaXNW
b2lkKQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyZXR1cm5OYW1lLCAiID0g
Iik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoaXRlcmF0b3ItPnZhbHVlLCAnKCcp
OwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50TmFtZXMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudFZhcmlhYmxlcy5z
aXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoYXJndW1lbnROYW1lc1tpXSk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KGFyZ3VtZW50VmFyaWFibGVzW2ldLm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOwogICAgIH0KIAotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVy
bk5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4
cHJlc3Npb24pCiB7Ci0gICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0Owor
ICAgIGlmICghY29tbWFFeHByZXNzaW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxv
Z0xuKCJFbXB0eSBjb21tYSEiKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KCcpOworICAgIGJvb2wgcmFuT25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lv
biA6IGNvbW1hRXhwcmVzc2lvbi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0g
dHJ1ZTsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICBy
ZXN1bHQgPSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAg
IGFwcGVuZFJpZ2h0VmFsdWUoY29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9u
JiBkZXJlZmVyZW5jZUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
KigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnBvaW50
ZXIoKSk7Ci0gICAgYXV0byBbaW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZh
bHVlQW5kTnVsbGFiaWxpdHkoKTsKLSAgICBhdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCk7Ci0gICAgYXV0byByZXN1bHRUeXBlID0gbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51
bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9
ICIsIGlucHV0UG9pbnRlciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0
VHlwZSwgInsgfTtcbiIpOwotICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCByZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsK
KyAgICAvL2F1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFu
ZE51bGxhYmlsaXR5KCk7CisgICAgLy9hdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lKCk7CisgICAgLy9hdXRvIHJlc3VsdFR5cGUgPSBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKKworICAg
IC8vaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKKyAgICAvLyAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgIC8vICAgICAgICBtX2luZGVudCwgcmVzdWx0
VHlwZSAsICcgJywgcmVzdWx0VmFsdWUsICIgPSAiLCBpbnB1dFBvaW50ZXIsICIgPyAiLCAnKics
IGlucHV0UG9pbnRlciwgIiA6ICIsIHJlc3VsdFR5cGUsICJ7IH07XG4iKTsKKyAgICAvL30gZWxz
ZQorICAgIC8vICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVl
LCAiID0gKiIsIGlucHV0UG9pbnRlciwgIjtcbiIpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxp
dHkpOworICAgIC8vYXBwZW5kTGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0
VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxpdHkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpMb2dpY2FsRXhwcmVzc2lvbiYgbG9naWNhbEV4cHJl
c3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKCgiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIGxlZnQgPSB0
YWtlTGFzdFZhbHVlKCk7Ci0gICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9u
LnJpZ2h0KCkpOwotICAgIGF1dG8gcmlnaHQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2
YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcpJyk7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICBtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxFeHByZXNz
aW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBsZWZ0KTsKICAg
ICBzd2l0Y2ggKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSkgewogICAgIGNhc2UgQVNUOjpMb2dp
Y2FsRXhwcmVzc2lvbjo6VHlwZTo6QW5kOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCIgJiYgIik7CiAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChs
b2dpY2FsRXhwcmVzc2lvbi50eXBlKCkgPT0gQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6
T3IpOworICAgIGNhc2UgQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3I6CiAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiB8fCAiKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQot
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmlnaHQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdo
dFZhbHVlKGxvZ2ljYWxFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworCisgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVz
c2lvbi5yaWdodCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOworCisKKyAg
ICAvL2NoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOworICAgIC8v
YXV0byBsZWZ0ID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIC8vY2hlY2tFcnJvckFuZFZpc2l0KGxv
Z2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIC8vYXV0byByaWdodCA9IHRha2VMYXN0VmFs
dWUoKTsKKyAgICAvL2F1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7CisKKyAgICAvL21fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgLy8gICAgbV9pbmRlbnQs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsRXhwcmVzc2lvbi5yZXNvbHZl
ZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbGVmdCk7CisgICAgLy9zd2l0Y2gg
KGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSkgeworICAgIC8vY2FzZSBBU1Q6OkxvZ2ljYWxFeHBy
ZXNzaW9uOjpUeXBlOjpBbmQ6CisgICAgLy8gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiICYm
ICIpOworICAgIC8vICAgIGJyZWFrOworICAgIC8vZGVmYXVsdDoKKyAgICAvLyAgICBBU1NFUlQo
bG9naWNhbEV4cHJlc3Npb24udHlwZSgpID09IEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6
Ok9yKTsKKyAgICAvLyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgfHwgIik7CisgICAgLy8g
ICAgYnJlYWs7CisgICAgLy99CisgICAgLy9tX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJpZ2h0LCAi
O1xuIik7CisgICAgLy9hcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxFeHByZXNzaW9uLCB2YXJpYWJs
ZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpM
b2dpY2FsTm90RXhwcmVzc2lvbiYgbG9naWNhbE5vdEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiISgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbE5v
dEV4cHJlc3Npb24ub3BlcmFuZCgpKTsKLSAgICBhdXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVl
KCk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KGxvZ2ljYWxOb3RFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSAhIiwgb3BlcmFuZCwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5v
dEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgLy9hdXRvIG9wZXJhbmQgPSB0YWtlTGFz
dFZhbHVlKCk7CisgICAgLy9hdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOworCisgICAgLy9tX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgIC8vICAgIG1faW5k
ZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNhbE5vdEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICEiLCBvcGVyYW5kLCAiO1xu
Iik7CisgICAgLy9hcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJs
ZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpN
YWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uJiBtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9u
KQogeworICAgIFVOVVNFRF9QQVJBTShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKTsKKyAg
ICBib29sIGIgPSB0cnVlOworICAgIGlmIChiKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIC8vIE9PUFMhCisgICAgLyoKICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6
IFRoaXMgbmVlZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNp
bmcgdGhlIGxhc3QgbGVmdFZhbHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODM4CkBAIC03MTQsMjUgKzg0Nyw2OCBAQCB2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7
ICIsIGxWYWx1ZSwgIiwgMSB9O1xuIik7CiAgICAgfQogICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFr
ZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICAqLwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlUG9pbnRlckV4cHJl
c3Npb24mIG1ha2VQb2ludGVyRXhwcmVzc2lvbikKIHsKKyAgICAvLyBPT1BTCisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50
ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0
eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5y
ZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIp
OwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNz
aW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6
OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRl
KQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQor
ICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2
YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0
IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFs
dWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJl
dHVybiB0aGUgcmVzdWx0CisgICAgICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJp
YWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9
IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+
dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1l
OworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sx
XS5uYW1lOworCisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xk
VmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZy
ZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9s
ZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlm
eVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwg
bmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9k
aWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9uKCkpOworCisgICAgLy8gT09QUzogZG9uJ3QgZXZh
bHVhdGUgbGVmdFZhbHVlIHR3aWNlIQorICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7
CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7
CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Np
b24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFy
eUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNhdGUoKSk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA/ICgiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVy
bmFyeUV4cHJlc3Npb24uYm9keUV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKSA6ICgiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24u
ZWxzZUV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworCisg
ICAgLyoKICAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24ucHJlZGljYXRl
KCkpOwogICAgIGF1dG8gY2hlY2sgPSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KHRlcm5hcnlFeHByZXNzaW9uLmJvZHlFeHByZXNzaW9uKCkpOwpAQCAtNzQzLDYgKzkx
OSw3IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBhdXRv
IHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh0
ZXJuYXJ5RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0g
IiwgY2hlY2ssICIgPyAiLCBib2R5LCAiIDogIiwgZWxzZUJvZHksICI7XG4iKTsKICAgICBhcHBl
bmRSaWdodFZhbHVlKHRlcm5hcnlFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgICovCiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKQEAgLTc1MiwxMyArOTI5LDcgQEAgdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIEFTU0VSVChpdGVyYXRvciAhPSBt
X3ZhcmlhYmxlTWFwcGluZy5lbmQoKSk7CiAKICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhcmlh
YmxlTmFtZSA9IGl0ZXJhdG9yLT52YWx1ZTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZSh2YXJpYWJs
ZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAg
ICAgICBbdGhpcywgJnZhcmlhYmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5hbWVdIHsKLSAgICAgICAg
ICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ0aHJlYWQgIiwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgp
KSwgIiogIiwgcG9pbnRlck5hbWUsICIgPSAmIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7Ci0gICAg
ICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQodmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OmVtaXRDb25zdGFudEV4cHJlc3Npb25TdHJpbmcoQVNUOjpDb25zdGFudEV4cHJlc3Np
b24mIGNvbnN0YW50RXhwcmVzc2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
RnVuY3Rpb25Xcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBzdGF0aWMgaW50IHZlY3Rvckxlbmd0aChB
U1Q6Ok5hdGl2ZVR5cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAorLyoKIHN0YXRp
YyBBU1Q6Ok5hbWVkVHlwZSYgdmVjdG9ySW5uZXJUeXBlKEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uJiBuYXRpdmVUeXBlRGVjbGFyYXRpb24pCiB7CiAgICAgaWYgKG5hdGl2ZVR5cGVEZWNsYXJh
dGlvbi50eXBlQXJndW1lbnRzKCkuaXNFbXB0eSgpKQpAQCAtMTE5LDggKzEyMCw5IEBAIHN0YXRp
YyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3QKICAgICAgICAgcmV0dXJuICI0IjsK
ICAgICB9CiB9CisqLwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBW
ZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJpbnNpY3Ms
IFR5cGVOYW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUo
KT4mJiBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVudCkKK3Zv
aWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgQVNU
OjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLCBj
b25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIC8qaW50
cmluc2ljcyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50YXRpb248ND4pCiB7CiAgICAg
YXV0byBhc01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5cGUmIHVubmFtZWRUeXBlKSAt
PiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAgICBhdXRvJiByZWFsVHlwZSA9
IHVubmFtZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDE5ICsxNDEsMjIgQEAgdm9pZCBpbmxp
bmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBhdXRvIG1ldGFsUmV0dXJu
VHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblR5cGUpOwogCiAg
ICAgICAgIGlmICghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
KSB7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSB7IH07XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0
dXJuVHlwZU5hbWUsICIgeyB9Iik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDEpIHsKICAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSAqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAgICAgIGF1dG8g
bWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFy
YW1ldGVyVHlwZSk7CisgICAgICAgICAgICAvL2F1dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1ldGVyVHlwZSk7CiAKICAgICAgICAg
ICAgIGF1dG8gaXNFbnVtZXJhdGlvbkRlZmluaXRpb24gPSBbXSAoYXV0byYgdHlwZSkgewogICAg
ICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpF
bnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih0eXBlKSk7CiAg
ICAgICAgICAgICB9OwogICAgICAgICAgICAgYXV0byYgdW5pZmllZFJldHVyblR5cGUgPSByZXR1
cm5UeXBlLnVuaWZ5Tm9kZSgpOwogICAgICAgICAgICAgaWYgKGlzRW51bWVyYXRpb25EZWZpbml0
aW9uKHVuaWZpZWRSZXR1cm5UeXBlKSAmJiAhaXNFbnVtZXJhdGlvbkRlZmluaXRpb24ocGFyYW1l
dGVyVHlwZS51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIC8vIE9PUFMhCisgICAgICAgICAgICAgICAg
LyoKICAgICAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpOwogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
bWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBhcmdzWzBd
LCAiO1xuIik7CiAgICAgICAgICAgICAgICAgYXV0byYgZW51bWVyYXRpb25EZWZpbml0aW9uID0g
ZG93bmNhc3Q8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRU
eXBlPih1bmlmaWVkUmV0dXJuVHlwZSkpOwpAQCAtMTczLDE3ICsxNzgsMjkgQEAgdm9pZCBpbmxp
bmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAifVxuIik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1l
dGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIHZhcmlhYmxlTmFtZSwgIik7XG4iKTsKKyAgICAgICAg
ICAgICAgICAqLwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWV0YWxS
ZXR1cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIik7XG4iKTsKKyAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwg
Ij4oIiwgYXJnc1swXSwgIikiKTsKIAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
KyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBjYW4ganVzdCBNU0wgb3BlcmF0b3JzIG5vdy4u
Li4KICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUocmV0dXJuVHlw
ZSkpIHsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5h
bWUsICcoJyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3Muc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoYXJnc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKScpOworCisgICAgICAgICAgICAvLyBPT1BTOiB0ZXN0IHRoaXMKKworICAgICAg
ICAgICAgLyoKICAgICAgICAgICAgIHVuc2lnbmVkIG51bVJvd3MgPSBtYXRyaXhUeXBlLT5udW1i
ZXJPZk1hdHJpeFJvd3MoKTsKICAgICAgICAgICAgIHVuc2lnbmVkIG51bUNvbHVtbnMgPSBtYXRy
aXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBudW1S
b3dzIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBu
dW1Sb3dzICogbnVtQ29sdW1ucyk7Ci0KICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICI7
XG4iKTsKQEAgLTIwNywyNjggKzIyNCwyODUgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihT
dHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsK
KyAgICAgICAgICAgICovCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJl
dHVyblR5cGVOYW1lLCAiKCIpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJl
dHVyblR5cGVOYW1lLCAnKCcpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgICAgIGlmIChpID4gMCkKKyAgICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoYXJnc1tpXSk7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7
XG4iKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1Y3QgZmllbGQgbmFtZWQgImxl
bmd0aCIgdG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRob3NlIHNob3VsZG4ndCB0YWtl
IHRoaXMgY29kZXBhdGguCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJvcGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoaW50cmluc2lj
cywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSwgaW50cmluc2ljcy51
aW50VHlwZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKTsKLSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6
OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlU
eXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIGFycmF5UGFy
YW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlw
ZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRlclR5cGUubnVtRWxlbWVudHMo
KSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpOwot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vQVNTRVJUX1VOVVNFRChpbnRyaW5zaWNzLCBt
YXRjaGVzKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpLCBpbnRyaW5zaWNzLnVpbnRU
eXBlKCkpKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8mIHBhcmFtZXRlclR5cGUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKTsKKyAgICAgICAgLy9hdXRvJiB1bm5hbWVkUGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFT
VDo6VW5uYW1lZFR5cGU+KHBhcmFtZXRlclR5cGUpOworICAgICAgICAvL2lmIChpczxBU1Q6OkFy
cmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7CisgICAgICAgIC8vICAgIGF1dG8mIGFy
cmF5UGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1l
dGVyVHlwZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAv
LyAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0ZXJUeXBlLm51
bUVsZW1lbnRzKCksICI7XG4iKTsKKyAgICAgICAgLy8gICAgcmV0dXJuOworICAgICAgICAvL30K
KworICAgICAgICAvL0FTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFBh
cmFtZXRlclR5cGUpKTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAg
Ly8gICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5sZW5ndGg7XG4iKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvci4iX3N0cikpIHsKLSAgICAgICAgYXV0byBh
cHBlbmRNYW5nbGVkRmllbGROYW1lID0gWyZdIChjb25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgewot
ICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgICAgICBhdXRvJiBu
YW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAg
ICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAg
ICAgICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1
Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgICAgIGF1dG8qIHN0cnVj
dHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVu
dCgqc3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
bmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUp
OwotICAgICAgICB9OwotCi0gICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKS5lbmRzV2l0aCgiPSIpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICAgICAgYXV0byBm
aWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9w
ZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFt
ZS5zdWJzdHJpbmcoMCwgZmllbGROYW1lLmxlbmd0aCgpIC0gMSk7Ci0KLSAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgJy4nKTsKLSAgICAgICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsK
LSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAiO1xuIik7
Ci0KLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAg
IGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3Ry
aW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJy4n
KTsKLSAgICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIC8vYXV0byBhcHBlbmRNYW5nbGVkRmllbGROYW1lID0gWyZdIChj
b25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgeworICAgICAgICAvLyAgICBhdXRvJiB1bmlmeU5vZGUg
PSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlm
eU5vZGUoKTsKKyAgICAgICAgLy8gICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CisgICAgICAgIC8vICAgIGlmIChpczxBU1Q6OlN0cnVjdHVy
ZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKKyAgICAgICAgLy8gICAgICAgIGF1dG8mIHN0cnVj
dHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVk
VHlwZSk7CisgICAgICAgIC8vICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0
dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7CisgICAgICAgIC8vICAgICAgICBBU1NFUlQo
c3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVt
ZW50KSk7CisgICAgICAgIC8vICAgICAgICByZXR1cm47CisgICAgICAgIC8vICAgIH0KKyAgICAg
ICAgLy8gICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUp
KTsKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKKyAgICAg
ICAgLy99OworCisgICAgICAgIC8vaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
LmVuZHNXaXRoKCI9IikpIHsKKyAgICAgICAgLy8gICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKKyAgICAgICAgLy8gICAgYXV0byBm
aWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9w
ZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKKyAgICAgICAgLy8gICAgZmllbGROYW1lID0gZmllbGRO
YW1lLnN1YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAxKTsKKworICAgICAgICAvLyAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAnLicpOworICAgICAgICAvLyAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZp
ZWxkTmFtZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdz
WzFdLCAiO1xuIik7CisKKyAgICAgICAgLy8gICAgcmV0dXJuOworICAgICAgICAvL30KKworICAg
ICAgICAvL0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gMSk7CisgICAgICAgIC8vYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKKyAgICAg
ICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gIiwgYXJnc1swXSwgJy4nKTsKKyAgICAgICAgLy9hcHBlbmRNYW5nbGVkRmllbGRO
YW1lKGZpZWxkTmFtZSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iX3N0cikpIHsKLSAgICAgICAgQVNTRVJU
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAg
ICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5z
dWJzdHJpbmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5ndGgoKSk7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdz
WzBdLCAiLT4iKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8gZmllbGROYW1lID0gbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIu
bGVuZ3RoKCkpOwogCi0gICAgICAgIGF1dG8mIHVubmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8mIHVuaWZ5
Tm9kZSA9IGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKS5lbGVtZW50VHlw
ZSgpLnVuaWZ5Tm9kZSgpOwotICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVm
aW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5p
dGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAg
ICAgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZp
bmQoZmllbGROYW1lKTsKLSAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0
cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOworICAgICAgICAvL3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAi
LCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKKworICAgICAgICAvL2F1dG8mIHVu
bmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50
eXBlKCk7CisgICAgICAgIC8vYXV0byYgdW5pZnlOb2RlID0gZG93bmNhc3Q8QVNUOjpQb2ludGVy
VHlwZT4odW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlOb2RlKCk7CisgICAgICAgIC8v
YXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Cisg
ICAgICAgIC8vaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewor
ICAgICAgICAvLyAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpT
dHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOworICAgICAgICAvLyAgICBhdXRvKiBzdHJ1
Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7CisgICAg
ICAgIC8vICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAgICAgICAgLy8gICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgq
c3RydWN0dXJlRWxlbWVudCkpOworICAgICAgICAvL30gZWxzZQorICAgICAgICAvLyAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOwogCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIpIDogbnVsbHB0cjtcbiIpOworICAgICAgICAvL3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIp
IDogbnVsbHB0cjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltdIikgewotICAgICAg
ICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDIpOwotICAgICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KCpuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7CisgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAoIiwgYXJnc1sxXSwgIiA8
ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigiLCBhcmdzWzBdLCAiLnBvaW50ZXJbIiwg
YXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIpOworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vQVNT
RVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOworCisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5h
cHBlbmQoCisgICAgICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICgiLCBhcmdzWzFd
LCAiIDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAmKCIsIGFyZ3NbMF0sICIucG9pbnRl
clsiLCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7CiAgICAgICAgICAgICAKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gdmVjdG9yU2l6ZSA9IFsmXSAoKSAtPiB1bnNpZ25l
ZCB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZl
cmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgp
KTsKLSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlw
ZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2
ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS5uYW1lKCkgPT0gInZlY3RvciIp
OwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDIp
OwotICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3Rv
clR5cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7Ci0gICAg
fTsKLQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9IGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFT
VDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSku
cmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOwotICAg
ICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07CisgICAgLy9hdXRvIHZlY3RvclNpemUgPSBbJl0g
KCkgLT4gdW5zaWduZWQgeworICAgIC8vICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2Fz
dDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpKTsKKyAgICAvLyAgICBhdXRvJiB2ZWN0b3JUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4o
ZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUo
KSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSk7CisgICAgLy8gICAgQVNTRVJUKHZlY3RvclR5cGUu
bmFtZSgpID09ICJ2ZWN0b3IiKTsKKyAgICAvLyAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJn
dW1lbnRzKCkuc2l6ZSgpID09IDIpOworICAgIC8vICAgIHJldHVybiBXVEY6OmdldDxBU1Q6OkNv
bnN0YW50RXhwcmVzc2lvbj4odmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJM
aXRlcmFsKCkudmFsdWUoKTsKKyAgICAvL307CisKKyAgICAvL2F1dG8gZ2V0TWF0cml4VHlwZSA9
IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgeworICAgIC8vICAgIGF1dG8m
IHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAvLyAgICBhdXRv
JiByZXN1bHQgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8
QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVm
ZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKKyAgICAvLyAg
ICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOworICAgIC8vICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgLy99OwogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJv
cGVyYXRvcltdIikgewotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0g
ZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRz
ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlw
ZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5y
ZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNp
emUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVBcmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAg
YXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0
cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVt
YmVyT2ZDb2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJk
byB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgcmVzdWx0O1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIgPj0gIiwg
bnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
IiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAg
IGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9
ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJyZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1i
ZXJPZlJvd3MsICJdO1xuIik7Ci0KLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5z
ID49IDMpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
InJlc3VsdFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93
cyAqIDIsICJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0
KQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1
bHRbM10gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAz
LCAiXTtcbiIpOworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vYXV0byYgdHlwZVJlZmVyZW5jZSA9
IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpWzBdLT50eXBlKCkpOworICAgICAgICAvL3NpemVfdCBudW1UeXBlQXJndW1l
bnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6
VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5j
ZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygp
LnNpemUoKTsKKyAgICAgICAgLy9pZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7CisgICAgICAg
IC8vICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgdW5z
aWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygp
OworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBl
KCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7CisgICAgICAgIC8vICAgIAorICAgICAgICAvLyAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKKyAgICAgICAgLy8gICAg
eworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOworCisg
ICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAorICAgICAgICAvLyAg
ICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywg
Iikge1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFt
ZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCisgICAgICAgIC8vICAgICAgICAg
ICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICJ9XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9ICIsIGFy
Z3NbMF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVu
dCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9m
Um93cywgIl07XG4iKTsKKworICAgICAgICAvLyAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+
PSAzKQorICAgICAgICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
InJlc3VsdFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93
cyAqIDIsICJdO1xuIik7CisgICAgICAgIC8vICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49
IDQpCisgICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
cmVzdWx0WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dz
ICogMywgIl07XG4iKTsKICAgICAKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9
PSAyKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwot
Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFs
UmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBi
cmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgInJlc3VsdCA9ICIsIGFyZ3NbMF0sICJbIiwgYXJnc1sxXSwgIl07
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7
XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIn0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0KKyAgICAgICAgLy8gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOwor
ICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdo
aWxlICgwKTtcbiIpOworICAgICAgICAvL30gZWxzZSB7CisgICAgICAgIC8vICAgIFJFTEVBU0Vf
QVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51
bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOworCisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxSZXR1
cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCAiZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgLy8gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1l
LCAiIHJlc3VsdDtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFy
Z3NbMV0sICIgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAg
ICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIo
MCk7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisg
ICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKKyAg
ICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsK
KyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ9IHdoaWxlICgwKTtcbiIpOworICAgICAgICAvL30KIAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVy
YXRvcltdPSIpIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6
VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCkpOwotICAgICAgICBzaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRv
d25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkp
LnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAg
IGlmIChudW1UeXBlQXJndW1lbnRzID09IDMpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAg
ICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVu
c2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3Mo
KTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUo
KS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
SW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5O
YW1lLCAiIG0gPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCBtZXRhbFBhcmFtZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IG07XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJt
W2ldID0gIiwgYXJnc1syXSwgIlswXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
Im1baSArICIsIG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7Ci0gICAg
ICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAy
LCAiXSA9ICIsIGFyZ3NbMl0sICJbMl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVy
T2ZDb2x1bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDMsICJdID0gIiwgYXJnc1syXSwgIlsz
XTtcbiIpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IG07XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50
cyA9PSAyKTsKLQotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0
ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0byBtZXRh
bFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMg
PSB2ZWN0b3JTaXplKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9u
U2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIAotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwgYXJnc1swXSwgIjtcbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0g
IiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49
ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgIiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJnc1syXSwgIjtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUo
MCk7XG4iKTsKLSAgICAgICAgfQorICAgICAgICAvL2F1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3du
Y2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAgICAgLy9zaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVS
ZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVz
b2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXpl
KCk7CisgICAgICAgIC8vaWYgKG51bVR5cGVBcmd1bWVudHMgPT0gMykgeworICAgICAgICAvLyAg
ICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDMpOworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVsxXS0+dHlwZSgpKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKKworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBl
KCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bWJlck9m
Q29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKKworICAg
ICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKKyAgICAg
ICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRl
bnQpOworCisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwg
IjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1l
LCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICJpZiAoaSA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAg
ICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwKKyAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGlu
ZGVudCwgIn1cbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFy
Z3NbMl0sICJbMF07XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIm1baSArICIs
IG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7CisgICAgICAgIC8vICAg
ICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCisgICAgICAgIC8vICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl0g
PSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7CisgICAgICAgIC8vICAgICAgICBpZiAobnVtYmVyT2ZD
b2x1bW5zID49IDQpCisgICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl0gPSAiLCBhcmdzWzJdLCAiWzNd
O1xuIik7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSBtO1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgCisg
ICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4i
KTsKKyAgICAgICAgLy99IGVsc2UgeworICAgICAgICAvLyAgICBSRUxFQVNFX0FTU0VSVChudW1U
eXBlQXJndW1lbnRzID09IDIpOworCisgICAgICAgIC8vICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7CisgICAgICAgIC8vICAgIGF1
dG8gbWV0YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOworICAgICAg
ICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCisgICAgICAgIC8vICAgIHVu
c2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOworCisgICAgICAgIC8vICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOworICAgICAgICAvLyAgICB7CisgICAg
ICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisKKyAgICAgICAg
Ly8gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGlu
ZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHYgPSAiLCBhcmdzWzBdLCAiO1xuIiwKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3Nb
MV0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51
bUVsZW1lbnRzLCAiKSB7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAi
LCByZXR1cm5OYW1lLCAiID0gdjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAi
ICAgIGJyZWFrO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAorICAg
ICAgICAvLyAgICAgICAgICAgIGluZGVudCwgInZbaV0gPSAiLCBhcmdzWzJdLCAiO1xuIiwKKyAg
ICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2O1xuIik7CisgICAg
ICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fSB3aGlsZSgwKTtcbiIpOworICAgICAgICAvL30KIAogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7CiAgICAg
ICAgIGF1dG8gb3BlcmF0b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCku
c3Vic3RyaW5nKCJvcGVyYXRvciJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBtZXRhbFJl
dHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgLy9hdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
OworCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJp
eFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4i
LAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0
dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gVGhpcyBpcyBvayB0byBk
byBzaW5jZSB0aGUgYXJncyB0byB0aGlzIGZ1bmN0aW9uIGFyZSBhbGwgdGVtcHMuCisgICAgICAg
ICAgICAvLyBTbyArKyBpcyAiQSBPSyIuCisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcsIG9wZXJhdG9yTmFtZSwgYXJnc1swXSwgJyknKTsKKworICAgICAgICAgICAgLy9pZiAo
YXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnR5cGUoKSkpIHsKKyAgICAgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIntcbiIpOworICAgICAgICAgICAgLy8gICAgeworICAgICAgICAgICAgLy8gICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgICAgIC8vICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRh
bFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4i
LAorICAgICAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIG9wZXJh
dG9yTmFtZSwgInhbaV07XG4iLAorICAgICAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAvLyAgICB9CisgICAgICAgICAgICAv
LyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIC8v
fSBlbHNlIHsKKyAgICAgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
IntcbiIpOworICAgICAgICAgICAgLy8gICAgeworICAgICAgICAgICAgLy8gICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgICAgIC8vICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJl
dHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAgICAgLy8gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Cisg
ICAgICAgICAgICAvLyAgICB9CisgICAgICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIC8vfQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKKyAgICAgICAgLyoKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgaWYgKGF1dG8qIGxl
ZnRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcmlnaHRNYXRyaXgg
PSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFd
LT50eXBlKCkpKSB7CkBAIC01MTcsNiArNTUxLDEwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAogICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcgJywgb3Bl
cmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKICAgICAgICAgfQorICAgICAgICAqLwor
CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgJygnLCBhcmdzWzBd
LCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnKScpOwogCiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC01NDgsNzUgKzU4Niw4MSBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWFwRnVuY3Rpb25O
YW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAiKTtc
biIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJwb3ciIHx8IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJhdGFuMiIpIHsKICAgICAgICAgQVNT
RVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsK
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgIigiLCBhcmdz
WzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOworICAgICAgICAgICAgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgJyknKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIGlmIChhc01hdHJpeFR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICBhdXRv
IG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxS
ZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAi
W2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSB4O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0s
ICIpO1xuIik7Ci0gICAgICAgIH0KKworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAg
ICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJd
LCAnKScpOworCisgICAgICAgIC8vIE9PUFM6IHRlc3Qgdy8gbWF0cmljZXMuCisgICAgICAgIC8v
aWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAg
ICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgLy8gICAg
CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOworICAg
ICAgICAvLyAgICB7CisgICAgICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyAr
K2kpIFxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9IGNsYW1w
KCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIsIGFyZ3NbMl0sICJbaV0pOyIs
CisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOwor
ICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn1cbiIpOworICAgICAgICAvL30gZWxzZSB7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xh
bXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIik7XG4iKTsKKyAg
ICAgICAgLy99CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikg
ewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
LnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5k
ZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIiwKLSAg
ICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhy
ZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIo
bWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4iKTsKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9i
YXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiLAorICAgICAgICAgICAgInRocmVhZGdyb3Vw
X2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIiwKKyAgICAgICAgICAgICJ0aHJl
YWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
IkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFy
cmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIik7CisgICAgICAgICAgICAidGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdyb3Vw
TWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1l
bV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIpOworICAgICAgICAgICAgInRocmVhZGdyb3Vw
X2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRz
V2l0aCgiSW50ZXJsb2NrZWQiX3N0cikpIHsKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSIpIHsKICAgICAg
ICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gNCk7CisgICAgICAgICAgICAvLyBPT1BTOiBQb2ludGVycz8gSXMgdGhpcyBldmVuIHBv
c3NpYmxlPwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdz
WzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4
ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAn
KicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAgICAgICAgIihh
dG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICYiLCBh
cmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwgbWVtb3J5X29y
ZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywgYXJnc1szXSwgIiA9ICIsIGFy
Z3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBB
U1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMp
OwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5sZW5ndGgoKSkpOwogICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzJd
LCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sx
XSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAnKicsIGFyZ3Nb
Ml0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdz
WzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtNjMwLDcgKzY3NCw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVp
bGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgocmV0
dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAi
LCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIsIGFyZ3NbMV0sICIsICIpOwog
CiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CiAgICAgICAgICAg
ICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAgLTY0MiwxNCArNjg2LDE2IEBA
IHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4
dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi4iLCAieHl6dyJfc3Ry
LnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQiKSB7CiAgICAgICAgIEFTU0VS
VChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Cisg
ICAgICAgIC8vIE9PUFMKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICAgICAgCisgICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUo
KSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAg
IGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsK
QEAgLTcxNyw2ICs3NjMsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAgICAgIH0K
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwor
ICAgICAgICAqLwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MjQsMTggKzc3MSwyMSBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsb2FkIikgewogICAgICAgICBBU1NFUlQo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9y
ZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3Nb
MF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJzdG9yZSIpIHsK
ICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwg
IiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRvbWljX3N0b3Jl
X2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxh
eGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJHZXREaW1lbnNpb25zIikgeworICAgICAgICAvLyBPT1BT
OiBXZSBkb24ndCBoYXZlIHBvaW50ZXJzLCB3aGF0IHRvIGRvIGhlcmU/CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1
cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFT
VDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IDE7CkBAIC03
OTksNiArODQ5LDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgog
ICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiKVxu
IiwKICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpudW1iZXJPZkxldmVsc05hbWUs
ICIgPSAiLCBhcmdzWzBdLCAiLmdldF9udW1fbWlwX2xldmVscygpO1xuIik7CiAgICAgICAgIH0K
KyAgICAgICAgKi8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODM5LDYgKzg5MCwxMCBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIlN0b3JlIikgewogICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgICAgIC8vIE9PUFMK
KyAgICAgICAgLyoKICAgICAgICAgCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNh
c3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKSkpOwogICAgICAgICBhdXRvJiBpdGVtVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKQEAgLTg5Niw2
ICs5NTEsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAg
Ki8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0
aXZlRnVuY3Rpb25Xcml0ZXIuaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBNZXRhbCB7CiAKIGNsYXNz
IFR5cGVOYW1lcjsKIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwg
QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1
cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMs
IEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5h
bWUoKT4mJiwgSW5kZW50YXRpb248ND4pOwordm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJp
bmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgY29uc3QgVmVjdG9y
PE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVudE5hbWVzLCBJbnRyaW5zaWNzJiwgVHlwZU5h
bWVyJiwgSW5kZW50YXRpb248ND4pOwogCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRp
dmVUeXBlV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE0LDcgKzExNCwxMSBAQCBTdHJpbmcgd3JpdGVOYXRpdmVUeXBlKEFTVDo6
TmF0aXZlVHlwZURlCiAgICAgICAgIGF1dG8mIGludGVnZXJMaXRlcmFsMiA9IGNvbnN0YW50RXhw
cmVzc2lvbjIuaW50ZWdlckxpdGVyYWwoKTsKICAgICAgICAgdW5zaWduZWQgY29sdW1ucyA9IGlu
dGVnZXJMaXRlcmFsMi52YWx1ZSgpOwogICAgICAgICBBU1NFUlQoY29sdW1ucyA9PSAyIHx8IGNv
bHVtbnMgPT0gMyB8fCBjb2x1bW5zID09IDQpOwotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygi
YXJyYXk8IiwgcHJlZml4LCAiLCAiLCBjb2x1bW5zICogcm93cywgIj4iKTsKKyAgICAgICAgLy9S
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvLyBPT1BTOiBtYWtlIE1TTCBt
YXRyaXggbm93CisgICAgICAgIC8vIE9PUFM6IHRoZXkncmUgc3RhdGljIGFzc2VydGluZyBtYXRy
aWNlcyB1c2UgZmxvYXRpbmcgcG9pbnQgbnVtcy4gV1RGIQorICAgICAgICByZXR1cm4gbWFrZVN0
cmluZygibWF0cml4PCIsIHByZWZpeCwgIiwgIiwgY29sdW1ucywgIiwgIiwgcm93cywgIiwgYm9v
bD4iKTsKKyAgICAgICAgLy9yZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8IiwgcHJlZml4LCAiLCAi
LCBjb2x1bW5zICogcm93cywgIj4iKTsKICAgICB9CiAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwogICAgIEFTU0VSVChXVEY6Omhv
bGRzX2FsdGVybmF0aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+PihuYXRpdmVUeXBlRGVjbGFy
YXRpb24udHlwZUFyZ3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDg5NDIpCisrKyBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTgzMTAsNiArODMxMCw3IEBACiAJCTUxRkI2N0RBMUFFNkI1RTQwMEQwNkM1QSAv
KiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyogVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTIyNTZDQUEyMzBGMTRB
RDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdITFNMTmFtZVNw
YWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdITFNMQ29kZUxvY2F0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBXSExTTEV4cHJlc3Npb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUxIC8qIFdITFNMR2xvYmFsVmFy
aWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVy
ZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1MzIsNiArMjU1MzMsNyBA
QAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmggKi8sCiAJCQkJ
MUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcCAq
LywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNr
ZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3BhY2Uu
aCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5j
cHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFtZUNvbnRleHQu
aCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1lUmVzb2x2ZXIu
Y3BwICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29h
L0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05Mywx
MCArOTMsMTAgQEAgc3RhdGljIE9wdGlvbmFsPFdITFNMOjpDb21wdXRlRGltZW5zaW9ucwogICAg
ICAgICBpZiAoV0hMU0w6OmR1bXBNZXRhbENvbXBpbGVUaW1lcykKICAgICAgICAgICAgIGRhdGFM
b2dMbigiTWV0YWwgY29tcGlsZSB0aW1lczogIiwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3Rh
cnRUaW1lKS5taWxsaXNlY29uZHMoKSwgIiBtcyIpOwogICAgICAgICBFTkRfQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwotI2lmbmRlZiBOREVCVUcKKy8vI2lmbmRlZiBOREVCVUcKICAgICAgICAgaWYg
KCFjb21wdXRlTGlicmFyeSkKICAgICAgICAgICAgIE5TTG9nKEAiJUAiLCBlcnJvcik7Ci0jZW5k
aWYKKy8vI2VuZGlmCiAgICAgICAgIEFTU0VSVChjb21wdXRlTGlicmFyeSk7CiAgICAgICAgIC8v
IEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzcxIE9u
Y2Ugd2UgemVyby1maWxsIHZhcmlhYmxlcywgdGhlcmUgc2hvdWxkIGJlIG5vIHdhcm5pbmdzLCBz
byB3ZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWVycm9yKSBoZXJlLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377317</attachid>
            <date>2019-08-26 22:10:28 -0700</date>
            <delta_ts>2019-08-27 15:14:37 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>128222</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTAyOSw3ICsxMDQ4LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExNzAsMTQ0ICsxMTg5LDk2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFsZWZ0QWRkcmVzc1NwYWNlICYmICF0aHJl
YWRBbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYSB0aHJl
YWQgYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIC8vIE9PUFM6IFdl
IG5lZWQgdG8gbWF0Y2ggc3dpenpsZSArIHNpbmdsZSBlbGVtZW50IGZ1bmN0aW9ucyB0byBtYWtl
IHN1cmUgdGhleSdyZSByZWFsIHByb3BlcnR5IG5hbWVzIQorICAgICAgICBpZiAoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKS5sZW5ndGgoKSA9PSAxKSB7CisgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4
cHJlc3Npb24sICpiYXNlVW5uYW1lZFR5cGUuZ2V0KCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAg
ICAgICAgfQogICAgIH0KK30KIAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRl
ckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEg
dGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAg
ICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYm
ICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0g
ICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0
Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5
cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBl
eHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdl
dHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4g
dHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBp
ZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1
bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJS
ZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmlu
Z1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVy
cm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHBy
ZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRl
clJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRl
clJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZp
bmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3Vt
ZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5k
KCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJO
YW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBp
ZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5v
ZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVu
Y2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lv
biwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJy
YXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+
dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1Zl
Y3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwg
bmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dz
KCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29s
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJU
eXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRl
eEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVG
b3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Np
b24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAg
ICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQot
Ci0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEg
Y29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVh
ZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJG
dW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVB
bm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NT
cGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAg
ICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFT
VDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9u
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0
aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29u
Y3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBX
VEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4
cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
JiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJ
bmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5m
bykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwg
JmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9t
YmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wg
ewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBz
b21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdo
IHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2
YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBw
cm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJ
U0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmll
RmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRy
aW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3Np
emUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5
cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtMTI0LDYg
KzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFsyXTsKICAg
ICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9y
U2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1f
dmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBt
YXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1QgaWYgdGhleSBhcmUgdW51c2VkLgogICAg
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiogZGR4KCkgY29uc3QKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJlcGFyZS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLWNvbnN0ZXhw
ciBib29sIGR1bXBNZXRhbENvbXBpbGVUaW1lcyA9IGZhbHNlOworY29uc3RleHByIGJvb2wgZHVt
cE1ldGFsQ29tcGlsZVRpbWVzID0gdHJ1ZTsKIAogVW5pcXVlUmVmPFNoYWRlck1vZHVsZT4gY3Jl
YXRlU2hhZGVyTW9kdWxlKGNvbnN0IFN0cmluZyYgd2hsc2xTb3VyY2UpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJvcGVydHlSZXNvbHZlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDYgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ug
V0hMU0wgewogCisvKgorCiBjbGFzcyBQcm9wZXJ0eVJlc29sdmVyIDogcHVibGljIFZpc2l0b3Ig
ewogcHVibGljOgogcHJpdmF0ZToKQEAgLTgyOCw2ICs4MzAsMTEgQEAgdm9pZCByZXNvbHZlUHJv
cGVydGllcyhQcm9ncmFtJiBwcm9ncmFtKQogewogICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNp
dG9yOjp2aXNpdChwcm9ncmFtKTsKIH0KKyovCisKK3ZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJv
Z3JhbSYpCit7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGli
cmFyeUZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25z
LmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMjMgKzUxLDYgQEAgcHVibGljOgogICAgICAgICAgICAgdmlz
aXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0
aW9uKCkpKTsKICAgICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uJiBleHByZXNzaW9uKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgYXV0byB2aXNpdEZ1
bmN0aW9uID0gWyZdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGZ1bmN0aW9uKSB7Ci0gICAg
ICAgICAgICBpZiAoIWZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9uKSkKLSAgICAgICAg
ICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9u
KSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLmdldHRl
ckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uYW5kZXJGdW5j
dGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnRocmVhZEFuZGVyRnVu
Y3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlv
bigpKTsKLQotICAgICAgICBWaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKLSAgICB9Ci0KICAg
ICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gdGFrZVJlYWNoYWJsZUZ1bmN0aW9u
cygpIHsgcmV0dXJuIFdURk1vdmUobV9yZWFjaGFibGVGdW5jdGlvbnMpOyB9CiAKIHByaXZhdGU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJk
TGlicmFyeVV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCShyZXZpc2lv
biAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0
YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDE0ICs2Niw2
IEBAIHByaXZhdGU6CiAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsKICAg
ICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBtX2Z1bmN0aW9u
TmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKSk7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dHRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIFZpc2l0b3I6
OnZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxT
dHJpbmc+IG1fZnVuY3Rpb25OYW1lczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0
aW9uRnVuY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTUgKzU2LDYgQEAgRXhwZWN0
ZWQ8dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVFbnVtZXJhdAogICAgICAgICAgICAgYXV0byB2YXJp
YWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+
KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxv
Y2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0
cik7CiAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAg
ICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpB
dHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlw
ZSgpLCAib3BlcmF0b3IudmFsdWUiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwg
aXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwotICAgICAgICAgICAg
aWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVh
dGUgb3BlcmF0b3IudmFsdWUgZm9yIGVudW0gdHlwZS4iKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBB
U1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiks
IFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLSAgICAgICAgICAgIEFTVDo6VmFyaWFibGVE
ZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdU
Rk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwogICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwg
ZW51bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvciBjYXN0Il9zdHIsIFdURk1v
dmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFy
ZExpYnJhcnkpKTsKICAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIGNvcHkgY29uc3RydWN0b3IgZm9yIGVudW0gdHlw
ZS4iKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xEb3RFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNz
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAgICA6
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihsb2NhdGlvbiwgS2luZDo6RG90LCBXVEZNb3ZlKGJh
c2UpKQogICAgICAgICAsIG1fZmllbGROYW1lKFdURk1vdmUoZmllbGROYW1lKSkKICAgICB7Cisg
ICAgICAgIFVOVVNFRF9QQVJBTShtX3BhZGRpbmcpOwogICAgIH0KIAogICAgIH5Eb3RFeHByZXNz
aW9uKCkgPSBkZWZhdWx0OwpAQCAtNTIsMjUgKzUzLDExIEBAIHB1YmxpYzoKICAgICBEb3RFeHBy
ZXNzaW9uKGNvbnN0IERvdEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBEb3RFeHByZXNzaW9u
KERvdEV4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9u
TmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3Iu
IiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1f
ZmllbGROYW1lLCAiPSIpOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3ImLiIsIG1f
ZmllbGROYW1lKTsKLSAgICB9Ci0KICAgICBTdHJpbmcmIGZpZWxkTmFtZSgpIHsgcmV0dXJuIG1f
ZmllbGROYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZmllbGROYW1lOworICAgIGNo
YXIgbV9wYWRkaW5nWzEyXTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
RXhwcmVzc2lvbi5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjgsMzMgKzE2OCw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYg
ZXgKICAgICB9CiB9CiAKLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkK
LSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5j
dGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAg
IHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5h
bWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAg
IGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxE
b3RFeHByZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPElu
ZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHBy
ZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5k
ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhp
cykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5kZXJG
dW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAg
ICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9u
TmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIEFTVAogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhF
eHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MiwyMSArNTIsNiBAQCBwdWJsaWM6CiAgICAgSW5kZXhFeHByZXNzaW9uKGNvbnN0IEluZGV4
RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIEluZGV4RXhwcmVzc2lvbihJbmRleEV4cHJlc3Np
b24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW10iX3N0cjsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAi
b3BlcmF0b3JbXT0iX3N0cjsKLSAgICB9Ci0KLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvciZbXSJfc3RyOwotICAgIH0K
LQogICAgIEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbigpIHsgcmV0dXJuIG1faW5kZXg7IH0K
ICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUluZGV4KCkgeyByZXR1cm4gV1RGTW92ZSht
X2luZGV4KTsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24u
aAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2
LDExICs4NiwyOSBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0
cml4Um93cygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAg
ICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOwogICAgIH0KICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeENvbHVtbnMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lv
bigyKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigxKTsKKyAgICB9CisKKyAgICBU
eXBlUmVmZXJlbmNlJiB2ZWN0b3JUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KGlzVmVjdG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVy
ZW5jZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CisgICAgfQorCisgICAgdW5zaWduZWQgdmVjdG9y
U2l6ZSgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVy
biBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odHlwZUFyZ3VtZW50cygpWzFdKS5p
bnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7CisgICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgbWF0
cml4VHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc01hdHJpeCgpKTsKKyAg
ICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1l
bnRzKClbMF0pOwogICAgIH0KIAogICAgIHZvaWQgc2V0SXNJbnQoKSB7IG1faXNJbnQgPSB0cnVl
OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQ
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAg
U3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsK
LQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9n
ZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24o
KSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0
aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0g
ICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRl
ckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFy
YXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9
IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5j
dGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1
bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVy
RnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7
Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0g
ICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBz
ZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJG
dW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNl
OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4g
bV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4g
V1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+
IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVs
bHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBu
dWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51
bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xG
dW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw2ICs0MSw4IEBACiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisjaW5jbHVkZSA8d3RmL0RhdGFM
b2cuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewpAQCAtNjMs
NyArNjUsNTAgQEAgc3RhdGljIHZvaWQgZGVjbGFyZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZQogICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CiB9CiAKK3N0cnVjdCBWYXJpYWJsZSB7Cisg
ICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuYW1lOworICAgIE1hbmdsZWRUeXBlTmFtZSB0eXBlOwor
fTsKKwogY2xhc3MgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyIDogcHVibGljIFZpc2l0b3Igewor
ICAgIGNsYXNzIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3RvciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAg
ICAgICAgcHVibGljOgorICAgICAgICBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IoRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAgICAgICAgICA6
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcihmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAg
ICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lv
biYgY2FsbEV4cHJlc3Npb24pIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVzLnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpKTsKKworICAgICAg
ICAgICAgZm9yIChhdXRvJiBhcmd1bWVudCA6IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpKSB7
CisgICAgICAgICAgICAgICAgYXV0byB0eXBlID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShhcmd1bWVudC0+cmVzb2x2ZWRUeXBlKCkpOwor
ICAgICAgICAgICAgICAgIGF1dG8gbmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVj
a2VkQXBwZW5kKFZhcmlhYmxlIHsgbmFtZSwgdHlwZSB9KTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgdG9Ib2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykp
OworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAg
IH0KKworICAgICAgICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYg
cmVhZE1vZGlmeVdyaXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8
VmFyaWFibGU+IHZhcmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFi
bGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCks
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
KnJlYWRNb2RpZnlXcml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJp
YWJsZXMuYXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0p
OworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZh
cmlhYmxlcykpOworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUp
OworICAgICAgICB9CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVj
dG9yPFZhcmlhYmxlPj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3Mm
IGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25E
ZWNsYXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91
dCYgbGF5b3V0KQogICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAt
MTA0LDEwICsxNDksOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5M
aXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNz
aWdubWVudEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4
cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTIwOSw2ICsyNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
dW5zaWduZWQgbV92YXJpYWJsZUNvdW50IHsgMCB9OwogICAgIE9wdGlvbmFsPE1hbmdsZWRWYXJp
YWJsZU5hbWU+IG1fYnJlYWtPdXRPZkN1cnJlbnRMb29wRWFybHlWYXJpYWJsZTsKICAgICBJbmRl
bnRhdGlvbjw0PiBtX2luZGVudCB7IDAgfTsKKyAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbios
IFZlY3RvcjxWYXJpYWJsZT4+IG1faG9pc3RlZFZhcmlhYmxlczsKIH07CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24m
KQpAQCAtMjE4LDYgKzI2MywxMyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZ1bmN0
aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQogeworCisgICAgeworICAgICAgICBI
b2lzdGVkVmFyaWFibGVDb2xsZWN0b3IgY29sbGVjdG9yKCp0aGlzKTsKKyAgICAgICAgY29sbGVj
dG9yLlZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbik7CisgICAgICAgIG1faG9pc3Rl
ZFZhcmlhYmxlcyA9IFdURk1vdmUoY29sbGVjdG9yLnRvSG9pc3QpOworICAgIH0KKwogICAgIGF1
dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24p
OwogICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAg
aWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsNiArMjkw
LDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAg
ICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25E
ZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFt
ZXRlclZhcmlhYmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJl
c3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkg
eworICAgICAgICAgICAgICAgIGZvciAoYXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAg
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFibGUudHlw
ZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAiO1xuIik7CisgICAgICAgICAgICB9CisKICAgICAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7CiAgICAg
ICAgICAgICBBU1NFUlQobV9zdGFjay5pc0VtcHR5KCkpOwogICAgICAgICB9CkBAIC0yNDgsMTYg
KzMwNiwyNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24u
cGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIg
PSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkp
CiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRk
KCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5
cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
e1xuIik7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgdmVjdG9yIDogbV9ob2lzdGVkVmFyaWFi
bGVzLnZhbHVlcygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gdmFyaWFibGUgOiB2ZWN0b3Ip
CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFi
bGUudHlwZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAiO1xuIik7CisgICAgICAgIH0KKwogICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG4iKTsKICAgICAgICAgQVNTRVJUKG1fc3RhY2su
aXNFbXB0eSgpKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKICAgICB9
CkBAIC0zMDksOCArMzc1LDEwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RWZmZWN0
ZnVsRXhwcmVzc2lvblN0YXRlbWVudCYgZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCkKIHsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsKICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudC5lZmZlY3RmdWxFeHByZXNzaW9uKCkp
OwotICAgIHRha2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVudCBpcyBhbHJlYWR5IGVmZmVj
dGZ1bCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3aXRoIHRoZSByZXN1bHQuCisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CisgICAgLy90YWtlTGFzdFZhbHVlKCk7
IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3RmdWwsIHNvIHdlIGRvbid0IG5lZWQg
dG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM5OCwxMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25k
aXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29u
ZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VM
YXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVh
aztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICs0MjAsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3Jl
bWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBt
X3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVt
ZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFs
dWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlm
ICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNz
aW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIs
CisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0zOTAsMTIgKzQ2MSwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVt
ZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25h
bCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VM
YXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4i
KTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQor
CiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5
ICs0NzcsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAg
ICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0
dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgp
KSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
KSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1f
c3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsK
KyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1
aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVO
YW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVt
cFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9y
IChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00
NTQsMzAgKzUzMywyOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRl
cmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBp
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50
ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1
ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRU
eXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5h
bWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFs
LnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKIHsKKyAgICBVTlVTRURfUEFSQU0obnVs
bExpdGVyYWwpOworICAgIGJvb2wgYiA9IHRydWU7CisgICAgaWYgKGIpCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoKICAgICBhdXRvJiB1bmlmeU5vZGUgPSBu
dWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKICAgICBhdXRvJiB1bm5hbWVk
VHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CiAgICAgYm9vbCBp
c0FycmF5UmVmZXJlbmNlVHlwZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVk
VHlwZSk7CkBAIC00ODksMjQgKzU2NywyMSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJu
dWxscHRyO1xuIik7CiAgICAgYXBwZW5kUmlnaHRWYWx1ZShudWxsTGl0ZXJhbCwgdmFyaWFibGVO
YW1lKTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJs
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBl
TmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShib29sZWFuTGl0ZXJhbC5yZXNv
bHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xl
ZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRU
eXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwudmFsdWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIs
ICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShib29sZWFuTGl0ZXJhbCwgdmFyaWFibGVO
YW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVk
VHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2Ui
LCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpF
bnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkKIHsKICAg
ICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1lcmF0aW9uRGVmaW5pdGlvbigp
KTsKICAgICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1lcmF0aW9uRGVmaW5p
dGlvbigpKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlh
YmxlTmFtZSwgIiA9ICIsIG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVudW1l
cmF0aW9uTWVtYmVyKCkpLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShlbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVy
YXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigp
KSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkV4cHJl
c3Npb24mIGV4cHJlc3Npb24pCkBAIC01MTQsNTAgKzU4OSw4MCBAQCB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgVmlzaXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7
CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJl
c3Npb24mIGRvdEV4cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBh
bHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uLCBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19Ci0KIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJiBnbG9iYWxWYXJpYWJs
ZVJlZmVyZW5jZSkKIHsKLSAgICBhdXRvIHZhbHVlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgIE1hbmdsZWRUeXBlTmFtZSBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBl
KCkpOwotCi0gICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJh
c2UoKSk7Ci0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBzdHJ1Y3RWYXJpYWJsZSA9IHRha2VMYXN0
VmFsdWUoKTsKLQogICAgIE1hbmdsZWRTdHJ1Y3R1cmVFbGVtZW50TmFtZSBtYW5nbGVkRmllbGRO
YW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KGdsb2JhbFZh
cmlhYmxlUmVmZXJlbmNlLnN0cnVjdEZpZWxkKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uu
YmFzZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLT4iLCBtYW5nbGVkRmllbGRO
YW1lKTsKK30KIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50
LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFsdWVOYW1lLCAiID0gIiwgc3RydWN0VmFyaWFibGUs
ICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsKK3ZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCit7CisgICAg
YXV0byYgdHlwZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9k
ZSgpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLCB2YWx1
ZU5hbWUsIHsgfSwgTnVsbGFiaWxpdHk6Ok5vdE51bGwsCi0gICAgICAgIFt0aGlzLCBtYW5nbGVk
VHlwZU5hbWUsIHN0cnVjdFZhcmlhYmxlLCBtYW5nbGVkRmllbGROYW1lXSB7Ci0gICAgICAgICAg
ICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAi
dGhyZWFkICIsIG1hbmdsZWRUeXBlTmFtZSwgIiogIiwgcG9pbnRlck5hbWUsICIgPSAmIiwgc3Ry
dWN0VmFyaWFibGUsICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsKLSAgICAgICAgICAg
IHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAgfSk7CisgICAgaWYgKGlzPEFTVDo6U3RydWN0
dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlv
biA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7CisgICAgICAgIGF1
dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAg
ICAgICAgYXV0byBlbGVtZW50TmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0
dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCk7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5i
YXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnROYW1l
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBTdHJpbmcgZWxlbWVudE5hbWUgPSBkb3RFeHByZXNz
aW9uLmZpZWxkTmFtZSgpOworICAgICAgICBpZiAoZWxlbWVudE5hbWUgPT0gImxlbmd0aCIgJiYg
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlwZT4o
dHlwZSkgfHwgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSAmJiBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkuaXNWZWN0b3IoKSkpKSB7CisgICAg
ICAgICAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGgiKTsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChk
b3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwg
IikiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RF
eHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiLCAiLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkudmVjdG9y
U2l6ZSgpLCAiKSIpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgICAgICB9CisgICAgfQogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGlu
ZGV4RXhwcmVzc2lvbikKIHsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHku
Ci0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1w
bGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGluZGV4RXhwcmVzc2lvbiwgZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCkpOwotfQorICAgIGF1dG8mIHR5cGUgPSBpbmRleEV4cHJlc3Np
b24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpLnBvaW50ZXJbIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4
cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCddJyk7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkpIHsKKyAgICAgICAgLy8gT09QUzogRG9uJ3QgZG91YmxlIGdlbmVyYXRlIGluZGV4IGV4
cHJlc3Npb24gaGVyZS4KKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgdW5zaWduZWQgc2l6ZTsKKyAg
ICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkKKyAgICAgICAgICAgIHNpemUgPSBuYXRp
dmVUeXBlLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICBlbHNlIGlmIChuYXRpdmVU
eXBlLmlzVmVjdG9yKCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZlVHlwZS52ZWN0b3JTaXpl
KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8vIFRo
aXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NF
UlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiA8ICIsIHNpemUsICIpID8gKCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5k
ZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKSA6IDBdIik7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7IAogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uKQpAQCAtNTY4LDE0
ICs2NzMsMjMgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
IEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgLy8g
RklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjAgSW1w
bGVtZW50IHF1YWxpZmllcnMuCiAgICAgaWYgKHZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6
ZXIoKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAn
LCB2YXJpYWJsZU5hbWUsICIgPSAiKTsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCp2YXJp
YWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlhYmxl
RGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCB0YWtlTGFzdFZh
bHVlKCksICI7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAg
ICAgfSBlbHNlCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAn
ICcsIHZhcmlhYmxlTmFtZSwgIiA9IHsgfTtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYgYXNzaWdubWVudEV4
cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChhc3NpZ25tZW50RXhwcmVzc2lvbi5sZWZ0KCkpOworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJyknKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAoIik7
CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKKworICAgIC8qCiAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7CiAgICAgYXV0byBbcG9pbnRl
ck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7CiAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkpOwpAQCAtNTg4LDExMyArNzAy
LDE0NiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgZWxz
ZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiKiIsIHBvaW50ZXJO
YW1lLCAiID0gIiwgcmlnaHROYW1lLCAiO1xuIik7CiAgICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhO
dWxsYWJpbGl0eShhc3NpZ25tZW50RXhwcmVzc2lvbiwgcmlnaHROYW1lLCByaWdodE51bGxhYmls
aXR5KTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7CisgICAgYXV0byBpdGVyID0g
bV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsKKyAgICBSRUxFQVNFX0FT
U0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgYXJndW1l
bnRWYXJpYWJsZXMgPSBpdGVyLT52YWx1ZTsKKyAgICBSRUxFQVNFX0FTU0VSVChjYWxsRXhwcmVz
c2lvbi5hcmd1bWVudHMoKS5zaXplKCkgPT0gYXJndW1lbnRWYXJpYWJsZXMuc2l6ZSgpKTsKICAg
ICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnROYW1lczsKLSAgICBmb3IgKGF1
dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKLSAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQo
dGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlzVm9pZCA9IG1hdGNoZXMoY2Fs
bEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKLSAg
ICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAgaWYgKCFpc1ZvaWQpIHsKLSAg
ICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHJldHVybk5hbWUsICI7
XG4iKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkgeworICAg
ICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Cisg
ICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKGFyZ3VtZW50VmFyaWFibGVzW2ldLm5hbWUpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50VmFyaWFibGVzW2ldLm5hbWUs
ICIgPSAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGNhbGxFeHByZXNzaW9uLmFyZ3Vt
ZW50cygpW2ldKTsKICAgICB9CiAKLSAgICBpZiAoaXM8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSkgewotICAgICAgICBhdXRvIGdlbmVy
YXRlTmV4dFZhcmlhYmxlTmFtZSA9IFt0aGlzXSgpIC0+IE1hbmdsZWRWYXJpYWJsZU5hbWUgewot
ICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAg
ICAgICB9OworICAgIGlmIChjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCkpCisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CiAKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnXG4nKTsKLSAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdC
dWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHBy
ZXNzaW9uLmZ1bmN0aW9uKCkpLCByZXR1cm5OYW1lLCBhcmd1bWVudE5hbWVzLCBtX2ludHJpbnNp
Y3MsIG1fdHlwZU5hbWVyLCBXVEZNb3ZlKGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSksIG1faW5k
ZW50KTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKKyAgICBpZiAoaXM8
QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigp
KSkgeworICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRvd25j
YXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rp
b24oKSksIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBlTmFtZXIsIG1faW5kZW50
KTsKICAgICB9IGVsc2UgewotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
KTsKLQogICAgICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1hcHBpbmcuZmluZCgmY2Fs
bEV4cHJlc3Npb24uZnVuY3Rpb24oKSk7CiAgICAgICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1
bmN0aW9uTWFwcGluZy5lbmQoKSk7Ci0gICAgICAgIGlmICghaXNWb2lkKQotICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyZXR1cm5OYW1lLCAiID0gIik7CiAgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaXRlcmF0b3ItPnZhbHVlLCAnKCcpOwotICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGFyZ3VtZW50TmFtZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudFZhcmlhYmxlcy5zaXplKCk7ICsraSkgewogICAg
ICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
LCAiKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJndW1lbnROYW1lc1tp
XSk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50VmFyaWFibGVz
W2ldLm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7
XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0KIAotICAg
IGFwcGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVybk5hbWUpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4cHJlc3Npb24pCiB7Ci0gICAg
T3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0OworICAgIGlmICghY29tbWFFeHBy
ZXNzaW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbXB0eSBjb21tYSEi
KTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFu
T25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lv
bi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZh
bHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUo
Y29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJiBkZXJlZmVyZW5jZUV4cHJl
c3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKigiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnBvaW50ZXIoKSk7Ci0gICAgYXV0byBb
aW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHko
KTsKLSAgICBhdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0g
ICAgYXV0byByZXN1bHRUeXBlID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGRlcmVm
ZXJlbmNlRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKScpOwogCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51
bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5k
ZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwg
IiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwot
ICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1
bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKKyAgICAvL2F1dG8gW2lucHV0
UG9pbnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Cisg
ICAgLy9hdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAg
Ly9hdXRvIHJlc3VsdFR5cGUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZGVyZWZl
cmVuY2VFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKKworICAgIC8vaWYgKG51bGxhYmlsaXR5
ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKKyAgICAvLyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKAorICAgIC8vICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSAsICcgJywgcmVzdWx0
VmFsdWUsICIgPSAiLCBpbnB1dFBvaW50ZXIsICIgPyAiLCAnKicsIGlucHV0UG9pbnRlciwgIiA6
ICIsIHJlc3VsdFR5cGUsICJ7IH07XG4iKTsKKyAgICAvL30gZWxzZQorICAgIC8vICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVlLCAiID0gKiIsIGlucHV0UG9p
bnRlciwgIjtcbiIpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lv
biwgcmVzdWx0VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxpdHkpOworICAgIC8vYXBwZW5k
TGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0VmFsdWUsIGlucHV0UG9pbnRl
ciwgbnVsbGFiaWxpdHkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpMb2dpY2FsRXhwcmVzc2lvbiYgbG9naWNhbEV4cHJlc3Npb24pCiB7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKCgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNh
bEV4cHJlc3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIGxlZnQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0g
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOwotICAgIGF1
dG8gcmlnaHQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7
CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgp
KSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBsZWZ0KTsKICAgICBzd2l0Y2ggKGxvZ2ljYWxF
eHByZXNzaW9uLnR5cGUoKSkgewogICAgIGNhc2UgQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlw
ZTo6QW5kOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgJiYgIik7CiAgICAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChsb2dpY2FsRXhwcmVzc2lvbi50
eXBlKCkgPT0gQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3IpOworICAgIGNhc2UgQVNU
OjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3I6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiB8fCAiKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQocmlnaHQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxFeHBy
ZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcp
OworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5yaWdodCgpKTsKKyAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOworCisKKyAgICAvL2NoZWNrRXJyb3JBbmRW
aXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOworICAgIC8vYXV0byBsZWZ0ID0gdGFrZUxh
c3RWYWx1ZSgpOworICAgIC8vY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJp
Z2h0KCkpOworICAgIC8vYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICAvL2F1dG8g
dmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisKKyAgICAvL21fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCisgICAgLy8gICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShsb2dpY2FsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFy
aWFibGVOYW1lLCAiID0gIiwgbGVmdCk7CisgICAgLy9zd2l0Y2ggKGxvZ2ljYWxFeHByZXNzaW9u
LnR5cGUoKSkgeworICAgIC8vY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6
CisgICAgLy8gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiICYmICIpOworICAgIC8vICAgIGJy
ZWFrOworICAgIC8vZGVmYXVsdDoKKyAgICAvLyAgICBBU1NFUlQobG9naWNhbEV4cHJlc3Npb24u
dHlwZSgpID09IEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yKTsKKyAgICAvLyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgfHwgIik7CisgICAgLy8gICAgYnJlYWs7CisgICAgLy99
CisgICAgLy9tX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJpZ2h0LCAiO1xuIik7CisgICAgLy9hcHBl
bmRSaWdodFZhbHVlKGxvZ2ljYWxFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpMb2dpY2FsTm90RXhwcmVzc2lv
biYgbG9naWNhbE5vdEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
ISgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbE5vdEV4cHJlc3Npb24ub3BlcmFu
ZCgpKTsKLSAgICBhdXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJp
YWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcpJyk7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBt
X2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxOb3RFeHByZXNz
aW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAhIiwgb3BlcmFuZCwg
IjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5vdEV4cHJlc3Npb24sIHZhcmlh
YmxlTmFtZSk7CisgICAgLy9hdXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVlKCk7CisgICAgLy9h
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworCisgICAgLy9t
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgIC8vICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUobG9naWNhbE5vdEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAn
ICcsIHZhcmlhYmxlTmFtZSwgIiA9ICEiLCBvcGVyYW5kLCAiO1xuIik7CisgICAgLy9hcHBlbmRS
aWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlQXJyYXlSZWZlcmVuY2VF
eHByZXNzaW9uJiBtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIFVOVVNFRF9Q
QVJBTShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKTsKKyAgICBib29sIGIgPSB0cnVlOwor
ICAgIGlmIChiKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8v
IE9PUFMhCisgICAgLyoKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUg
bWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZh
bHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4ODM4CkBAIC03MTQsMjUgKzg2MSw2OCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1h
bmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIiwgMSB9
O1xuIik7CiAgICAgfQogICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24mIG1ha2VQb2ludGVy
RXhwcmVzc2lvbikKIHsKKyAgICAvLyBPT1BTCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
JigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRW
YWx1ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRW
YWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcg
JywgdmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUs
IG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4
cHJlc3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAvKgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24g
dGhlIHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVF
eHByZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAg
ICAgKiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZh
bHVhdGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0Cisg
ICAgICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1v
ZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxl
cy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFT
RV9BU1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJp
YWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92
YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVW
YXJpYWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3
VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIg
PSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgp
KTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwg
IiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVF
eHByZXNzaW9uKCkpOworCisgICAgLy8gT09QUzogZG9uJ3QgZXZhbHVhdGUgbGVmdFZhbHVlIHR3
aWNlIQorICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiID0gIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9y
QW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0
ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNhdGUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKSA/ICgiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uYm9k
eUV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworCisgICAgLyoKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24ucHJlZGljYXRlKCkpOwogICAgIGF1dG8gY2hl
Y2sgPSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHRlcm5hcnlFeHBy
ZXNzaW9uLmJvZHlFeHByZXNzaW9uKCkpOwpAQCAtNzQzLDYgKzkzMyw3IEBAIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh0ZXJuYXJ5RXhwcmVzc2lvbi5y
ZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgY2hlY2ssICIgPyAiLCBi
b2R5LCAiIDogIiwgZWxzZUJvZHksICI7XG4iKTsKICAgICBhcHBlbmRSaWdodFZhbHVlKHRlcm5h
cnlFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgICovCiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJl
ZmVyZW5jZSkKQEAgLTc1MiwxMyArOTQzLDcgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVAogICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX3ZhcmlhYmxlTWFwcGluZy5l
bmQoKSk7CiAKICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhcmlhYmxlTmFtZSA9IGl0ZXJhdG9y
LT52YWx1ZTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZSh2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFi
bGVOYW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgJnZhcmlh
YmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJ0aHJlYWQgIiwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKHZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKSwgIiogIiwgcG9pbnRlck5h
bWUsICIgPSAmIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9p
bnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFi
bGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdGFu
dEV4cHJlc3Npb25TdHJpbmcoQVNUOjpDb25zdGFudEV4cHJlc3Npb24mIGNvbnN0YW50RXhwcmVz
c2lvbikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJl
dmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01l
dGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyAr
NDEsNyBAQCBuYW1lc3BhY2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1l
dGFsQ29kZSA9IGZhbHNlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQor
c3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJp
bmdWaWV3IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1
MywzMjQgQEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxu
IgogICAgICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisgICAg
ICAgICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAgICAg
ICAic3RydWN0IFdTTE1hdHJpeFxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIC8qdmVj
PFQsIFJvd3M+IGNvbHVtbnNbQ29sc107XG4iCisgICAgICAgICIgICAgcHJpdmF0ZTpcbiIKKyAg
ICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgaW50Li4uIFI+XG4iCisgICAgICAgICIg
ICAgc3RhdGljIHZlYzxULCBSb3dzPiBidWlsZF9jb2woaW5pdGlhbGl6ZXJfbGlzdDxVPiBjb2ws
IF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisgICAgICAgICIgICAge1xuIgorICAg
ICAgICAiICAgICAgICByZXR1cm4geyhSIDwgY29sLnNpemUoKSA/ICooY29sLmJlZ2luKCkgKyBS
KSA6IFUoKSkuLi59O1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0
ZSA8aW50Li4uIFI+XG4iCisgICAgICAgICIgICAgc3RhdGljIHZlYzxULCBSb3dzPiBidWlsZF9k
aWFnX2NvbChpbnQgYywgVCB2YWwsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisg
ICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4geyhjID09IFIgPyB2YWwg
OiAwKS4uLn07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDxp
bnQuLi4gUj5cbiIKKyAgICAgICAgIiAgICBzdGF0aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2Z1bGxf
Y29sKGludCBjLCBpbml0aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIFIuLi4+KVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJu
IHsqKGVsZW1zLmJlZ2luKCkgKyBjICogUm93cyArIFIpLi4ufTtcbiIKKyAgICAgICAgIiAgICB9
XG4iCisgICAgICAgICIgICAgc3RydWN0IGNvbHNfaW5pdF90YWcgeyB9O1xuIgorICAgICAgICAi
ICAgIHN0cnVjdCBjb2xzX2FsbF90YWcgeyB9O1xuIgorICAgICAgICAiICAgIHN0cnVjdCBlbGVt
c19hbGxfdGFnIHsgfTtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisg
ICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCwgX2ludGVnZXJfc2Vx
dWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3ti
dWlsZF9kaWFnX2NvbChDLCB2YWwsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSb3dzPigp
KS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAi
ICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQg
V1NMTWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBj
b2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRcbiIKKyAgICAgICAgIiAg
ICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDog
dmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9
XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFUsIHR5cGVuYW1lIF9HID0g
dHlwZW5hbWUgZW5hYmxlX2lmPF9jb25qdW5jdGlvbjxpc19jb252ZXJ0aWJsZTxVLCB2ZWM8VCwg
Um93cz4+Li4uPjo6dmFsdWU+Ojp0eXBlPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNp
dCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMpIHRocmVhZFxuIgorICAgICAgICAi
ICAgICAgICA6IGNvbHVtbnN7dmVjPFQsIFJvd3M+KGNvbHMpLi4ufVxuIgorICAgICAgICAiICAg
IHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
Li4uIFUsIHR5cGVuYW1lIF9HID0gdHlwZW5hbWUgZW5hYmxlX2lmPF9jb25qdW5jdGlvbjxpc19j
b252ZXJ0aWJsZTxVLCBUPi4uLj46OnZhbHVlPjo6dHlwZT5cbiIKKyAgICAgICAgIiAgICBpbmxp
bmUgZXhwbGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxu
IgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAge1xuIgorICAg
ICAgICAiICAgICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgor
ICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxU
PiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisgICAgICAg
ICIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAg
ICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAg
ICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVCB2YWwsIF9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQy4uLj4pIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3tidWls
ZF9kaWFnX2NvbChDLCB2YWwsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSb3dzPigpKS4u
Ln1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAg
IHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xz
LCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorICAgICAgICAiICAg
ICAgICA6IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUoKSA/ICooY29scy5iZWdpbigpICsgQykgOiB2
ZWM8VCwgUm93cz4oKSkuLi59XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1c
biIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVSwgdHlwZW5hbWUgX0cgPSB0
eXBlbmFtZSBlbmFibGVfaWY8X2Nvbmp1bmN0aW9uPGlzX2NvbnZlcnRpYmxlPFUsIHZlYzxULCBS
b3dzPj4uLi4+Ojp2YWx1ZT46OnR5cGU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgY29uc3RhbnRcbiIKKyAgICAgICAg
IiAgICAgICAgOiBjb2x1bW5ze3ZlYzxULCBSb3dzPihjb2xzKS4uLn1cbiIKKyAgICAgICAgIiAg
ICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZS4uLiBVLCB0eXBlbmFtZSBfRyA9IHR5cGVuYW1lIGVuYWJsZV9pZjxfY29uanVuY3Rpb248aXNf
Y29udmVydGlibGU8VSwgVD4uLi4+Ojp2YWx1ZT46OnR5cGU+XG4iCisgICAgICAgICIgICAgaW5s
aW5lIGV4cGxpY2l0IFdTTE1hdHJpeChlbGVtc19hbGxfdGFnLCBVLi4uIGVsZW1zKSBjb25zdGFu
dFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAge1xuIgor
ICAgICAgICAiICAgICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxu
IgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlz
dDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgY29uc3RhbnRcbiIKKyAg
ICAgICAgIiAgICAgICAgOiBjb2x1bW5ze2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1zLCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgUm93cz4oKSkuLi59XG4iCisgICAgICAgICIgICAge1xuIgor
ICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgaW50
Li4uIEM+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0
aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0LCBfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIEMuLi4+KSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBjb2x1bW5ze3ZlYzxULCBS
b3dzPih0aGF0LmNvbHVtbnNbQ10pLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAg
IiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBDPlxu
IgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdT
TE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4u
PikgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3t2ZWM8VCwgUm93cz4odGhh
dC5jb2x1bW5zW0NdKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxu
IgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVLCBpbnQuLi4gQz5cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJp
eDxVLCBDb2xzLCBSb3dzPiAmdGhhdCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhy
ZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3t2ZWM8VCwgUm93cz4odGhhdC5jb2x1
bW5zW0NdKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAg
ICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVLCBpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxV
LCBDb2xzLCBSb3dzPiAmdGhhdCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFk
XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3t2ZWM8VCwgUm93cz4odGhhdC5jb2x1bW5z
W0NdKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAg
ICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVLCBpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywg
Um93cz4gJnRoYXQsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50XG4iCisg
ICAgICAgICIgICAgICAgIDogY29sdW1uc3t2ZWM8VCwgUm93cz4odGhhdC5jb2x1bW5zW0NdKS4u
Ln1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBVLCBpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4g
JnRoYXQsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50XG4iCisgICAgICAg
ICIgICAgICAgIDogY29sdW1uc3t2ZWM8VCwgUm93cz4odGhhdC5jb2x1bW5zW0NdKS4uLn1cbiIK
KyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBVLCBpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhh
dCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgY29uc3RhbnRcbiIKKyAgICAgICAgIiAg
ICAgICAgOiBjb2x1bW5ze3ZlYzxULCBSb3dzPih0aGF0LmNvbHVtbnNbQ10pLi4ufVxuIgorICAg
ICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFUsIGludC4uLiBDPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBX
U0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0
LCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorICAgICAgICAiICAg
ICAgICA6IGNvbHVtbnN7dmVjPFQsIFJvd3M+KHRoYXQuY29sdW1uc1tDXSkuLi59XG4iCisgICAg
ICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBwdWJsaWM6XG4i
CisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeCgpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisg
ICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PHZlYzxULCBSb3dz
Pj4gY29scykgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KGNvbHNfaW5p
dF90YWcoKSwgY29scywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisg
ICAgICAgICIgICAgICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgfVxuIgorICAgICAgICAiICAg
IHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVLCB0eXBlbmFtZSBfRyA9IHR5cGVuYW1lIGVuYWJsZV9p
ZjxzaXplb2YuLi4oVSkgPT0gQ29scz46OnR5cGU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4
cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PFU+Li4uIGNvbHMpIHRocmVhZFxuIgor
ICAgICAgICAiICAgICAgICA6IGNvbHVtbnN7YnVpbGRfY29sKGNvbHMsIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVCB2YWwp
IHRocmVhZFxuIgorICAgICAgICAiICAgIDogV1NMTWF0cml4KHZhbCwgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAg
IH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVSwgdHlwZW5hbWUgX0cg
PSB0eXBlbmFtZSBlbmFibGVfaWY8KHNpemVvZi4uLihVKSA9PSBDb2xzKSB8fCAoc2l6ZW9mLi4u
KFUpID09IENvbHMgKiBSb3dzKT46OnR5cGU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdT
TE1hdHJpeChjb25kaXRpb25hbF90PHNpemVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcs
IGVsZW1zX2FsbF90YWc+KCksIHZhbHMuLi4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAg
ICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KCkgY29uc3RhbnQgPSBk
ZWZhdWx0O1xuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlz
dDx2ZWM8VCwgUm93cz4+IGNvbHMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NM
TWF0cml4KGNvbHNfaW5pdF90YWcoKSwgY29scywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAg
ICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVSwgdHlwZW5hbWUgX0cgPSB0eXBlbmFtZSBl
bmFibGVfaWY8c2l6ZW9mLi4uKFUpID09IENvbHM+Ojp0eXBlPlxuIgorICAgICAgICAiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxVPi4uLiBjb2xzKSBjb25z
dGFudFxuIgorICAgICAgICAiICAgICAgICA6IGNvbHVtbnN7YnVpbGRfY29sKGNvbHMsIF9tYWtl
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRy
aXgoVCB2YWwpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHZhbCwg
X21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xu
IgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4g
VSwgdHlwZW5hbWUgX0cgPSB0eXBlbmFtZSBlbmFibGVfaWY8KHNpemVvZi4uLihVKSA9PSBDb2xz
KSB8fCAoc2l6ZW9mLi4uKFUpID09IENvbHMgKiBSb3dzKT46OnR5cGU+XG4iCisgICAgICAgICIg
ICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIGNvbnN0YW50XG4iCisgICAg
ICAgICIgICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09IENv
bHMsIGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyAgICAgICAg
IiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRy
aXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0g
ZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8
VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1h
dHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAg
ICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xN
YXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFk
ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRy
aXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdT
TE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAg
ICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBX
U0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSB0
aHJlYWQgPSBkZWZhdWx0O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxu
IgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQg
V1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAg
ICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkp
XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dz
PiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0
IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisg
ICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8
aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisg
ICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFQsIENv
bHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1h
dHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFu
dFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3Nl
cXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAg
fVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJp
eDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAi
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNp
dCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkg
Y29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50
ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAg
ICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
ICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFUsIENvbHMsIFJv
d3M+ICZ0aGF0KSBjb25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0
LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7
XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoY29u
c3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9
IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAg
ICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xN
YXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAg
IDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxu
IgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgcHVi
bGljOlxuIgorICAgICAgICAiICAgIGlubGluZSB0aHJlYWQgdmVjPFQsIFJvd3M+ICZvcGVyYXRv
cltdKGludCByKSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgICAg
IHJldHVybiBjb2x1bW5zW3JdO1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgZGV2aWNlXG4iCisg
ICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIHRocmVhZGdyb3VwIHZlYzxU
LCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkZ3JvdXBcbiIKKyAgICAgICAgIiAgICB7
XG4iCisgICAgICAgICIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorICAgICAgICAiICAg
IH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgY29uc3QgdGhyZWFkIHZlYzxULCBSb3dzPiAmb3Bl
cmF0b3JbXShpbnQgcikgY29uc3QgdGhyZWFkXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAg
ICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAg
ICAgICIgICAgaW5saW5lIGNvbnN0IGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50
IHIpIGNvbnN0IGRldmljZVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAg
cmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlu
bGluZSBjb25zdCBjb25zdGFudCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0
IGNvbnN0YW50XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4g
Y29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGNv
bnN0IHRocmVhZGdyb3VwIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgY29uc3QgdGhy
ZWFkZ3JvdXBcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgICAgIHJldHVybiBj
b2x1bW5zW3JdO1xuIgorICAgICAgICAiICAgIH0qL1xuIgorICAgICAgICAifTtcbiIKKyAgICAg
ICAgInRlbXBsYXRlIDx0eXBlbmFtZSBULCBpbnQgQ29scywgaW50IFJvd3M+XG4iCisgICAgICAg
ICJpbmxpbmUgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+IG9wZXJhdG9yKyhjb25zdCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gYSlcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAgIiAgICByZXR1
cm4gYTtcbiIKKyAgICAgICAgIn1cbiIKKyAgICAgICAgInRlbXBsYXRlIDx0eXBlbmFtZSBULCBp
bnQgQ29scywgaW50IFJvd3M+XG4iCisgICAgICAgICJpbmxpbmUgV1NMTWF0cml4PFQsIENvbHMs
IFJvd3M+IG9wZXJhdG9yLShjb25zdCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYSlcbiIKKyAg
ICAgICAgIntcbiIKKyAgICAgICAgIiAgICBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gcmVzdWx0
O1xuIgorICAgICAgICAiICAgIGZvciAoaW50IGkgPSAwOyBpIDwgQ29sczsgKytpKVxuIgorICAg
ICAgICAiICAgICAgICByZXN1bHRbaV0gPSAtYVtpXTtcbiIKKyAgICAgICAgIiAgICByZXR1cm4g
cmVzdWx0O1xuIgorICAgICAgICAifVxuIgorICAgICAgICAidGVtcGxhdGUgPHR5cGVuYW1lIFQs
IGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyAgICAgICAgImlubGluZSBXU0xNYXRyaXg8VCwgQ29s
cywgUm93cz4gb3BlcmF0b3IrKGNvbnN0IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiBhLCBjb25z
dCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYilcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAg
IiAgICBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gcmVzdWx0O1xuIgorICAgICAgICAiICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgQ29sczsgKytpKVxuIgorICAgICAgICAiICAgICAgICByZXN1bHRb
aV0gPSBhW2ldICsgYltpXTtcbiIKKyAgICAgICAgIiAgICByZXR1cm4gcmVzdWx0O1xuIgorICAg
ICAgICAifVxuIgorICAgICAgICAidGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQg
Um93cz5cbiIKKyAgICAgICAgImlubGluZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gb3BlcmF0
b3ItKGNvbnN0IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiBhLCBjb25zdCBXU0xNYXRyaXg8VCwg
Q29scywgUm93cz4gYilcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAgIiAgICBXU0xNYXRyaXg8
VCwgQ29scywgUm93cz4gcmVzdWx0O1xuIgorICAgICAgICAiICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgQ29sczsgKytpKVxuIgorICAgICAgICAiICAgICAgICByZXN1bHRbaV0gPSBhW2ldIC0gYltp
XTtcbiIKKyAgICAgICAgIiAgICByZXR1cm4gcmVzdWx0O1xuIgorICAgICAgICAifVxuIgorICAg
ICAgICAidGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyAgICAg
ICAgImlubGluZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gb3BlcmF0b3IqKGNvbnN0IFdTTE1h
dHJpeDxULCBDb2xzLCBSb3dzPiBhLCBjb25zdCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYilc
biIKKyAgICAgICAgIntcbiIKKyAgICAgICAgIiAgICBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4g
cmVzdWx0O1xuIgorICAgICAgICAiICAgIGZvciAoaW50IGkgPSAwOyBpIDwgQ29sczsgKytpKVxu
IgorICAgICAgICAiICAgICAgICByZXN1bHRbaV0gPSBhW2ldICogYltpXTtcbiIKKyAgICAgICAg
IiAgICByZXR1cm4gcmVzdWx0O1xuIgorICAgICAgICAifVxuIgorICAgICAgICAidGVtcGxhdGUg
PHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyAgICAgICAgImlubGluZSBXU0xN
YXRyaXg8VCwgQ29scywgUm93cz4gb3BlcmF0b3IvKGNvbnN0IFdTTE1hdHJpeDxULCBDb2xzLCBS
b3dzPiBhLCBjb25zdCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYilcbiIKKyAgICAgICAgIntc
biIKKyAgICAgICAgIiAgICBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gcmVzdWx0O1xuIgorICAg
ICAgICAiICAgIGZvciAoaW50IGkgPSAwOyBpIDwgQ29sczsgKytpKVxuIgorICAgICAgICAiICAg
ICAgICByZXN1bHRbaV0gPSBhW2ldIC8gYltpXTtcbiIKKyAgICAgICAgIiAgICByZXR1cm4gcmVz
dWx0O1xuIgorICAgICAgICAifVxuIgorICAgICAgICAidGVtcGxhdGUgPHR5cGVuYW1lIFQsIGlu
dCBDb2xzLCBpbnQgUm93cz5cbiIKKyAgICAgICAgImlubGluZSBXU0xNYXRyaXg8Ym9vbCwgQ29s
cywgUm93cz4gb3BlcmF0b3I8KGNvbnN0IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiBhLCBjb25z
dCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYilcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAg
IiAgICBXU0xNYXRyaXg8Ym9vbCwgQ29scywgUm93cz4gcmVzdWx0O1xuIgorICAgICAgICAiICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgQ29sczsgKytpKVxuIgorICAgICAgICAiICAgICAgICByZXN1
bHRbaV0gPSBhW2ldIDwgYltpXTtcbiIKKyAgICAgICAgIiAgICByZXR1cm4gcmVzdWx0O1xuIgor
ICAgICAgICAifVxuIgorICAgICAgICAidGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBp
bnQgUm93cz5cbiIKKyAgICAgICAgImlubGluZSBXU0xNYXRyaXg8Ym9vbCwgQ29scywgUm93cz4g
b3BlcmF0b3I8PShjb25zdCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gYSwgY29uc3QgV1NMTWF0
cml4PFQsIENvbHMsIFJvd3M+IGIpXG4iCisgICAgICAgICJ7XG4iCisgICAgICAgICIgICAgV1NM
TWF0cml4PGJvb2wsIENvbHMsIFJvd3M+IHJlc3VsdDtcbiIKKyAgICAgICAgIiAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IENvbHM7ICsraSlcbiIKKyAgICAgICAgIiAgICAgICAgcmVzdWx0W2ldID0g
YVtpXSA8PSBiW2ldO1xuIgorICAgICAgICAiICAgIHJldHVybiByZXN1bHQ7XG4iCisgICAgICAg
ICJ9XG4iCisgICAgICAgICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dz
PlxuIgorICAgICAgICAiaW5saW5lIFdTTE1hdHJpeDxib29sLCBDb2xzLCBSb3dzPiBvcGVyYXRv
cj4oY29uc3QgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+IGEsIGNvbnN0IFdTTE1hdHJpeDxULCBD
b2xzLCBSb3dzPiBiKVxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIFdTTE1hdHJpeDxi
b29sLCBDb2xzLCBSb3dzPiByZXN1bHQ7XG4iCisgICAgICAgICIgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBDb2xzOyArK2kpXG4iCisgICAgICAgICIgICAgICAgIHJlc3VsdFtpXSA9IGFbaV0gPiBi
W2ldO1xuIgorICAgICAgICAiICAgIHJldHVybiByZXN1bHQ7XG4iCisgICAgICAgICJ9XG4iCisg
ICAgICAgICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAg
ICAgICAiaW5saW5lIFdTTE1hdHJpeDxib29sLCBDb2xzLCBSb3dzPiBvcGVyYXRvcj49KGNvbnN0
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiBhLCBjb25zdCBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gYilcbiIKKyAgICAgICAgIntcbiIKKyAgICAgICAgIiAgICBXU0xNYXRyaXg8Ym9vbCwgQ29s
cywgUm93cz4gcmVzdWx0O1xuIgorICAgICAgICAiICAgIGZvciAoaW50IGkgPSAwOyBpIDwgQ29s
czsgKytpKVxuIgorICAgICAgICAiICAgICAgICByZXN1bHRbaV0gPSBhW2ldID49IGJbaV07XG4i
CisgICAgICAgICIgICAgcmV0dXJuIHJlc3VsdDtcbiIKKyAgICAgICAgIn1cbiIKKyAgICAgICAg
InRlbXBsYXRlIDx0eXBlbmFtZSBULCBpbnQgQ29scywgaW50IFJvd3M+XG4iCisgICAgICAgICJp
bmxpbmUgV1NMTWF0cml4PGJvb2wsIENvbHMsIFJvd3M+IG9wZXJhdG9yPT0oY29uc3QgV1NMTWF0
cml4PFQsIENvbHMsIFJvd3M+IGEsIGNvbnN0IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiBiKVxu
IgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIFdTTE1hdHJpeDxib29sLCBDb2xzLCBSb3dz
PiByZXN1bHQ7XG4iCisgICAgICAgICIgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBDb2xzOyArK2kp
XG4iCisgICAgICAgICIgICAgICAgIHJlc3VsdFtpXSA9IGFbaV0gPT0gYltpXTtcbiIKKyAgICAg
ICAgIiAgICByZXR1cm4gcmVzdWx0O1xuIgorICAgICAgICAifVxuIgorCiAgICAgfTsKKwogfQog
CiBzdGF0aWMgdm9pZCBkdW1wTWV0YWxDb2RlSWZOZWVkZWQoU3RyaW5nQnVpbGRlciYgc3RyaW5n
QnVpbGRlcikKQEAgLTY3LDcgKzM4NCw3IEBAIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5l
ZWRlZChTdHJpbmcKIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBw
cm9ncmFtLCBNYXRjaGVkUmVuZGVyU2VtYW50aWNzJiYgbWF0Y2hlZFNlbWFudGljcywgTGF5b3V0
JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWlsZGVyOwotICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1lciB0eXBlTmFtZXIocHJv
Z3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmluZ0J1aWxkZXIpOwpAQCAt
ODIsNyArMzk5LDcgQEAgUmVuZGVyTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYQog
Q29tcHV0ZU1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRj
aGVkQ29tcHV0ZVNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRpY3MsIExheW91dCYgbGF5b3V0KQog
ewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxD
b2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlwZU5hbWVyKHByb2dyYW0pOwogICAg
IHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWlsZGVyKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBzdGF0aWMg
aW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0
aDsKIH0KIAorLyoKIHN0YXRpYyBBU1Q6Ok5hbWVkVHlwZSYgdmVjdG9ySW5uZXJUeXBlKEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBuYXRpdmVUeXBlRGVjbGFyYXRpb24pCiB7CiAgICAgaWYg
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuaXNFbXB0eSgpKQpAQCAtMTE5
LDggKzEyMCw5IEBAIHN0YXRpYyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3QKICAg
ICAgICAgcmV0dXJuICI0IjsKICAgICB9CiB9CisqLwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0
aW9uKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBy
ZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJp
bnNpY3MmIGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1h
bmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0
aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYg
c3RyaW5nQnVpbGRlciwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3Ms
IEludHJpbnNpY3MmIC8qaW50cmluc2ljcyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50
YXRpb248ND4pCiB7CiAgICAgYXV0byBhc01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5
cGUmIHVubmFtZWRUeXBlKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAg
ICBhdXRvJiByZWFsVHlwZSA9IHVubmFtZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDE5ICsx
NDEsMjIgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KHJldHVyblR5cGUpOwogCiAgICAgICAgIGlmICghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpKSB7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsIHJldHVybk5hbWUsICIgPSB7IH07XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUsICIgeyB9Iik7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKICAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlclR5
cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsK
LSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUocGFyYW1ldGVyVHlwZSk7CisgICAgICAgICAgICAvL2F1dG8gbWV0YWxQ
YXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1ldGVy
VHlwZSk7CiAKICAgICAgICAgICAgIGF1dG8gaXNFbnVtZXJhdGlvbkRlZmluaXRpb24gPSBbXSAo
YXV0byYgdHlwZSkgewogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6Ok5hbWVkVHlwZT4o
dHlwZSkgJiYgaXM8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFt
ZWRUeXBlPih0eXBlKSk7CiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgYXV0byYgdW5pZmll
ZFJldHVyblR5cGUgPSByZXR1cm5UeXBlLnVuaWZ5Tm9kZSgpOwogICAgICAgICAgICAgaWYgKGlz
RW51bWVyYXRpb25EZWZpbml0aW9uKHVuaWZpZWRSZXR1cm5UeXBlKSAmJiAhaXNFbnVtZXJhdGlv
bkRlZmluaXRpb24ocGFyYW1ldGVyVHlwZS51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIC8vIE9PUFMh
CisgICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5h
bWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIik7CiAgICAgICAgICAgICAgICAgYXV0byYgZW51bWVy
YXRpb25EZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRv
d25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmaWVkUmV0dXJuVHlwZSkpOwpAQCAtMTczLDE3ICsx
NzgsMjkgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIHZhcmlhYmxlTmFtZSwg
Iik7XG4iKTsKKyAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3Rh
dGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIik7XG4iKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0
YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIikiKTsKIAogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBjYW4ganVzdCBN
U0wgb3BlcmF0b3JzIG5vdy4uLi4KICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01h
dHJpeFR5cGUocmV0dXJuVHlwZSkpIHsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KG1ldGFsUmV0dXJuVHlwZU5hbWUsICcoJyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGFyZ3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworCisgICAgICAgICAgICAvLyBPT1BTOiB0
ZXN0IHRoaXMKKworICAgICAgICAgICAgLyoKICAgICAgICAgICAgIHVuc2lnbmVkIG51bVJvd3Mg
PSBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeFJvd3MoKTsKICAgICAgICAgICAgIHVuc2lnbmVk
IG51bUNvbHVtbnMgPSBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSBudW1Sb3dzIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSBudW1Sb3dzICogbnVtQ29sdW1ucyk7Ci0KICAgICAgICAgICAgIGF1
dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAKICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgJyAn
LCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKQEAgLTIwNywyNjggKzIyNCwyODUgQEAgdm9pZCBpbmxp
bmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCB2YXJp
YWJsZU5hbWUsICI7XG4iKTsKKyAgICAgICAgICAgICovCiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5h
bWUsICIgPSAiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiKCIpOworICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOwogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChpID4gMCkKKyAgICAgICAgICAgIGlmIChpKQog
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1
Y3QgZmllbGQgbmFtZWQgImxlbmd0aCIgdG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRo
b3NlIHNob3VsZG4ndCB0YWtlIHRoaXMgY29kZXBhdGguCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VS
VF9VTlVTRUQoaW50cmluc2ljcywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5
cGUoKSwgaW50cmluc2ljcy51aW50VHlwZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8m
IHBhcmFtZXRlclR5cGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5
cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAg
aWYgKGlzPEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAg
ICAgIGF1dG8mIGFycmF5UGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1
bm5hbWVkUGFyYW1ldGVyVHlwZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRl
clR5cGUubnVtRWxlbWVudHMoKSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0KLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVk
UGFyYW1ldGVyVHlwZSkpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAg
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vQVNTRVJUX1VO
VVNFRChpbnRyaW5zaWNzLCBtYXRjaGVzKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
LCBpbnRyaW5zaWNzLnVpbnRUeXBlKCkpKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8m
IHBhcmFtZXRlclR5cGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKKyAgICAgICAgLy9hdXRvJiB1bm5hbWVkUGFyYW1ldGVy
VHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KHBhcmFtZXRlclR5cGUpOworICAgICAg
ICAvL2lmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7CisgICAg
ICAgIC8vICAgIGF1dG8mIGFycmF5UGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJy
YXlQYXJhbWV0ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKKyAgICAgICAgLy8gICAgcmV0
dXJuOworICAgICAgICAvL30KKworICAgICAgICAvL0FTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJl
bmNlVHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgKKyAgICAgICAgLy8gICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1sw
XSwgIi5sZW5ndGg7XG4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvci4iX3N0cikp
IHsKLSAgICAgICAgYXV0byBhcHBlbmRNYW5nbGVkRmllbGROYW1lID0gWyZdIChjb25zdCBTdHJp
bmcmIGZpZWxkTmFtZSkgewotICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0g
ICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5p
ZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5h
bWVkVHlwZSkpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0g
ZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAg
ICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQo
ZmllbGROYW1lKTsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChmaWVsZE5hbWUpOwotICAgICAgICB9OwotCi0gICAgICAgIGlmIChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5lbmRzV2l0aCgiPSIpKSB7Ci0gICAgICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGZp
ZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJzdHJpbmcoMCwgZmllbGROYW1lLmxlbmd0aCgpIC0gMSk7
Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGlu
ZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAg
IGluZGVudCwgcmV0dXJuTmFtZSwgJy4nKTsKLSAgICAgICAgICAgIGFwcGVuZE1hbmdsZWRGaWVs
ZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAi
LCBhcmdzWzFdLCAiO1xuIik7Ci0KLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0g
ICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gIiwgYXJnc1swXSwgJy4nKTsKLSAgICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVs
ZE5hbWUpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CisgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vYXV0byBhcHBlbmRNYW5nbGVk
RmllbGROYW1lID0gWyZdIChjb25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgeworICAgICAgICAvLyAg
ICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKKyAgICAgICAgLy8gICAgYXV0byYgbmFtZWRUeXBl
ID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CisgICAgICAgIC8vICAgIGlm
IChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKKyAgICAgICAgLy8g
ICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVy
ZURlZmluaXRpb24+KG5hbWVkVHlwZSk7CisgICAgICAgIC8vICAgICAgICBhdXRvKiBzdHJ1Y3R1
cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7CisgICAgICAg
IC8vICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIC8vICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVt
ZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7CisgICAgICAgIC8vICAgICAgICByZXR1cm47CisgICAg
ICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihuYW1lZFR5cGUpKTsKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
ZmllbGROYW1lKTsKKyAgICAgICAgLy99OworCisgICAgICAgIC8vaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLmVuZHNXaXRoKCI9IikpIHsKKyAgICAgICAgLy8gICAgQVNTRVJU
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKKyAg
ICAgICAgLy8gICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKKyAgICAgICAgLy8gICAg
ZmllbGROYW1lID0gZmllbGROYW1lLnN1YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAx
KTsKKworICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAg
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAv
LyAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAnLicpOworICAgICAgICAvLyAgICBhcHBlbmRN
YW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisKKyAgICAgICAgLy8gICAgcmV0dXJuOwor
ICAgICAgICAvL30KKworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CisgICAgICAgIC8vYXV0byBmaWVsZE5hbWUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3Ry
Lmxlbmd0aCgpKTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8g
ICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJy4nKTsKKyAgICAgICAgLy9h
cHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIjtcbiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iX3N0cikp
IHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
LnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5ndGgoKSk7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1
dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5n
KCJvcGVyYXRvciYuIl9zdHIubGVuZ3RoKCkpOwogCi0gICAgICAgIGF1dG8mIHVubmFtZWRUeXBl
ID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0g
ICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHVubmFt
ZWRUeXBlKS5lbGVtZW50VHlwZSgpLnVuaWZ5Tm9kZSgpOwotICAgICAgICBhdXRvJiBuYW1lZFR5
cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgaWYgKGlz
PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAgICAgICAgYXV0
byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlv
bj4obmFtZWRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1
Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAgICAgICAgIEFTU0VSVChzdHJ1
Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUp
OworICAgICAgICAvL3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKKwor
ICAgICAgICAvL2F1dG8mIHVubmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpWzBdLT50eXBlKCk7CisgICAgICAgIC8vYXV0byYgdW5pZnlOb2RlID0gZG93
bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlO
b2RlKCk7CisgICAgICAgIC8vYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KHVuaWZ5Tm9kZSk7CisgICAgICAgIC8vaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlv
bj4obmFtZWRUeXBlKSkgeworICAgICAgICAvLyAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9u
ID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOworICAgICAg
ICAvLyAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5k
KGZpZWxkTmFtZSk7CisgICAgICAgIC8vICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAg
ICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
U3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCkpOworICAgICAgICAvL30gZWxzZQor
ICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOwogCi0gICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogbnVsbHB0cjtcbiIpOworICAgICAgICAvL3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpIDogbnVsbHB0cjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJh
dG9yJltdIikgewotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVy
ZW5jZVR5cGU+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlw
ZSgpKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSAoIiwgYXJnc1sxXSwgIiA8ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigiLCBhcmdz
WzBdLCAiLnBvaW50ZXJbIiwgYXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIpOworICAgICAgICAv
L0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
Mik7CisgICAgICAgIC8vQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigqbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOworCisgICAgICAg
IC8vc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9ICgiLCBhcmdzWzFdLCAiIDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAmKCIs
IGFyZ3NbMF0sICIucG9pbnRlclsiLCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7CiAgICAg
ICAgICAgICAKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gdmVjdG9yU2l6ZSA9
IFsmXSAoKSAtPiB1bnNpZ25lZCB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3du
Y2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+
KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBl
KCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS5u
YW1lKCkgPT0gInZlY3RvciIpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1l
bnRzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFu
dEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJh
bCgpLnZhbHVlKCk7Ci0gICAgfTsKLQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAt
PiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJl
bmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9IGRv
d25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZl
cmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2
ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0
LmlzTWF0cml4KCkpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07CisgICAgLy9hdXRv
IHZlY3RvclNpemUgPSBbJl0gKCkgLT4gdW5zaWduZWQgeworICAgIC8vICAgIGF1dG8mIHR5cGVS
ZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAvLyAgICBhdXRvJiB2ZWN0
b3JUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFT
VDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVy
ZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSk7CisgICAgLy8gICAg
QVNTRVJUKHZlY3RvclR5cGUubmFtZSgpID09ICJ2ZWN0b3IiKTsKKyAgICAvLyAgICBBU1NFUlQo
dmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDIpOworICAgIC8vICAgIHJldHVy
biBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odmVjdG9yVHlwZS50eXBlQXJndW1l
bnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKKyAgICAvL307CisKKyAgICAvL2F1
dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYg
eworICAgIC8vICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZl
cmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgp
KTsKKyAgICAvLyAgICBhdXRvJiByZXN1bHQgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVE
ZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVk
VHlwZSgpKTsKKyAgICAvLyAgICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOworICAgIC8vICAg
IHJldHVybiByZXN1bHQ7CisgICAgLy99OwogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltdIikgewotICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICBhdXRv
JiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIHNpemVf
dCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlv
bj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSku
dHlwZUFyZ3VtZW50cygpLnNpemUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVBcmd1bWVudHMgPT0g
MykgewotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgdW5zaWduZWQgbnVt
YmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAg
ICAgICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9m
TWF0cml4Q29sdW1ucygpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
bk5hbWUsICIgcmVzdWx0O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIs
IGFyZ3NbMV0sICIgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwg
IigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgInJlc3VsdFswXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFy
Z3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MsICJdO1xuIik7Ci0KLSAgICAgICAgICAgICAgICBp
ZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwg
IiArICIsIG51bWJlck9mUm93cyAqIDIsICJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51
bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsICJyZXN1bHRbM10gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAi
LCBudW1iZXJPZlJvd3MgKiAzLCAiXTtcbiIpOworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vYXV0
byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOworICAgICAgICAvL3Np
emVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5p
dGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUo
KSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgLy9pZiAobnVtVHlwZUFyZ3VtZW50
cyA9PSAzKSB7CisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisK
KyAgICAgICAgLy8gICAgdW5zaWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51
bWJlck9mTWF0cml4Um93cygpOworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVt
bnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7CisgICAgICAgIC8v
ICAgIAorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4i
KTsKKyAgICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBz
Y29wZShpbmRlbnQpOworCisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7
XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49
ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCisg
ICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKKyAgICAgICAgLy8g
ICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwg
InJlc3VsdFswXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAorICAgICAgICAv
LyAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sx
XSwgIiArICIsIG51bWJlck9mUm93cywgIl07XG4iKTsKKworICAgICAgICAvLyAgICAgICAgaWYg
KG51bWJlck9mQ29sdW1ucyA+PSAzKQorICAgICAgICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwg
IiArICIsIG51bWJlck9mUm93cyAqIDIsICJdO1xuIik7CisgICAgICAgIC8vICAgICAgICBpZiAo
bnVtYmVyT2ZDb2x1bW5zID49IDQpCisgICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAi
ICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl07XG4iKTsKICAgICAKLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdoaWxl
ICgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
bnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRz
ID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBl
KCkpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4i
KTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3Bl
KGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1l
bnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJu
TmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
In1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdCA9ICIsIGFyZ3NbMF0s
ICJbIiwgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0KKyAg
ICAgICAgLy8gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9IHJlc3VsdDtcbiIpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOworICAgICAgICAvL30gZWxzZSB7CisgICAg
ICAgIC8vICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7CisgICAgICAg
IC8vICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOworCisgICAgICAgIC8v
ICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAg
ICAgLy8gICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgLy8g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVu
dCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAg
aW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCisg
ICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwg
IiAgICBicmVhaztcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKKyAg
ICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFy
Z3NbMV0sICJdO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSByZXN1bHQ7XG4iKTsKKyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlICgwKTtcbiIpOworICAgICAgICAvL30KIAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJvcGVyYXRvcltdPSIpIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5j
ZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBzaXplX3QgbnVtVHlwZUFyZ3Vt
ZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6
OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVu
Y2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMo
KS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRzID09IDMpIHsKLSAgICAgICAg
ICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkg
PT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7
Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5u
dW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1u
cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLQotICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIG0gPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFd
LCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVy
T2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0
dXJuTmFtZSwgIiA9IG07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJl
YWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJtW2ldID0gIiwgYXJnc1syXSwgIlswXTtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJd
LCAiWzFdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQot
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAi
LCBudW1iZXJPZlJvd3MgKiAyLCAiXSA9ICIsIGFyZ3NbMl0sICJbMl07XG4iKTsKLSAgICAgICAg
ICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDMsICJd
ID0gIiwgYXJnc1syXSwgIlszXTtcbiIpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IG07XG4iKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3
aGlsZSgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLQotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAg
IGF1dG8gbWV0YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAg
ICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgdW5z
aWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0g
IiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJh
bWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAg
IGluZGVudCwgImlmIChpID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJn
c1syXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHY7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfQorICAgICAgICAvL2F1dG8mIHR5
cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAgICAgLy9zaXplX3Qg
bnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihk
b3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+
KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5
cGVBcmd1bWVudHMoKS5zaXplKCk7CisgICAgICAgIC8vaWYgKG51bVR5cGVBcmd1bWVudHMgPT0g
MykgeworICAgICAgICAvLyAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDMpOworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUGFyYW1ldGVy
Mk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRh
bFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpKTsKKworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZlJv
d3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgIC8vICAg
IHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJp
eENvbHVtbnMoKTsKKworICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJkbyB7XG4iKTsKKyAgICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRp
b25TY29wZSBzY29wZShpbmRlbnQpOworCisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwg
IiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBt
ZXRhbFBhcmFtZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKKyAgICAgICAgLy8g
ICAgICAgICAgICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCisg
ICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xu
IiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAorICAgICAg
ICAvLyAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5k
ZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAorICAgICAgICAvLyAgICAgICAgICAg
IGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xu
Iik7CisgICAgICAgIC8vICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCisgICAgICAg
IC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVt
YmVyT2ZSb3dzICogMiwgIl0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7CisgICAgICAgIC8vICAg
ICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCisgICAgICAgIC8vICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl0g
PSAiLCBhcmdzWzJdLCAiWzNdO1xuIik7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBtO1xuIik7CisgICAgICAgIC8vICAgIH0K
KyAgICAgICAgLy8gICAgCisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgLy99IGVsc2UgeworICAgICAgICAvLyAgICBS
RUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOworCisgICAgICAgIC8vICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7
CisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFd
LT50eXBlKCkpOworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwor
CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOworCisg
ICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOworICAg
ICAgICAvLyAgICB7CisgICAgICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7CisKKyAgICAgICAgLy8gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAg
ICAvLyAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHYgPSAiLCBhcmdzWzBd
LCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5h
bWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVu
dCwgImlmIChpID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAorICAgICAgICAvLyAgICAgICAg
ICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gdjtcbiIsCisgICAgICAgIC8vICAg
ICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBp
bmRlbnQsICJ9XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgInZbaV0gPSAiLCBh
cmdzWzJdLCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSB2O1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOworICAgICAgICAvL30KIAogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNP
cGVyYXRvcigpKSB7CiAgICAgICAgIGF1dG8gb3BlcmF0b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciJfc3RyLmxlbmd0aCgpKTsKLSAg
ICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgLy9hdXRvIG1ldGFs
UmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi50eXBlKCkpOworCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIG1h
dHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
KSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9
ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5h
bWUsICJ4O1xuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
Ly8gVGhpcyBpcyBvayB0byBkbyBzaW5jZSB0aGUgYXJncyB0byB0aGlzIGZ1bmN0aW9uIGFyZSBh
bGwgdGVtcHMuCisgICAgICAgICAgICAvLyBTbyArKyBpcyAiQSBPSyIuCisgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcsIG9wZXJhdG9yTmFtZSwgYXJnc1swXSwgJyknKTsKKwor
ICAgICAgICAgICAgLy9pZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgICAgIC8vICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOworICAgICAgICAgICAgLy8gICAgeworICAgICAg
ICAgICAgLy8gICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAg
ICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgIC8vICAgICAg
ICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAor
ICAgICAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHguc2l6ZSgpOyArK2kpXG4iLAorICAgICAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIg
ICAgeFtpXSA9ICIsIG9wZXJhdG9yTmFtZSwgInhbaV07XG4iLAorICAgICAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAvLyAg
ICB9CisgICAgICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4i
KTsKKyAgICAgICAgICAgIC8vfSBlbHNlIHsKKyAgICAgICAgICAgIC8vICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOworICAgICAgICAgICAgLy8gICAgeworICAgICAgICAg
ICAgLy8gICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgICAg
IC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgIC8vICAgICAgICAg
ICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAg
ICAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRv
ck5hbWUsICJ4O1xuIik7CisgICAgICAgICAgICAvLyAgICB9CisgICAgICAgICAgICAvLyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIC8vfQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgLyoKICAgICAgICAgQVNTRVJU
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAg
ICAgICAgaWYgKGF1dG8qIGxlZnRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBpZiAo
YXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpKSB7CkBAIC01MTcsNiArNTUxLDEwIEBAIHZvaWQg
aW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAogICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKICAgICAg
ICAgfQorICAgICAgICAqLworCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAg
ICAgICAgJygnLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnKScp
OwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC01NDgsNzUgKzU4Niw4MSBAQCB2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFTU0VSVChuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gIiwgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwg
JygnLCBhcmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25OYW1lKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpID09ICJwb3ciIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJhdGFu
MiIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSwgIigiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOworICAgICAgICAg
ICAgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1swXSwgIiwgIiwg
YXJnc1sxXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAgIEFTU0VSVChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAg
ICAgIGlmIChhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7
Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7
Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAi
W2ldLCAiLCBhcmdzWzFdLCAiW2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3Nb
MV0sICIsICIsIGFyZ3NbMl0sICIpO1xuIik7Ci0gICAgICAgIH0KKworICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdz
WzFdLCAiLCAiLCBhcmdzWzJdLCAnKScpOworCisgICAgICAgIC8vIE9PUFM6IHRlc3Qgdy8gbWF0
cmljZXMuCisgICAgICAgIC8vaWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKKyAgICAgICAgLy8gICAgCisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIntcbiIpOworICAgICAgICAvLyAgICB7CisgICAgICAgIC8vICAgICAgICBJbmRlbnRh
dGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwg
IiB4O1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQs
ICIgICAgeFtpXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIs
IGFyZ3NbMl0sICJbaV0pOyIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0geDtcbiIpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAvL30gZWxzZSB7CisgICAgICAg
IC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJn
c1syXSwgIik7XG4iKTsKKyAgICAgICAgLy99CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFsbE1lbW9yeUJhcnJp
ZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1l
bV9kZXZpY2UpO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIo
bWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRo
cmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4iKTsKKyAgICAgICAg
ICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiLAorICAgICAg
ICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIiwK
KyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUp
Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5uYW1lKCkgPT0gIkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewog
ICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50
LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIik7CisgICAg
ICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gIkdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAg
IEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsK
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJl
YWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIpOworICAgICAg
ICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIik7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgiSW50ZXJsb2NrZWQiX3N0cikpIHsKICAgICAgICAgaWYg
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJJbnRlcmxvY2tlZENvbXBhcmVF
eGNoYW5nZSIpIHsKICAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gNCk7CisgICAgICAgICAgICAvLyBPT1BTOiBQb2ludGVy
cz8gSXMgdGhpcyBldmVuIHBvc3NpYmxlPwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vh
a19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwg
bWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAg
ICAgICAgICAgaW5kZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7Cisg
ICAgICAgICAgICAgICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIs
IGFyZ3NbMF0sICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJf
cmVsYXhlZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywg
YXJnc1szXSwgIiA9ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5s
ZW5ndGgoKSkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGlu
ZGVudCwgJyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJn
c1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAg
ICAgICAgICAnKicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBh
cmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjMwLDcgKzY3NCw3IEBAIHZvaWQgaW5saW5lTmF0aXZl
RnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGgg
PSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNh
bXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIs
IGFyZ3NbMV0sICIsICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJh
eSgpKSB7CiAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAg
LTY0MiwxNCArNjg2LDE2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0
dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoIi4iLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQi
KSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vIE9PUFMKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgCisgICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1
cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFT
VDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3du
Y2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5
Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5n
dGgobG9jYXRpb25UeXBlKTsKQEAgLTcxNyw2ICs3NjMsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
O1xuIik7CiAgICAgICAgIH0KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fSB3aGlsZSgwKTtcbiIpOworICAgICAgICAqLwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC03MjQsMTggKzc3MSwyMSBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsb2FkIikg
ewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDEpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAg
IGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0s
ICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0b21pY19sb2Fk
X2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpID09ICJzdG9yZSIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1sw
XSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAg
ICAgICAiYXRvbWljX3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIs
IG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJHZXREaW1lbnNpb25zIikg
eworICAgICAgICAvLyBPT1BTOiBXZSBkb24ndCBoYXZlIHBvaW50ZXJzLCB3aGF0IHRvIGRvIGhl
cmU/CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8qCiAg
ICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogCiAgICAgICAgIHNpemVf
dCBpbmRleCA9IDE7CkBAIC03OTksNiArODQ5LDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlv
bihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCAqbnVtYmVy
T2ZMZXZlbHNOYW1lLCAiKVxuIiwKICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpu
dW1iZXJPZkxldmVsc05hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9udW1fbWlwX2xldmVscygp
O1xuIik7CiAgICAgICAgIH0KKyAgICAgICAgKi8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtODM5LDYgKzg5MCwxMCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImCiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIlN0b3Jl
IikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDMpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
CisgICAgICAgIC8vIE9PUFMKKyAgICAgICAgLyoKICAgICAgICAgCiAgICAgICAgIGF1dG8mIHRl
eHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0
PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBpdGVtVHlwZSA9IGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4o
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+dW5pZnlO
b2RlKCkpKTsKQEAgLTg5Niw2ICs5NTEsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0
cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwog
ICAgICAgICB9CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUo
MCk7XG4iKTsKKyAgICAgICAgKi8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlv
bldyaXRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuaAkocmV2aXNpb24gMjQ5MDIwKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVG
dW5jdGlvbldyaXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFj
ZSBNZXRhbCB7CiAKIGNsYXNzIFR5cGVOYW1lcjsKIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlv
bihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgTWFuZ2xl
ZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFt
ZT4mIGFyZ3VtZW50TmFtZXMsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBzdGQ6OmZ1bmN0aW9u
PE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiwgSW5kZW50YXRpb248ND4pOwordm9pZCBpbmxpbmVO
YXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uJiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVudE5hbWVzLCBJ
bnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgSW5kZW50YXRpb248ND4pOwogCiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdy
aXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBl
V3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDE4ICsxMDMsMTEgQEAgU3RyaW5nIHdy
aXRlTmF0aXZlVHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZQogICAgICAgICAgICAgcmV0dXJuICJmbG9h
dCI7CiAgICAgICAgIH0pKCk7CiAKLSAgICAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJn
dW1lbnRzKClbMV0pKTsKLSAgICAgICAgYXV0byYgY29uc3RhbnRFeHByZXNzaW9uMSA9IFdURjo6
Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFy
Z3VtZW50cygpWzFdKTsKLSAgICAgICAgYXV0byYgaW50ZWdlckxpdGVyYWwxID0gY29uc3RhbnRF
eHByZXNzaW9uMS5pbnRlZ2VyTGl0ZXJhbCgpOwotICAgICAgICB1bnNpZ25lZCByb3dzID0gaW50
ZWdlckxpdGVyYWwxLnZhbHVlKCk7Ci0gICAgICAgIEFTU0VSVChyb3dzID09IDIgfHwgcm93cyA9
PSAzIHx8IHJvd3MgPT0gNCk7Ci0KLSAgICAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJn
dW1lbnRzKClbMl0pKTsKLSAgICAgICAgYXV0byYgY29uc3RhbnRFeHByZXNzaW9uMiA9IFdURjo6
Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFy
Z3VtZW50cygpWzJdKTsKLSAgICAgICAgYXV0byYgaW50ZWdlckxpdGVyYWwyID0gY29uc3RhbnRF
eHByZXNzaW9uMi5pbnRlZ2VyTGl0ZXJhbCgpOwotICAgICAgICB1bnNpZ25lZCBjb2x1bW5zID0g
aW50ZWdlckxpdGVyYWwyLnZhbHVlKCk7Ci0gICAgICAgIEFTU0VSVChjb2x1bW5zID09IDIgfHwg
Y29sdW1ucyA9PSAzIHx8IGNvbHVtbnMgPT0gNCk7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5n
KCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOworICAgICAgICAv
L1JFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vIE9PUFM6IG1ha2UgTVNM
IG1hdHJpeCBub3cKKyAgICAgICAgLy8gT09QUzogdGhleSdyZSBzdGF0aWMgYXNzZXJ0aW5nIG1h
dHJpY2VzIHVzZSBmbG9hdGluZyBwb2ludCBudW1zLiBXVEYhCisgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKCJXU0xNYXRyaXg8IiwgcHJlZml4LCAiLCAiLCBuYXRpdmVUeXBlRGVjbGFyYXRpb24u
bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCksICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1i
ZXJPZk1hdHJpeFJvd3MoKSwgIj4iKTsKKyAgICAgICAgLy9yZXR1cm4gbWFrZVN0cmluZygiYXJy
YXk8IiwgcHJlZml4LCAiLCAiLCBjb2x1bW5zICogcm93cywgIj4iKTsKICAgICB9CiAgICAgQVNT
RVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwog
ICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+
PihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNDg5NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgzMTAsNiArODMxMCw3IEBACiAJCTUxRkI2N0RB
MUFFNkI1RTQwMEQwNkM1QSAvKiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyog
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIyNTZDQUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFdITFNMTmFtZVNwYWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdI
TFNMQ29kZUxvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBX
SExTTEV4cHJlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUx
IC8qIFdITFNMR2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xH
bG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjU1MzIsNiArMjU1MzMsNyBAQAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExT
TExleGVyLmggKi8sCiAJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJh
bFR5cGVDaGVja2VyLmNwcCAqLywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYg
LyogV0hMU0xOYW1lU3BhY2UuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyog
V0hMU0xOYW1lQ29udGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8q
IFdITFNMTmFtZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyog
V0hMU0xOYW1lUmVzb2x2ZXIuY3BwICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRl
UGlwZWxpbmVNZXRhbC5tbQkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MywxMCArOTMsMTAgQEAgc3RhdGljIE9wdGlvbmFsPFdITFNMOjpDb21w
dXRlRGltZW5zaW9ucwogICAgICAgICBpZiAoV0hMU0w6OmR1bXBNZXRhbENvbXBpbGVUaW1lcykK
ICAgICAgICAgICAgIGRhdGFMb2dMbigiTWV0YWwgY29tcGlsZSB0aW1lczogIiwgKE1vbm90b25p
Y1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSwgIiBtcyIpOwogICAgICAg
ICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2lmbmRlZiBOREVCVUcKKy8vI2lmbmRlZiBO
REVCVUcKICAgICAgICAgaWYgKCFjb21wdXRlTGlicmFyeSkKICAgICAgICAgICAgIE5TTG9nKEAi
JUAiLCBlcnJvcik7Ci0jZW5kaWYKKy8vI2VuZGlmCiAgICAgICAgIEFTU0VSVChjb21wdXRlTGli
cmFyeSk7CiAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1NzcxIE9uY2Ugd2UgemVyby1maWxsIHZhcmlhYmxlcywgdGhlcmUgc2hvdWxk
IGJlIG5vIHdhcm5pbmdzLCBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWVycm9yKSBo
ZXJlLgogCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCShyZXZpc2lvbiAy
NDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTY2LDIyICs2NiwyNCBAQCBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZp
Y2UgZmxvYXRbCiAgICAgaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgZm91cnR5VHdvWzEzMzddID0gNTA7Ci0gICAgZm9vWzFdID0gZm91cnR5VHdvOwotICAg
IGlmICghYWxsRXF1YWwoZm9vLCA0MikpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvdXJ0eVR3
b1sxMDAwMDAwXSA9IDUwOwotICAgIGZvb1sxXSA9IGZvdXJ0eVR3bzsKLSAgICBpZiAoIWFsbEVx
dWFsKGZvbywgNDIpKQotICAgICAgICByZXR1cm47CisgICAgLy8gT09QUzogd2hhdCBzZW1hbnRp
Y3MgYXJlIHdlIGNob29zaW5nPwogCi0gICAgZmxvYXQzIHNob3VsZEJlWmVybyA9IGZvb1sxMDAw
MDBdOwotICAgIGlmIChzaG91bGRCZVplcm8ueCAhPSAwIHx8IHNob3VsZEJlWmVyby55ICE9IDAg
fHwgc2hvdWxkQmVaZXJvLnogIT0gMCkKLSAgICAgICAgcmV0dXJuOworICAgIC8vZm91cnR5VHdv
WzEzMzddID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3VydHlUd287CisgICAgLy9pZiAoIWFsbEVx
dWFsKGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsKKworICAgIC8vZm91cnR5VHdvWzEwMDAw
MDBdID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3VydHlUd287CisgICAgLy9pZiAoIWFsbEVxdWFs
KGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsKKworICAgIC8vZmxvYXQzIHNob3VsZEJlWmVy
byA9IGZvb1sxMDAwMDBdOworICAgIC8vaWYgKHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxk
QmVaZXJvLnkgIT0gMCB8fCBzaG91bGRCZVplcm8ueiAhPSAwKQorICAgIC8vICAgIHJldHVybjsK
IAotICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDApCi0gICAgICAgIHJldHVybjsKKyAg
ICAvL2lmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDApCisgICAgLy8gICAgcmV0dXJuOwogCiAg
ICAgYnVmZmVyW3VpbnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICog
Mi4wOwogfQpAQCAtMTQ1LDcgKzE0Nyw3IEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkg
ewogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzddID09IDgpCiAgICAgICAgIHRlc3RQ
YXNzZWQoIiIpOwogICAgIGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7CisgICAgICAgIHRl
c3RGYWlsZWQoIm5vdCBjb3JyZWN0Iik7CiAgICAgcmVzdWx0c0J1ZmZlci51bm1hcCgpOwogfQog
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377390</attachid>
            <date>2019-08-27 15:14:37 -0700</date>
            <delta_ts>2019-08-27 17:38:43 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>121533</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDggQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNp
bmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVz
cGFjZSBXSExTTCB7CkBAIC02MzUsOCArNjM3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0
KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJn
dW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJl
c29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5
cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5
cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY1NSw2ICs2NTUsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVu
bmFtZWRUeXBlJiB3cmFwcGVkVWludFR5cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBw
ZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1
cm4gKm1fd3JhcHBlZFVpbnRUeXBlOworICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7
CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9kZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYg
KzY3NSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5j
ZT4gbV93cmFwcGVkRmxvYXRUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1f
d3JhcHBlZFVpbnRUeXBlOwogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRl
eEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OCwxNyBAQCBz
dGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitz
dGF0aWMgYm9vbCBtYXRjaEFuZENvbW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBB
U1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBlKQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5n
VHlwZSkgeworICAgICAgICBpZiAobWF0Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBb
Jl0oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9v
bCB7CisgICAgICAgIHJldHVybiBtYXRjaEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5
cGUtPnJlc29sdmFibGVUeXBlKCkpOworICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6
OlVubmFtZWRUeXBlPiBjb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAg
ICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNU
OjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
ewpAQCAtMTAyOSw3ICsxMDQ4LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExNzAsMTQ0ICsxMTg5LDk2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFsZWZ0QWRkcmVzc1NwYWNlICYmICF0aHJl
YWRBbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11c3QgZWl0aGVyIGhhdmUgYSB0aHJl
YWQgYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIC8vIE9PUFM6IFdl
IG5lZWQgdG8gbWF0Y2ggc3dpenpsZSArIHNpbmdsZSBlbGVtZW50IGZ1bmN0aW9ucyB0byBtYWtl
IHN1cmUgdGhleSdyZSByZWFsIHByb3BlcnR5IG5hbWVzIQorICAgICAgICBpZiAoZG90RXhwcmVz
c2lvbi5maWVsZE5hbWUoKS5sZW5ndGgoKSA9PSAxKSB7CisgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24p
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4
cHJlc3Npb24sICpiYXNlVW5uYW1lZFR5cGUuZ2V0KCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAg
ICAgICAgfQogICAgIH0KK30KIAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRl
ckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEg
dGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlz
aXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAg
ICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmlu
ZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYm
ICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0g
ICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0
Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5
cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBl
eHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdl
dHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4g
dHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBp
ZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1
bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5
cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJS
ZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
KSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmlu
Z1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVy
cm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHBy
ZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRl
clJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRl
clJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZp
bmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3Vt
ZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5k
KCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJO
YW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBp
ZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5v
ZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVu
Y2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lv
biwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJy
YXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+
dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1Zl
Y3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwg
bmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAg
ICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dz
KCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29s
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJU
eXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRl
eEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVG
b3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Np
b24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAg
ICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQot
Ci0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEg
Y29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVh
ZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJG
dW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVB
bm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NT
cGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAg
ICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFT
VDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9u
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0
aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29u
Y3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBX
VEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4
cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
JiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJ
bmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5m
bykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwg
JmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9t
YmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wg
ewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBz
b21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdo
IHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2
YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBw
cm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJ
U0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmll
RmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRy
aW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3Np
emUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5
cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtMTI0LDYg
KzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFsyXTsKICAg
ICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9y
U2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
c2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1f
dmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBt
YXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1QgaWYgdGhleSBhcmUgdW51c2VkLgogICAg
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiogZGR4KCkgY29uc3QKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJlcGFyZS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLWNvbnN0ZXhw
ciBib29sIGR1bXBNZXRhbENvbXBpbGVUaW1lcyA9IGZhbHNlOworY29uc3RleHByIGJvb2wgZHVt
cE1ldGFsQ29tcGlsZVRpbWVzID0gdHJ1ZTsKIAogVW5pcXVlUmVmPFNoYWRlck1vZHVsZT4gY3Jl
YXRlU2hhZGVyTW9kdWxlKGNvbnN0IFN0cmluZyYgd2hsc2xTb3VyY2UpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJvcGVydHlSZXNvbHZlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDYgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ug
V0hMU0wgewogCisvKgorCiBjbGFzcyBQcm9wZXJ0eVJlc29sdmVyIDogcHVibGljIFZpc2l0b3Ig
ewogcHVibGljOgogcHJpdmF0ZToKQEAgLTgyOCw2ICs4MzAsMTEgQEAgdm9pZCByZXNvbHZlUHJv
cGVydGllcyhQcm9ncmFtJiBwcm9ncmFtKQogewogICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNp
dG9yOjp2aXNpdChwcm9ncmFtKTsKIH0KKyovCisKK3ZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJv
Z3JhbSYpCit7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGli
cmFyeUZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25z
LmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMjMgKzUxLDYgQEAgcHVibGljOgogICAgICAgICAgICAgdmlz
aXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0
aW9uKCkpKTsKICAgICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uJiBleHByZXNzaW9uKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgYXV0byB2aXNpdEZ1
bmN0aW9uID0gWyZdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGZ1bmN0aW9uKSB7Ci0gICAg
ICAgICAgICBpZiAoIWZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9uKSkKLSAgICAgICAg
ICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9u
KSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLmdldHRl
ckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uYW5kZXJGdW5j
dGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnRocmVhZEFuZGVyRnVu
Y3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlv
bigpKTsKLQotICAgICAgICBWaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKLSAgICB9Ci0KICAg
ICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gdGFrZVJlYWNoYWJsZUZ1bmN0aW9u
cygpIHsgcmV0dXJuIFdURk1vdmUobV9yZWFjaGFibGVGdW5jdGlvbnMpOyB9CiAKIHByaXZhdGU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJk
TGlicmFyeVV0aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCShyZXZpc2lv
biAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0
YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDE0ICs2Niw2
IEBAIHByaXZhdGU6CiAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsKICAg
ICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBtX2Z1bmN0aW9u
TmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKSk7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dHRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIFZpc2l0b3I6
OnZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxT
dHJpbmc+IG1fZnVuY3Rpb25OYW1lczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0
aW9uRnVuY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTUgKzU2LDYgQEAgRXhwZWN0
ZWQ8dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVFbnVtZXJhdAogICAgICAgICAgICAgYXV0byB2YXJp
YWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+
KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxv
Y2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0
cik7CiAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAg
ICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpB
dHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlw
ZSgpLCAib3BlcmF0b3IudmFsdWUiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwg
aXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwotICAgICAgICAgICAg
aWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVh
dGUgb3BlcmF0b3IudmFsdWUgZm9yIGVudW0gdHlwZS4iKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBB
U1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiks
IFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLSAgICAgICAgICAgIEFTVDo6VmFyaWFibGVE
ZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdU
Rk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwogICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwg
ZW51bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvciBjYXN0Il9zdHIsIFdURk1v
dmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFy
ZExpYnJhcnkpKTsKICAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIGNvcHkgY29uc3RydWN0b3IgZm9yIGVudW0gdHlw
ZS4iKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xEb3RFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNz
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAgICA6
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihsb2NhdGlvbiwgS2luZDo6RG90LCBXVEZNb3ZlKGJh
c2UpKQogICAgICAgICAsIG1fZmllbGROYW1lKFdURk1vdmUoZmllbGROYW1lKSkKICAgICB7Cisg
ICAgICAgIFVOVVNFRF9QQVJBTShtX3BhZGRpbmcpOwogICAgIH0KIAogICAgIH5Eb3RFeHByZXNz
aW9uKCkgPSBkZWZhdWx0OwpAQCAtNTIsMjUgKzUzLDExIEBAIHB1YmxpYzoKICAgICBEb3RFeHBy
ZXNzaW9uKGNvbnN0IERvdEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBEb3RFeHByZXNzaW9u
KERvdEV4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9u
TmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3Iu
IiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1f
ZmllbGROYW1lLCAiPSIpOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3ImLiIsIG1f
ZmllbGROYW1lKTsKLSAgICB9Ci0KICAgICBTdHJpbmcmIGZpZWxkTmFtZSgpIHsgcmV0dXJuIG1f
ZmllbGROYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZmllbGROYW1lOworICAgIGNo
YXIgbV9wYWRkaW5nWzEyXTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
RXhwcmVzc2lvbi5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjgsMzMgKzE2OCw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYg
ZXgKICAgICB9CiB9CiAKLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkK
LSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5j
dGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAg
IHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5h
bWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAg
IGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxE
b3RFeHByZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPElu
ZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHBy
ZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5k
ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhp
cykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5kZXJG
dW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAg
ICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9u
TmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIEFTVAogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhF
eHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MiwyMSArNTIsNiBAQCBwdWJsaWM6CiAgICAgSW5kZXhFeHByZXNzaW9uKGNvbnN0IEluZGV4
RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIEluZGV4RXhwcmVzc2lvbihJbmRleEV4cHJlc3Np
b24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW10iX3N0cjsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAi
b3BlcmF0b3JbXT0iX3N0cjsKLSAgICB9Ci0KLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvciZbXSJfc3RyOwotICAgIH0K
LQogICAgIEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbigpIHsgcmV0dXJuIG1faW5kZXg7IH0K
ICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUluZGV4KCkgeyByZXR1cm4gV1RGTW92ZSht
X2luZGV4KTsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24u
aAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2
LDExICs4NiwyOSBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0
cml4Um93cygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAg
ICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOwogICAgIH0KICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeENvbHVtbnMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lv
bigyKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigxKTsKKyAgICB9CisKKyAgICBU
eXBlUmVmZXJlbmNlJiB2ZWN0b3JUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KGlzVmVjdG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVy
ZW5jZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CisgICAgfQorCisgICAgdW5zaWduZWQgdmVjdG9y
U2l6ZSgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVy
biBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odHlwZUFyZ3VtZW50cygpWzFdKS5p
bnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7CisgICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgbWF0
cml4VHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc01hdHJpeCgpKTsKKyAg
ICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1l
bnRzKClbMF0pOwogICAgIH0KIAogICAgIHZvaWQgc2V0SXNJbnQoKSB7IG1faXNJbnQgPSB0cnVl
OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQ
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUz
LDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAg
U3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsK
LQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9n
ZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24o
KSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0
aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0g
ICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRl
ckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFy
YXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9
IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5j
dGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1
bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVy
RnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7
Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0g
ICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBz
ZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJG
dW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNl
OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4g
bV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4g
V1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+
IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVs
bHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBu
dWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51
bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xG
dW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw2ICs0MSw4IEBACiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisjaW5jbHVkZSA8d3RmL0RhdGFM
b2cuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewpAQCAtNjMs
NyArNjUsNTcgQEAgc3RhdGljIHZvaWQgZGVjbGFyZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZQogICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CiB9CiAKK3N0cnVjdCBWYXJpYWJsZSB7Cisg
ICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuYW1lOworICAgIE1hbmdsZWRUeXBlTmFtZSB0eXBlOwor
fTsKKwogY2xhc3MgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyIDogcHVibGljIFZpc2l0b3Igewor
ICAgIGNsYXNzIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3RvciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAg
ICAgICAgcHVibGljOgorICAgICAgICBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IoRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAgICAgICAgICA6
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcihmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAg
ICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lv
biYgY2FsbEV4cHJlc3Npb24pIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgc2l6ZV90IHNpemUgPSBjYWxsRXhw
cmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7CisgICAgICAgICAgICBib29sIGlzVm9pZCA9IG1h
dGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlci5tX2ludHJpbnNpY3Mudm9pZFR5cGUoKSk7CisgICAgICAgICAgICBpZiAoIWlzVm9pZCkK
KyAgICAgICAgICAgICAgICArK3NpemU7CisgICAgICAgICAgICB2YXJpYWJsZXMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShzaXplKTsKKworICAgICAgICAgICAgZm9yIChhdXRvJiBhcmd1bWVudCA6
IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpKSB7CisgICAgICAgICAgICAgICAgYXV0byB0eXBl
ID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShhcmd1bWVudC0+cmVzb2x2ZWRUeXBlKCkpOworICAgICAgICAgICAgICAgIGF1dG8gbmFtZSA9
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAg
ICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZhcmlhYmxlIHsgbmFtZSwg
dHlwZSB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFpc1ZvaWQpCisgICAg
ICAgICAgICAgICAgdmFyaWFibGVzLnVuY2hlY2tlZEFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lv
bi5yZXNvbHZlZFR5cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZjYWxsRXhw
cmVzc2lvbiwgV1RGTW92ZSh2YXJpYWJsZXMpKTsKKworICAgICAgICAgICAgVmlzaXRvcjo6dmlz
aXQoY2FsbEV4cHJlc3Npb24pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChBU1Q6
OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mIHJlYWRNb2RpZnlXcml0ZSkgb3ZlcnJpZGUKKyAg
ICAgICAgeworICAgICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAg
ICAgICB2YXJpYWJsZXMuYXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
LmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKS50
eXBlKCkpIH0pOworICAgICAgICAgICAgdmFyaWFibGVzLmFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqcmVhZE1vZGlm
eVdyaXRlLm5ld1ZhbHVlKCkudHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9Ib2lzdC5hZGQo
JnJlYWRNb2RpZnlXcml0ZSwgV1RGTW92ZSh2YXJpYWJsZXMpKTsKKworICAgICAgICAgICAgVmlz
aXRvcjo6dmlzaXQocmVhZE1vZGlmeVdyaXRlKTsKKyAgICAgICAgfQorCisgICAgICAgIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlciYgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOworICAgICAgICBI
YXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIFZlY3RvcjxWYXJpYWJsZT4+IHRvSG9pc3Q7CisgICAg
fTsKKwogcHVibGljOgogICAgIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcihTdHJpbmdCdWlsZGVy
JiBzdHJpbmdCdWlsZGVyLCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVO
YW1lciwgSGFzaE1hcDxBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qLCBNYW5nbGVkRnVuY3Rpb25O
YW1lPiYgZnVuY3Rpb25NYXBwaW5nLCBMYXlvdXQmIGxheW91dCkKICAgICAgICAgOiBtX3N0cmlu
Z0J1aWxkZXIoc3RyaW5nQnVpbGRlcikKQEAgLTEwNCwxMCArMTU2LDkgQEAgcHJvdGVjdGVkOgog
ICAgIHZvaWQgdmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQg
dmlzaXQoQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlh
YmxlUmVmZXJlbmNlJikgb3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Np
b24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC0yMDks
NiArMjYwLDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fdmFyaWFibGVDb3VudCB7IDAg
fTsKICAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2JyZWFrT3V0T2ZDdXJyZW50
TG9vcEVhcmx5VmFyaWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9pbmRlbnQgeyAwIH07Cisg
ICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiBtX2hvaXN0ZWRW
YXJpYWJsZXM7CiB9OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsyNzAsMTMgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9uRGVmaW5p
dGlvbikKIHsKKworICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIGNvbGxl
Y3RvcigqdGhpcyk7CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2aXNpdChmdW5jdGlvbkRl
ZmluaXRpb24pOworICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBXVEZNb3ZlKGNvbGxlY3Rv
ci50b0hvaXN0KTsKKyAgICB9CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1hcHBp
bmcuZmluZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9m
dW5jdGlvbk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50cnlQ
b2ludFR5cGUoKSkgewpAQCAtMjM4LDYgKzI5NywxMiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3Zh
cmlhYmxlTWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0sIG1f
ZW50cnlQb2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAgICAg
ICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsK
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2ZWN0b3IgOiBt
X2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8g
dmFyaWFibGUgOiB2ZWN0b3IpCisgICAgICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywgdmFyaWFibGUubmFtZSwgIjtcbiIp
OworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rp
b25EZWZpbml0aW9uLmJsb2NrKCkpOwogICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0
eSgpKTsKICAgICAgICAgfQpAQCAtMjQ4LDE2ICszMTMsMjQgQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgICAgICBBU1NFUlQobV9lbnRyeVBvaW50U2NhZmZv
bGRpbmcgPT0gbnVsbHB0cik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmdW5jdGlvbkRlZmluaXRpb24udHlw
ZSgpKSwgJyAnLCBpdGVyYXRvci0+dmFsdWUsICcoJyk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCk7ICsraSkgewot
ICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRl
cnMoKVtpXTsKICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIgPSBmdW5jdGlv
bkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXJO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgICAgICAgICBhdXRvIGFkZFJl
c3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmcGFyYW1ldGVyLCBwYXJhbWV0ZXJOYW1lKTsK
ICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRy
eSk7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZSgqcGFyYW1ldGVyLT50eXBlKCkpLCAnICcsIHBhcmFtZXRlck5hbWUpOwog
ICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilcbiIpOworCisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIntcbiIpOworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHZlY3RvciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkgeworICAgICAgICAgICAg
Zm9yIChhdXRvIHZhcmlhYmxlIDogdmVjdG9yKQorICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywgdmFyaWFibGUubmFtZSwg
IjtcbiIpOworICAgICAgICB9CisKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1bmN0aW9u
RGVmaW5pdGlvbi5ibG9jaygpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgifVxu
Iik7CiAgICAgICAgIEFTU0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CiAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJ1xuJyk7CiAgICAgfQpAQCAtMzA5LDggKzM4MiwxMCBAQCB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQmIGVmZmVj
dGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0
ZW1lbnQuZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsKLSAgICB0YWtlTGFzdFZhbHVlKCk7IC8vIFRo
ZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3RmdWwsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8g
YW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgorICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtc
biIpOworICAgIC8vdGFrZUxhc3RWYWx1ZSgpOyAvLyBUaGUgc3RhdGVtZW50IGlzIGFscmVhZHkg
ZWZmZWN0ZnVsLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIHdpdGggdGhlIHJlc3Vs
dC4KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RmFsbHRo
cm91Z2gmKQpAQCAtMzMwLDEwICs0MDUsMTIgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OmVtaXRMb29wKAogICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHdoaWxlU2NvcGUobV9pbmRl
bnQpOwogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpCZWZvcmVCb2R5ICYmIGNvbmRpdGlvbkV4cHJlc3Npb24pIHsKKyAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgbV9pbmRlbnQsICJp
ZiAoISgiKTsKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqY29uZGl0aW9uRXhwcmVz
c2lvbik7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgIG1faW5kZW50LCAiaWYgKCEiLCB0YWtlTGFzdFZhbHVlKCksICIpXG4iLAotICAgICAgICAg
ICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xuIik7CisgICAgICAgICAgICAgICAgIikpXG4i
LAorICAgICAgICAgICAgICAgICIgICAgYnJlYWs7XG4iKTsKICAgICAgICAgfQogCiAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJkbyB7XG4iKTsKQEAgLTM1MCwxNyAr
NDI3LDE4IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCgKICAgICAg
ICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xuIik7CiAKICAgICAgICAgaWYgKGluY3JlbWVu
dCkgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKCIpOwogICAgICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KCppbmNyZW1lbnQpOwotICAgICAgICAgICAgLy8gRXhwcmVz
c2lvbiByZXN1bHRzIGdldCBwdXNoZWQgdG8gbV9zdGFjay4gV2UgZG9uJ3QgdXNlIHRoZSByZXN1
bHQKLSAgICAgICAgICAgIC8vIG9mIGluY3JlbWVudCwgc28gd2UgZGlzcGVuc2Ugb2YgdGhhdCBu
b3cuCi0gICAgICAgICAgICB0YWtlTGFzdFZhbHVlKCk7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobG9vcENvbmRp
dGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlvbjo6QWZ0ZXJCb2R5ICYmIGNvbmRp
dGlvbkV4cHJlc3Npb24pIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISgiKTsKICAgICAgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdCgqY29uZGl0aW9uRXhwcmVzc2lvbik7CiAgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEiLCB0YWtlTGFz
dFZhbHVlKCksICIpXG4iLAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xu
Iik7CisgICAgICAgICAgICAgICAgIikpXG4iLAorICAgICAgICAgICAgICAgICIgICAgYnJlYWs7
XG4iKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzkwLDEyICs0NjgsMTUgQEAgdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpJZlN0YXRlbWVudCYgaWZTdGF0ZW1lbnQpCiB7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgImlmICgiKTsKICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoaWZTdGF0ZW1lbnQuY29uZGl0aW9uYWwoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgImlmICgiLCB0YWtlTGFzdFZhbHVlKCksICIpIHtcbiIpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikge1xuIik7CisKICAgICB7CiAgICAgICAgIEluZGVudGF0
aW9uU2NvcGUgaWZTY29wZShtX2luZGVudCk7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChp
ZlN0YXRlbWVudC5ib2R5KCkpOwogICAgIH0KKwogICAgIGlmIChpZlN0YXRlbWVudC5lbHNlQm9k
eSgpKSB7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9IGVsc2Ug
e1xuIik7CiAgICAgICAgIHsKQEAgLTQwMywyOSArNDg0LDM0IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgq
aWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSk7CiAgICAgICAgIH0KICAgICB9CisKICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifVxuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJldHVybiYgcmV0dXJuU3RhdGVtZW50KQogewogICAg
IGlmIChyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKSkgeworICAgICAgICBhdXRvIHRlbXBSZXR1cm5O
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7IAorICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0dXJu
U3RhdGVtZW50LnZhbHVlKCktPnJlc29sdmVkVHlwZSgpKSwgJyAnLCB0ZW1wUmV0dXJuTmFtZSwg
IiA9ICIpOyAKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpyZXR1cm5TdGF0ZW1lbnQudmFs
dWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAg
IGlmIChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZykgewogICAgICAgICAgICAgYXV0byB2YXJpYWJs
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fZW50cnlQ
b2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1aWxkZXIsIHRha2VMYXN0VmFsdWUo
KSwgdmFyaWFibGVOYW1lLCBtX2luZGVudCk7CisgICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2Fm
Zm9sZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0ZW1wUmV0dXJuTmFtZSwgdmFyaWFi
bGVOYW1lLCBtX2luZGVudCk7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCAicmV0dXJuICIsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOwogICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwg
dGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRlbXBSZXR1cm5OYW1lLCAiO1xuIik7CiAgICAgfSBl
bHNlCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm47XG4i
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6U3dpdGNo
U3RhdGVtZW50JiBzd2l0Y2hTdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgInN3aXRjaCAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHN3aXRjaFN0
YXRlbWVudC52YWx1ZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIHsiKTsKIAot
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJzd2l0Y2ggKCIsIHRha2VMYXN0
VmFsdWUoKSwgIikgeyIpOwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0Y2hT
Y29wZShtX2luZGVudCk7CiAgICAgICAgIGZvciAoYXV0byYgc3dpdGNoQ2FzZSA6IHN3aXRjaFN0
YXRlbWVudC5zd2l0Y2hDYXNlcygpKQpAQCAtNDU0LDMwICs1NDAsMjkgQEAgdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYgaW50ZWdlckxpdGVyYWwpCiB7Ci0gICAg
YXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRv
IG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShpbnRlZ2Vy
TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0
PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgaW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIik7XG4i
KTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFt
ZSwgIj4oIiwgaW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYgdW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWwucmVzb2x2ZWRUeXBl
KCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFt
ZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUs
ICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIik7XG4iKTsKLSAgICBhcHBl
bmRSaWdodFZhbHVlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAi
PigiLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRl
cmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUoZmxvYXRMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0g
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwudmFsdWUo
KSwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGZsb2F0TGl0ZXJhbCwgdmFyaWFibGVO
YW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVk
VHlwZU5hbWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVy
YWwpCiB7CisgICAgVU5VU0VEX1BBUkFNKG51bGxMaXRlcmFsKTsKKyAgICBib29sIGIgPSB0cnVl
OworICAgIGlmIChiKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IC8qCiAgICAgYXV0byYgdW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5p
ZnlOb2RlKCk7CiAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRU
eXBlPih1bmlmeU5vZGUpOwogICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6
OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwpAQCAtNDg5LDI0ICs1NzQsMjEgQEAg
dm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIGVsc2UKICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwogICAgIGFwcGVuZFJpZ2h0
VmFsdWUobnVsbExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgKi8KIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5M
aXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUoYm9vbGVhbkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFs
LnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoYm9vbGVhbkxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJh
bC52YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0
ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShlbnVtZXJhdGlvbk1lbWJlckxpdGVy
YWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQs
IG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBtYW5nbGVkVHlwZU5h
bWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVyYXRpb25NZW1iZXIoKmVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigpKSwgIjtcbiIpOwotICAg
IGFwcGVuZFJpZ2h0VmFsdWUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiOjoiLCBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uKQpAQCAtNTE0LDUw
ICs1OTYsODAgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
IFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAg
IC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0
aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUoZG90RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOwot
fQotCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpHbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZSYgZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UpCiB7Ci0gICAgYXV0byB2YWx1
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBNYW5nbGVkVHlwZU5hbWUg
bWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGdsb2JhbFZh
cmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKLQotICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgc3RydWN0VmFyaWFibGUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0KICAgICBNYW5nbGVkU3RydWN0
dXJlRWxlbWVudE5hbWUgbWFuZ2xlZEZpZWxkTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yU3RydWN0dXJlRWxlbWVudChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5zdHJ1Y3RGaWVsZCgp
KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJhc2UoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKS0+IiwgbWFuZ2xlZEZpZWxkTmFtZSk7Cit9CiAKLSAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhbHVl
TmFtZSwgIiA9ICIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xu
Iik7Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNz
aW9uJiBkb3RFeHByZXNzaW9uKQoreworICAgIGF1dG8mIHR5cGUgPSBkb3RFeHByZXNzaW9uLmJh
c2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKIAotICAgIGFwcGVuZExlZnRWYWx1ZShn
bG9iYWxWYXJpYWJsZVJlZmVyZW5jZSwgdmFsdWVOYW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3RO
dWxsLAotICAgICAgICBbdGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBzdHJ1Y3RWYXJpYWJsZSwgbWFu
Z2xlZEZpZWxkTmFtZV0gewotICAgICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBtX2luZGVudCwgInRocmVhZCAiLCBtYW5nbGVkVHlwZU5hbWUsICIq
ICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmll
bGROYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0gICAgICAg
IH0pOworICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAg
ICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURl
ZmluaXRpb24+KHR5cGUpOworICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0
dXJlRGVmaW5pdGlvbi5maW5kKGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpOworICAgICAgICBB
U1NFUlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIGF1dG8gZWxlbWVudE5hbWUgPSBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQp
OworCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgU3Ry
aW5nIGVsZW1lbnROYW1lID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKTsKKyAgICAgICAgaWYg
KGVsZW1lbnROYW1lID09ICJsZW5ndGgiICYmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
dHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpLmlzVmVjdG9yKCkpKSkgeworICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZl
cmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lv
bi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikubGVu
Z3RoIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSkg
eworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAg
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpBcnJh
eVR5cGU+KHR5cGUpLm51bUVsZW1lbnRzKCksICIpIik7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclNpemUoKSwgIikiKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygn
KTsKKyAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7
CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnROYW1lKTsK
KyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCiB7Ci0gICAgLy8gVGhp
cyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRW
YWx1ZShpbmRleEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0KKyAg
ICBhdXRvJiB0eXBlID0gaW5kZXhFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlm
eU5vZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlz
PEFTVDo6QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgp
KTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5wb2ludGVyWyIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsK
KyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXScpOworICAgIH0gZWxzZSBpZiAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpKSB7CisgICAgICAgIC8vIE9PUFM6IERv
bid0IGRvdWJsZSBnZW5lcmF0ZSBpbmRleCBleHByZXNzaW9uIGhlcmUuCisgICAgICAgIGF1dG8m
IG5hdGl2ZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSk7
CisgICAgICAgIHVuc2lnbmVkIHNpemU7CisgICAgICAgIGlmIChuYXRpdmVUeXBlLmlzTWF0cml4
KCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZlVHlwZS5udW1iZXJPZk1hdHJpeENvbHVtbnMo
KTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAgICAg
c2l6ZSA9IG5hdGl2ZVR5cGUudmVjdG9yU2l6ZSgpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbikKLXsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHku
Ci0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1w
bGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
biwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKVsoIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPCAiLCBzaXplLCAiKSA/ICgiKTsKKyAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24o
KSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiAwXSIpOworICAgIH0gZWxz
ZQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyAKIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiYgdmFy
aWFibGVEZWNsYXJhdGlvbikKQEAgLTU2OCwxNCArNjgwLDIzIEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRk
UmVzdWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZpZXJzLgogICAgIGlmICh2
YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJp
YWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7CiAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigp
KTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFy
aWFibGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZh
cmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7IH07XG4i
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6QXNzaWdu
bWVudEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJygnKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3Np
Z25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcp
Jyk7CisKKyAgICAvKgogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3NpZ25tZW50RXhwcmVzc2lv
bi5sZWZ0KCkpOwogICAgIGF1dG8gW3BvaW50ZXJOYW1lLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFz
dExlZnRWYWx1ZSgpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3NpZ25tZW50RXhwcmVzc2lv
bi5yaWdodCgpKTsKQEAgLTU4OCwxMTMgKzcwOSwxNTAgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtcbiIp
OwogICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoYXNzaWdubWVudEV4cHJlc3Np
b24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAgKi8KIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHBy
ZXNzaW9uKQogeworICAgIGF1dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5kKCZjYWxs
RXhwcmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRWYXJpYWJs
ZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAgIFJFTEVB
U0VfQVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA8PSB2YXJpYWJsZXMu
c2l6ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnROYW1lczsK
LSAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsK
LSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJndW1lbnRO
YW1lcy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlzVm9pZCA9
IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lk
VHlwZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAgaWYgKCFp
c1ZvaWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgp
OwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHJl
dHVybk5hbWUsICI7XG4iKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWU7Cisg
ICAgaWYgKCFtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBtX2ludHJpbnNp
Y3Mudm9pZFR5cGUoKSkpCisgICAgICAgIHJlc3VsdE5hbWUgPSB2YXJpYWJsZXMubGFzdCgpLm5h
bWU7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkgeworICAg
ICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Cisg
ICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lKTsKKyAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSwgIiA9ICIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKClbaV0pOwogICAg
IH0KIAotICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHBy
ZXNzaW9uLmZ1bmN0aW9uKCkpKSB7Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lID0gW3RoaXNdKCkgLT4gTWFuZ2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAgICByZXR1
cm4gdGhpcy0+Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07CisgICAgaWYg
KGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSkKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiLCAiKTsKIAotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicp
OwotICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRvd25jYXN0
PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24o
KSksIHJldHVybk5hbWUsIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBlTmFtZXIs
IFdURk1vdmUoZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKSwgbV9pbmRlbnQpOwotICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOworICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7CisgICAgICAgIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgYXJndW1lbnRO
YW1lcywgcmVzdWx0TmFtZSwgbV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgbV9pbmRlbnQpOwog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQpOwot
CiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZjYWxsRXhw
cmVzc2lvbi5mdW5jdGlvbigpKTsKICAgICAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fZnVuY3Rp
b25NYXBwaW5nLmVuZCgpKTsKLSAgICAgICAgaWYgKCFpc1ZvaWQpCi0gICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKHJldHVybk5hbWUsICIgPSAiKTsKICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChpdGVyYXRvci0+dmFsdWUsICcoJyk7Ci0gICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgYXJndW1lbnROYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsgKytpKSB7
CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChhcmd1bWVudE5h
bWVzW2ldKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFibGVzW2ld
Lm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4i
KTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0KIAotICAgIGFw
cGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVybk5hbWUpOworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4cHJlc3Npb24pCiB7Ci0gICAgT3B0
aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0OworICAgIGlmICghY29tbWFFeHByZXNz
aW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbXB0eSBjb21tYSEiKTsK
KyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFuT25j
ZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lvbi5s
aXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZhbHVl
KCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY29t
bWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJiBkZXJlZmVyZW5jZUV4cHJlc3Np
b24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKigiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnBvaW50ZXIoKSk7Ci0gICAgYXV0byBbaW5w
dXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKTsK
LSAgICBhdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAg
YXV0byByZXN1bHRUeXBlID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwp
IHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50
LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwgIiA/
ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwotICAg
IH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1bHRW
YWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKKyAgICAvL2F1dG8gW2lucHV0UG9p
bnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7CisgICAg
Ly9hdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgLy9h
dXRvIHJlc3VsdFR5cGUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZGVyZWZlcmVu
Y2VFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKKworICAgIC8vaWYgKG51bGxhYmlsaXR5ID09
IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKKyAgICAvLyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKAorICAgIC8vICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSAsICcgJywgcmVzdWx0VmFs
dWUsICIgPSAiLCBpbnB1dFBvaW50ZXIsICIgPyAiLCAnKicsIGlucHV0UG9pbnRlciwgIiA6ICIs
IHJlc3VsdFR5cGUsICJ7IH07XG4iKTsKKyAgICAvL30gZWxzZQorICAgIC8vICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVlLCAiID0gKiIsIGlucHV0UG9pbnRl
ciwgIjtcbiIpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwg
cmVzdWx0VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxpdHkpOworICAgIC8vYXBwZW5kTGVm
dFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0VmFsdWUsIGlucHV0UG9pbnRlciwg
bnVsbGFiaWxpdHkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpMb2dpY2FsRXhwcmVzc2lvbiYgbG9naWNhbEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiKCgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4
cHJlc3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIGxlZnQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOwotICAgIGF1dG8g
cmlnaHQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0
ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAK
LSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwg
JyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBsZWZ0KTsKICAgICBzd2l0Y2ggKGxvZ2ljYWxFeHBy
ZXNzaW9uLnR5cGUoKSkgewogICAgIGNhc2UgQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6
QW5kOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgJiYgIik7CiAgICAgICAgIGJy
ZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChsb2dpY2FsRXhwcmVzc2lvbi50eXBl
KCkgPT0gQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3IpOworICAgIGNhc2UgQVNUOjpM
b2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3I6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiB8fCAiKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQocmlnaHQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxFeHByZXNz
aW9uLCB2YXJpYWJsZU5hbWUpOworCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOwor
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5yaWdodCgpKTsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOworCisKKyAgICAvL2NoZWNrRXJyb3JBbmRWaXNp
dChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOworICAgIC8vYXV0byBsZWZ0ID0gdGFrZUxhc3RW
YWx1ZSgpOworICAgIC8vY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0
KCkpOworICAgIC8vYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICAvL2F1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisKKyAgICAvL21fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCisgICAgLy8gICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWRO
YW1lRm9yVHlwZShsb2dpY2FsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgbGVmdCk7CisgICAgLy9zd2l0Y2ggKGxvZ2ljYWxFeHByZXNzaW9uLnR5
cGUoKSkgeworICAgIC8vY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6Cisg
ICAgLy8gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiICYmICIpOworICAgIC8vICAgIGJyZWFr
OworICAgIC8vZGVmYXVsdDoKKyAgICAvLyAgICBBU1NFUlQobG9naWNhbEV4cHJlc3Npb24udHlw
ZSgpID09IEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yKTsKKyAgICAvLyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIgfHwgIik7CisgICAgLy8gICAgYnJlYWs7CisgICAgLy99Cisg
ICAgLy9tX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJpZ2h0LCAiO1xuIik7CisgICAgLy9hcHBlbmRS
aWdodFZhbHVlKGxvZ2ljYWxFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpMb2dpY2FsTm90RXhwcmVzc2lvbiYg
bG9naWNhbE5vdEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiISgi
KTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbE5vdEV4cHJlc3Npb24ub3BlcmFuZCgp
KTsKLSAgICBhdXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJs
ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxOb3RFeHByZXNzaW9u
LnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAhIiwgb3BlcmFuZCwgIjtc
biIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5vdEV4cHJlc3Npb24sIHZhcmlhYmxl
TmFtZSk7CisgICAgLy9hdXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVlKCk7CisgICAgLy9hdXRv
IHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworCisgICAgLy9tX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgIC8vICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUobG9naWNhbE5vdEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcs
IHZhcmlhYmxlTmFtZSwgIiA9ICEiLCBvcGVyYW5kLCAiO1xuIik7CisgICAgLy9hcHBlbmRSaWdo
dFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlQXJyYXlSZWZlcmVuY2VFeHBy
ZXNzaW9uJiBtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIFVOVVNFRF9QQVJB
TShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKTsKKyAgICBib29sIGIgPSB0cnVlOworICAg
IGlmIChiKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIE9P
UFMhCisgICAgLyoKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUgbWFk
ZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZhbHVl
IHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
ODM4CkBAIC03MTQsMjUgKzg3Miw2OCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmds
ZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xu
Iik7CiAgICAgfQogICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24mIG1ha2VQb2ludGVyRXhw
cmVzc2lvbikKIHsKKyAgICAvLyBPT1BTCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigi
KTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1
ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1
ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywg
dmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51
bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hv
dWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAv
KgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhl
IHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHBy
ZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAg
KiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVh
dGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAg
ICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlm
eVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5l
bmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9B
U1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUg
b2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJs
ZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJp
YWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJp
YWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFs
dWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCco
Jyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAi
KTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsK
KworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9
ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHBy
ZXNzaW9uKCkpOworCisgICAgLy8gT09QUzogZG9uJ3QgZXZhbHVhdGUgbGVmdFZhbHVlIHR3aWNl
IQorICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZp
c2l0KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiID0gIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5k
VmlzaXQocmVhZE1vZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUOjpUZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJu
YXJ5RXhwcmVzc2lvbi5wcmVkaWNhdGUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
KSA/ICgiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uYm9keUV4
cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKKyAgICBj
aGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworCisgICAgLyoKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24ucHJlZGljYXRlKCkpOwogICAgIGF1dG8gY2hlY2sg
PSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHRlcm5hcnlFeHByZXNz
aW9uLmJvZHlFeHByZXNzaW9uKCkpOwpAQCAtNzQzLDYgKzk0NCw3IEBAIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVy
YXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh0ZXJuYXJ5RXhwcmVzc2lvbi5yZXNv
bHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgY2hlY2ssICIgPyAiLCBib2R5
LCAiIDogIiwgZWxzZUJvZHksICI7XG4iKTsKICAgICBhcHBlbmRSaWdodFZhbHVlKHRlcm5hcnlF
eHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgICovCiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVy
ZW5jZSkKQEAgLTc1MiwxMyArOTU0LDcgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVAogICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX3ZhcmlhYmxlTWFwcGluZy5lbmQo
KSk7CiAKICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhcmlhYmxlTmFtZSA9IGl0ZXJhdG9yLT52
YWx1ZTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZSh2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVO
YW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgJnZhcmlhYmxl
UmVmZXJlbmNlLCB2YXJpYWJsZU5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUg
PSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsICJ0aHJlYWQgIiwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKHZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKSwgIiogIiwgcG9pbnRlck5hbWUs
ICIgPSAmIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9pbnRl
ck5hbWU7Ci0gICAgICAgIH0pOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFibGVO
YW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdGFudEV4
cHJlc3Npb25TdHJpbmcoQVNUOjpDb25zdGFudEV4cHJlc3Npb24mIGNvbnN0YW50RXhwcmVzc2lv
bikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNM
TWV0YWxDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlz
aW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEs
NyBAQCBuYW1lc3BhY2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1ldGFs
Q29kZSA9IGZhbHNlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQorc3Rh
dGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJpbmdW
aWV3IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1Mywx
NzEgQEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxuIgog
ICAgICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisidGVtcGxh
dGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyJzdHJ1Y3QgV1NMTWF0cml4
XG4iCisie1xuIgorIiAgICB2ZWM8VCwgUm93cz4gY29sdW1uc1tDb2xzXTtcbiIKKyIgICAgcHJp
dmF0ZTpcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorIiAgICBz
dGF0aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2NvbChpbml0aWFsaXplcl9saXN0PFU+IGNvbCwgX2lu
dGVnZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJu
IHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtcbiIKKyIg
ICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2ZWM8VCwg
Um93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGluaXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVy
biB7KihlbGVtcy5iZWdpbigpICsgYyAqIFJvd3MgKyBSKS4uLn07XG4iCisiICAgIH1cbiIKKyIg
ICAgc3RydWN0IGNvbHNfaW5pdF90YWcgeyB9O1xuIgorIiAgICBzdHJ1Y3QgY29sc19hbGxfdGFn
IHsgfTtcbiIKKyIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9O1xuIgorIiAgICB0ZW1wbGF0
ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0
X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5z
aXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorIiAg
ICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAg
IGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMpIHRocmVh
ZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyBjb2xzLi4uIH1cbiIKKyIgICAge1xuIgorIiAgICB9
XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgorIiAgICAg
ICAgOiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRlbXBsYXRl
IDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXpl
cl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRcbiIK
KyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIg
ICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50
ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBjb2x1bW5z
eyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkp
Li4ufVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4u
IFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4u
IGNvbHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxuIgorIiAg
ICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAg
IGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVtcykgY29u
c3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtlX2ludGVn
ZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICAgICAge1xuIgorIiAgICAgICAgfVxu
IgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xN
YXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBD
Li4uPikgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBl
bGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KCkg
dGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFsaXplcl9s
aXN0PHZlYzxULCBSb3dzPj4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeChj
b2xzX2luaXRfdGFnKCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigp
KVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+
XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJlYWRcbiIK
KyIgICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09IENvbHMs
IGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAge1xuIgor
IiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSBjb25zdGFudCA9IGRlZmF1bHQ7XG4i
CisiICAgIGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNv
bHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnKCksIGNv
bHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCkgY29uc3RhbnRc
biIKKyIgICAgICAgIDogV1NMTWF0cml4KHZhbCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIGNv
bnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNpemVvZi4uLihV
KSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMuLi4pXG4iCisi
ICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBX
U0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgor
IiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNv
bnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1
bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQp
IHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1
ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUg
V1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkg
dGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAg
IGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFUsIENv
bHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9t
YWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1c
biIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VCwg
Q29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVh
ZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAgICAg
ICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlc
biIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhy
ZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xu
IgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdT
TE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25z
dGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NM
TWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0
YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBDb2xzLCBS
b3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtl
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIK
KyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywg
Um93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQg
V1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBX
U0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisi
ICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdy
b3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xu
IgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdT
TE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQp
IGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3Nl
cXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHB1Ymxp
YzpcbiIKKyIgICAgaW5saW5lIHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIp
IHRocmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIg
ICAgfVxuIgorIiAgICBpbmxpbmUgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQg
cikgZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgor
IiAgICB9XG4iCisiICAgIGlubGluZSB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9y
W10oaW50IHIpIHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1
bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWQgdmVjPFQsIFJv
d3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRcbiIKKyIgICAge1xuIgorIiAgICAg
ICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNvbnN0IGRl
dmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGRldmljZVxuIgorIiAg
ICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIiAgICBp
bmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25z
dCBjb25zdGFudFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIK
KyIgICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgdGhyZWFkZ3JvdXAgdmVjPFQsIFJvd3M+ICZv
cGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRncm91cFxuIgorIiAgICB7XG4iCisiICAgICAg
ICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIn07XG4iCisKKwogICAgIH07CisK
IH0KIAogc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZ0J1aWxkZXImIHN0
cmluZ0J1aWxkZXIpCkBAIC02Nyw3ICsyMzEsNyBAQCBzdGF0aWMgdm9pZCBkdW1wTWV0YWxDb2Rl
SWZOZWVkZWQoU3RyaW5nCiBSZW5kZXJNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3Jh
bSYgcHJvZ3JhbSwgTWF0Y2hlZFJlbmRlclNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRpY3MsIExh
eW91dCYgbGF5b3V0KQogewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQobWV0YWxDb2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlwZU5hbWVy
KHByb2dyYW0pOwogICAgIHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWlsZGVyKTsK
QEAgLTgyLDcgKzI0Niw3IEBAIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9n
cmEKIENvbXB1dGVNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhbSYgcHJvZ3JhbSwg
TWF0Y2hlZENvbXB1dGVTZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91
dCkKIHsKICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQobWV0YWxDb2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1l
dGFsQ29kZVByb2xvZ3VlKCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsK
ICAgICB0eXBlTmFtZXIuZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9u
V3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIw
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRp
dmVGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAgc3Rh
dGljIGludCB2ZWN0b3JMZW5ndGgoQVNUOjpOYXRpdmVUeXBlRAogICAgIHJldHVybiB2ZWN0b3JM
ZW5ndGg7CiB9CiAKKy8qCiBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVyVHlwZShB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZlVHlwZURlY2xhcmF0aW9uKQogewogICAg
IGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLmlzRW1wdHkoKSkKQEAg
LTExOSw4ICsxMjAsOSBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVjdG9yU3VmZml4KGludCB2ZWN0
CiAgICAgICAgIHJldHVybiAiNCI7CiAgICAgfQogfQorKi8KIAotdm9pZCBpbmxpbmVOYXRpdmVG
dW5jdGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdzLCBJ
bnRyaW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgc3RkOjpmdW5jdGlv
bjxNYW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lLCBJbmRl
bnRhdGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImIHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBh
cmdzLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIEludHJpbnNpY3MmIC8qaW50cmlu
c2ljcyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50YXRpb248ND4pCiB7CiAgICAgYXV0
byBhc01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5cGUmIHVubmFtZWRUeXBlKSAtPiBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAgICBhdXRvJiByZWFsVHlwZSA9IHVu
bmFtZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDE5ICsxNDEsMjIgQEAgdm9pZCBpbmxpbmVO
YXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlw
ZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblR5cGUpOwogCiAgICAg
ICAgIGlmICghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKSB7
Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIg
PSB7IH07XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJu
VHlwZU5hbWUsICIgeyB9Iik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDEpIHsKICAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSAqbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAgICAgIGF1dG8gbWV0
YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1l
dGVyVHlwZSk7CisgICAgICAgICAgICAvL2F1dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1ldGVyVHlwZSk7CiAKICAgICAgICAgICAg
IGF1dG8gaXNFbnVtZXJhdGlvbkRlZmluaXRpb24gPSBbXSAoYXV0byYgdHlwZSkgewogICAgICAg
ICAgICAgICAgIHJldHVybiBpczxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpFbnVt
ZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih0eXBlKSk7CiAgICAg
ICAgICAgICB9OwogICAgICAgICAgICAgYXV0byYgdW5pZmllZFJldHVyblR5cGUgPSByZXR1cm5U
eXBlLnVuaWZ5Tm9kZSgpOwogICAgICAgICAgICAgaWYgKGlzRW51bWVyYXRpb25EZWZpbml0aW9u
KHVuaWZpZWRSZXR1cm5UeXBlKSAmJiAhaXNFbnVtZXJhdGlvbkRlZmluaXRpb24ocGFyYW1ldGVy
VHlwZS51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIC8vIE9PUFMhCisgICAgICAgICAgICAgICAgLyoK
ICAgICAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0
YWxQYXJhbWV0ZXJUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBhcmdzWzBdLCAi
O1xuIik7CiAgICAgICAgICAgICAgICAgYXV0byYgZW51bWVyYXRpb25EZWZpbml0aW9uID0gZG93
bmNhc3Q8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
Pih1bmlmaWVkUmV0dXJuVHlwZSkpOwpAQCAtMTczLDE3ICsxNzgsMjggQEAgdm9pZCBpbmxpbmVO
YXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAifVxuIik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1ldGFs
UmV0dXJuVHlwZU5hbWUsICI+KCIsIHZhcmlhYmxlTmFtZSwgIik7XG4iKTsKKyAgICAgICAgICAg
ICAgICAqLwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1
cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIik7XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4o
IiwgYXJnc1swXSwgIikiKTsKIAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUocmV0dXJuVHlwZSkpIHsK
KyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUsICco
Jyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3Muc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
YXJnc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOworCisgICAgICAgICAgICAvLyBPT1BTOiB0ZXN0IHRoaXMKKworICAgICAgICAgICAg
LyoKICAgICAgICAgICAgIHVuc2lnbmVkIG51bVJvd3MgPSBtYXRyaXhUeXBlLT5udW1iZXJPZk1h
dHJpeFJvd3MoKTsKICAgICAgICAgICAgIHVuc2lnbmVkIG51bUNvbHVtbnMgPSBtYXRyaXhUeXBl
LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBudW1Sb3dzIHx8
IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBudW1Sb3dz
ICogbnVtQ29sdW1ucyk7Ci0KICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CiAKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGluZGVudCwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsK
QEAgLTIwNywyNjUgKzIyMywyNjggQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdC
dWlsZGVyJgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKKyAgICAg
ICAgICAgICovCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVyblR5
cGVOYW1lLCAiKCIpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5
cGVOYW1lLCAnKCcpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAg
IGlmIChpID4gMCkKKyAgICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJn
c1tpXSk7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsK
KyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1Y3QgZmllbGQgbmFtZWQgImxlbmd0aCIg
dG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRob3NlIHNob3VsZG4ndCB0YWtlIHRoaXMg
Y29kZXBhdGguCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJv
cGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoaW50cmluc2ljcywgbWF0
Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSwgaW50cmluc2ljcy51aW50VHlw
ZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsK
LSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFt
ZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPih1
bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIGFycmF5UGFyYW1ldGVy
VHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSk7Ci0g
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRlclR5cGUubnVtRWxlbWVudHMoKSwgIjtc
biIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlz
PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpOwotICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIC8vQVNTRVJUX1VOVVNFRChpbnRyaW5zaWNzLCBtYXRjaGVz
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpLCBpbnRyaW5zaWNzLnVpbnRUeXBlKCkp
KTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8mIHBhcmFtZXRlclR5cGUgPSBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsK
KyAgICAgICAgLy9hdXRvJiB1bm5hbWVkUGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5u
YW1lZFR5cGU+KHBhcmFtZXRlclR5cGUpOworICAgICAgICAvL2lmIChpczxBU1Q6OkFycmF5VHlw
ZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7CisgICAgICAgIC8vICAgIGF1dG8mIGFycmF5UGFy
YW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlw
ZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAg
ICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0ZXJUeXBlLm51bUVsZW1l
bnRzKCksICI7XG4iKTsKKyAgICAgICAgLy8gICAgcmV0dXJuOworICAgICAgICAvL30KKworICAg
ICAgICAvL0FTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFBhcmFtZXRl
clR5cGUpKTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5sZW5ndGg7XG4iKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvci4iX3N0cikpIHsKLSAgICAgICAgYXV0byBhcHBlbmRN
YW5nbGVkRmllbGROYW1lID0gWyZdIChjb25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgewotICAgICAg
ICAgICAgYXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5
cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlm
IChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAgICAgICAg
ICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVE
ZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVs
ZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAgICAgICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3Ry
dWN0dXJlRWxlbWVudCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRU
eXBlKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOwotICAg
ICAgICB9OwotCi0gICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5l
bmRzV2l0aCgiPSIpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICAgICAgYXV0byBmaWVsZE5h
bWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9y
LiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJz
dHJpbmcoMCwgZmllbGROYW1lLmxlbmd0aCgpIC0gMSk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgJy4n
KTsKLSAgICAgICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAiO1xuIik7Ci0KLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8g
ZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJv
cGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJy4nKTsKLSAg
ICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiO1xuIik7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIC8vYXV0byBhcHBlbmRNYW5nbGVkRmllbGROYW1lID0gWyZdIChjb25zdCBT
dHJpbmcmIGZpZWxkTmFtZSkgeworICAgICAgICAvLyAgICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUo
KTsKKyAgICAgICAgLy8gICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KHVuaWZ5Tm9kZSk7CisgICAgICAgIC8vICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmlu
aXRpb24+KG5hbWVkVHlwZSkpIHsKKyAgICAgICAgLy8gICAgICAgIGF1dG8mIHN0cnVjdHVyZURl
ZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7
CisgICAgICAgIC8vICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVm
aW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7CisgICAgICAgIC8vICAgICAgICBBU1NFUlQoc3RydWN0
dXJlRWxlbWVudCk7CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7
CisgICAgICAgIC8vICAgICAgICByZXR1cm47CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8g
ICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpKTsKKyAg
ICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKKyAgICAgICAgLy99
OworCisgICAgICAgIC8vaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLmVuZHNX
aXRoKCI9IikpIHsKKyAgICAgICAgLy8gICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKKyAgICAgICAgLy8gICAgYXV0byBmaWVsZE5h
bWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9y
LiJfc3RyLmxlbmd0aCgpKTsKKyAgICAgICAgLy8gICAgZmllbGROYW1lID0gZmllbGROYW1lLnN1
YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAxKTsKKworICAgICAgICAvLyAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAnLicpOworICAgICAgICAvLyAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFt
ZSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAi
O1xuIik7CisKKyAgICAgICAgLy8gICAgcmV0dXJuOworICAgICAgICAvL30KKworICAgICAgICAv
L0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
MSk7CisgICAgICAgIC8vYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKKyAgICAgICAgLy9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gIiwgYXJnc1swXSwgJy4nKTsKKyAgICAgICAgLy9hcHBlbmRNYW5nbGVkRmllbGROYW1lKGZp
ZWxkTmFtZSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iX3N0cikpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAg
YXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJp
bmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5ndGgoKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAi
LT4iKTsKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8gZmllbGROYW1lID0gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVuZ3Ro
KCkpOwogCi0gICAgICAgIGF1dG8mIHVubmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9
IGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKS5lbGVtZW50VHlwZSgpLnVu
aWZ5Tm9kZSgpOwotICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlv
bj4obmFtZWRUeXBlKSkgewotICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9
IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAg
ICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmll
bGROYW1lKTsKLSAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVy
ZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOworICAgICAgICAvL3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKAorICAgICAgICAvLyAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKIAotICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKSA6IG51bGxwdHI7XG4iKTsKKyAgICAgICAgLy9hdXRvJiB1bm5hbWVkVHlwZSA9ICpu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOworICAgICAg
ICAvL2F1dG8mIHVuaWZ5Tm9kZSA9IGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRU
eXBlKS5lbGVtZW50VHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgICAgICAvL2F1dG8mIG5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOworICAgICAgICAvL2lmIChp
czxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKKyAgICAgICAgLy8gICAg
YXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5p
dGlvbj4obmFtZWRUeXBlKTsKKyAgICAgICAgLy8gICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9
IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOworICAgICAgICAvLyAgICBBU1NF
UlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1l
bnQpKTsKKyAgICAgICAgLy99IGVsc2UKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoZmllbGROYW1lKTsKKworICAgICAgICAvL3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogbnVs
bHB0cjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltdIikgewotICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KCpuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAoIiwgYXJnc1sxXSwgIiA8ICIsIGFy
Z3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigiLCBhcmdzWzBdLCAiLnBvaW50ZXJbIiwgYXJnc1sx
XSwgIl0pIDogbnVsbHB0cjtcbiIpOworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vQVNTRVJUKGlz
PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMF0tPnR5cGUoKSkpOworCisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5hcHBlbmQo
CisgICAgICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICgiLCBhcmdzWzFdLCAiIDwg
IiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAmKCIsIGFyZ3NbMF0sICIucG9pbnRlclsiLCBh
cmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7CiAgICAgICAgICAgICAKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGF1dG8gdmVjdG9yU2l6ZSA9IFsmXSAoKSAtPiB1bnNpZ25lZCB7Ci0g
ICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+
KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAg
ICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS5uYW1lKCkgPT0gInZlY3RvciIpOwotICAg
ICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDIpOwotICAg
ICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUu
dHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7Ci0gICAgfTsKLQot
ICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBl
UmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5
cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlw
ZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2
ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOwotICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH07CisgICAgLy9hdXRvIHZlY3RvclNpemUgPSBbJl0gKCkgLT4g
dW5zaWduZWQgeworICAgIC8vICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6
OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpKTsKKyAgICAvLyAgICBhdXRvJiB2ZWN0b3JUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNh
c3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlw
ZSgpKS5yZXNvbHZlZFR5cGUoKSk7CisgICAgLy8gICAgQVNTRVJUKHZlY3RvclR5cGUubmFtZSgp
ID09ICJ2ZWN0b3IiKTsKKyAgICAvLyAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRz
KCkuc2l6ZSgpID09IDIpOworICAgIC8vICAgIHJldHVybiBXVEY6OmdldDxBU1Q6OkNvbnN0YW50
RXhwcmVzc2lvbj4odmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFs
KCkudmFsdWUoKTsKKyAgICAvL307CisKKyAgICAvL2F1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAo
KSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgeworICAgIC8vICAgIGF1dG8mIHR5cGVS
ZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAvLyAgICBhdXRvJiByZXN1
bHQgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpU
eXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNl
LnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKKyAgICAvLyAgICBBU1NF
UlQocmVzdWx0LmlzTWF0cml4KCkpOworICAgIC8vICAgIHJldHVybiByZXN1bHQ7CisgICAgLy99
OwogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRv
cltdIikgewotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNh
c3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93
bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVy
ZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZl
ZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsK
LSAgICAgICAgaWYgKG51bVR5cGVBcmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAgYXV0byBt
ZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIAotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlw
ZSgpLm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZD
b2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4i
KTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3Bl
KGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgcmVzdWx0O1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIgPj0gIiwgbnVtYmVy
T2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0
dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9ICIsIGFy
Z3NbMF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJyZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJv
d3MsICJdO1xuIik7Ci0KLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDMp
Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3Vs
dFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDIs
ICJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbM10g
PSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXTtc
biIpOworICAgICAgICAvL0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25j
YXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpWzBdLT50eXBlKCkpOworICAgICAgICAvL3NpemVfdCBudW1UeXBlQXJndW1lbnRzID0g
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJl
ZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNv
bHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUo
KTsKKyAgICAgICAgLy9pZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7CisgICAgICAgIC8vICAg
IGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgdW5zaWduZWQg
bnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOworICAg
ICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVt
YmVyT2ZNYXRyaXhDb2x1bW5zKCk7CisgICAgICAgIC8vICAgIAorICAgICAgICAvLyAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKKyAgICAgICAgLy8gICAgeworICAg
ICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOworCisgICAgICAg
IC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAgICBp
bmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAorICAgICAgICAvLyAgICAgICAg
ICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywgIikge1xu
IiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9
ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5k
ZW50LCAiICAgIGJyZWFrO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ9XG4i
LAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9ICIsIGFyZ3NbMF0s
ICdbJywgYXJnc1sxXSwgIl07XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgInJl
c3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cywg
Il07XG4iKTsKKworICAgICAgICAvLyAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQor
ICAgICAgICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3Vs
dFsyXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDIs
ICJdO1xuIik7CisgICAgICAgIC8vICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCisg
ICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0
WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMywg
Il07XG4iKTsKICAgICAKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsK
LSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAg
ICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0
YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
ImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJu
TmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztc
biIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgInJlc3VsdCA9ICIsIGFyZ3NbMF0sICJbIiwgYXJnc1sxXSwgIl07XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
In0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0KKyAgICAgICAgLy8gICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOworICAgICAg
ICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdoaWxlICgw
KTtcbiIpOworICAgICAgICAvL30gZWxzZSB7CisgICAgICAgIC8vICAgIFJFTEVBU0VfQVNTRVJU
KG51bVR5cGVBcmd1bWVudHMgPT0gMik7CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bUVsZW1l
bnRzID0gdmVjdG9yU2l6ZSgpOworCisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1l
ID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
ZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIEluZGVudGF0aW9u
U2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgLy8gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJl
c3VsdDtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0s
ICIgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5k
ZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4i
LAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisgICAgICAg
IC8vICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRl
bnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKKyAgICAg
ICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9
IHdoaWxlICgwKTtcbiIpOworICAgICAgICAvL30KIAogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltd
PSIpIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJl
ZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCkpOwotICAgICAgICBzaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0
PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUo
KSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChu
dW1UeXBlQXJndW1lbnRzID09IDMpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRv
IG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAg
ICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVk
IG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAg
ICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1i
ZXJPZk1hdHJpeENvbHVtbnMoKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50
YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAi
IG0gPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRh
bFBhcmFtZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IG07XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2ldID0g
IiwgYXJnc1syXSwgIlswXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1baSAr
ICIsIG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7Ci0gICAgICAgICAg
ICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXSA9
ICIsIGFyZ3NbMl0sICJbMl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1
bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDMsICJdID0gIiwgYXJnc1syXSwgIlszXTtcbiIp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9IG07XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAy
KTsKLQotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXIyTmFt
ZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVy
bk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24udHlwZSgpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAot
ICAgICAgICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJn
c1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51
bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwg
cmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
YnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJnc1syXSwgIjtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4i
KTsKLSAgICAgICAgfQorICAgICAgICAvL2F1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxB
U1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpKTsKKyAgICAgICAgLy9zaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRU
eXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Cisg
ICAgICAgIC8vaWYgKG51bVR5cGVBcmd1bWVudHMgPT0gMykgeworICAgICAgICAvLyAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwor
ICAgICAgICAvLyAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+
dHlwZSgpKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKwor
ICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVt
YmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1u
cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKKworICAgICAgICAv
LyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKKyAgICAgICAgLy8g
ICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwor
CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIs
CisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1lLCAiIGkg
PSAiLCBhcmdzWzFdLCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJpZiAo
aSA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5k
ZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwg
In1cbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0s
ICJbMF07XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIm1baSArICIsIG51bWJl
ck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7CisgICAgICAgIC8vICAgICAgICBp
ZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCisgICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAiLCBh
cmdzWzJdLCAiWzJdO1xuIik7CisgICAgICAgIC8vICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5z
ID49IDQpCisgICAgICAgIC8vICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl0gPSAiLCBhcmdzWzJdLCAiWzNdO1xuIik7
CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5h
bWUsICIgPSBtO1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgCisgICAgICAg
IC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAg
ICAgICAgLy99IGVsc2UgeworICAgICAgICAvLyAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJn
dW1lbnRzID09IDIpOworCisgICAgICAgIC8vICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7CisgICAgICAgIC8vICAgIGF1dG8gbWV0
YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOworICAgICAgICAvLyAg
ICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCisgICAgICAgIC8vICAgIHVuc2lnbmVk
IG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOworCisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOworICAgICAgICAvLyAgICB7CisgICAgICAgIC8v
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisKKyAgICAgICAgLy8gICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwg
bWV0YWxSZXR1cm5OYW1lLCAiIHYgPSAiLCBhcmdzWzBdLCAiO1xuIiwKKyAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7
XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51bUVsZW1l
bnRzLCAiKSB7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1
cm5OYW1lLCAiID0gdjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAorICAgICAgICAv
LyAgICAgICAgICAgIGluZGVudCwgInZbaV0gPSAiLCBhcmdzWzJdLCAiO1xuIiwKKyAgICAgICAg
Ly8gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2O1xuIik7CisgICAgICAgIC8v
ICAgIH0KKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGls
ZSgwKTtcbiIpOworICAgICAgICAvL30KIAogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7CiAgICAgICAgIGF1
dG8gb3BlcmF0b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3Ry
aW5nKCJvcGVyYXRvciJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBtZXRhbFJldHVyblR5
cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24udHlwZSgpKTsKKwogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgb2sgdG8gZG8g
c2luY2UgdGhlIGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBhcmUgYWxsIHRlbXBzLgorICAgICAgICAg
ICAgLy8gU28gdGhpbmdzIGxpa2UgKysgYW5kIC0tIGFyZSBvayB0byBkby4KKwogICAgICAgICAg
ICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJ
bmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJl
dHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgb3BlcmF0b3JOYW1l
LCAieFtpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsK
KyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlwZS0+bnVt
YmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGks
ICJdID0gIiwgb3BlcmF0b3JOYW1lLCBhcmdzWzBdLCAnWycsIGksICddJyk7CiAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1c
biIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
IG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xu
Iik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CisgICAgICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcsIHJlc3VsdE5hbWUs
ICIgPSAiLCBhcmdzWzBdLCAiLCAiLCBvcGVyYXRvck5hbWUsIHJlc3VsdE5hbWUsICIsICIsIHJl
c3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNDcz
LDQ5ICs0OTIsNDAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgog
ICAgICAgICBpZiAoYXV0byogbGVmdE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgIGlm
IChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgICAgICAvLyBtYXRy
aXggPG9wPiBtYXRyaXgKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJu
VHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJbaV0gIiwgb3BlcmF0b3JOYW1lLCAn
ICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlZnRN
YXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
LCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFt
ZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwgIl0gIiwgb3BlcmF0b3JOYW1lLCAn
ICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0cml4IDxvcD4gc2NhbGFyCi0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6
ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0g
PSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1hdHJpeENv
bHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdz
WzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdKTsKICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0
TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChhdXRvKiByaWdo
dE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgIEFTU0VSVCghYXNNYXRyaXhUeXBlKCpu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7CiAgICAg
ICAgICAgICAvLyBzY2FsYXIgPG9wPiBtYXRyaXgKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUs
ICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICB4W2ldID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIltp
XTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4i
KTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmlnaHRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1u
cygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0
b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHNjYWxhcgogICAgICAgICAgICAgLy8g
dmVjdG9yIDxvcD4gdmVjdG9yCiAgICAgICAgICAgICAvLyB2ZWN0b3IgPG9wPiBzY2FsYXIKICAg
ICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHZlY3RvcgogICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJn
c1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAg
ICAgICAgICcoJywgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJykn
KTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybjsKQEAgLTU0OCw3NSArNTU4LDgxIEBAIHZv
aWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgfHwgbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImxlbmd0aCIpIHsKICAgICAgICAgQVNTRVJU
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5h
bWUsICIgPSAiLCBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkpLCAnKCcsIGFyZ3NbMF0sICIpO1xuIik7CisgICAgICAgICAgICBtYXBGdW5jdGlvbk5hbWUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAnKCcsIGFyZ3NbMF0sICcpJyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gInBvdyIgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
ImF0YW4yIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpLCAiKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIpO1xuIik7CisgICAg
ICAgICAgICBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgJygnLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJjbGFtcCIpIHsKICAgICAgICAgQVNT
RVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsK
LSAgICAgICAgaWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUo
KSkpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5k
ZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSkgXG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9IGNsYW1wKCIsIGFyZ3Nb
MF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIsIGFyZ3NbMl0sICJbaV0pOyIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwg
YXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIik7XG4iKTsKLSAgICAgICAgfQorCisgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgImNsYW1wKCIsIGFyZ3NbMF0sICIsICIs
IGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICcpJyk7CisKKyAgICAgICAgLy8gT09QUzogdGVzdCB3
LyBtYXRyaWNlcy4KKyAgICAgICAgLy9pZiAoYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24udHlwZSgpKSkgeworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOworICAgICAgICAvLyAgICAKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCAie1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKyAgICAgICAgLy8gICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5U
eXBlLCAiIHg7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSkgXG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGlu
ZGVudCwgIiAgICB4W2ldID0gY2xhbXAoIiwgYXJnc1swXSwgIltpXSwgIiwgYXJnc1sxXSwgIltp
XSwgIiwgYXJnc1syXSwgIltpXSk7IiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgIC8vfSBlbHNlIHsKKyAg
ICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8vICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSBjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAi
LCBhcmdzWzJdLCAiKTtcbiIpOworICAgICAgICAvL30KICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiQWxsTWVtb3J5
QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFn
czo6bWVtX2RldmljZSk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFy
cmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iLAotICAgICAgICAgICAgaW5kZW50
LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKTtcbiIpOworICAg
ICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIsCisg
ICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91
cCkiLAorICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4
dHVyZSkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMi
KSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSk7XG4iKTsK
KyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSki
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAiR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsKICAg
ICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwg
InRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIik7Cisg
ICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91
cCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJJbnRlcmxvY2tlZCJfc3RyKSkgewogICAgICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkludGVybG9ja2VkQ29t
cGFyZUV4Y2hhbmdlIikgewogICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSA0KTsKKyAgICAgICAgICAgIC8vIE9PUFM6IFBv
aW50ZXJzPyBJcyB0aGlzIGV2ZW4gcG9zc2libGU/CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJhdG9taWNfY29tcGFyZV9leGNoYW5n
ZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJd
LCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIiwKLSAg
ICAgICAgICAgICAgICBpbmRlbnQsICcqJywgYXJnc1szXSwgIiA9ICIsIGFyZ3NbMV0sICI7XG4i
KTsKKyAgICAgICAgICAgICAgICAiKGF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGlj
aXQoIiwgYXJnc1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIsIG1lbW9yeV9v
cmRlcl9yZWxheGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCksICIsCisgICAgICAgICAgICAgICAg
JyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgJyknKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7CiAgICAgICAgIGF1dG8gbmFtZSA9IGF0b21pY05hbWUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJJbnRlcmxvY2tlZCJf
c3RyLmxlbmd0aCgpKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgaW5kZW50LCAnKicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsK
KyAgICAgICAgICAgICcqJywgYXJnc1syXSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0
KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02MzAsNyArNjQ2LDcgQEAgdm9pZCBpbmxpbmVO
YXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBhdXRvIHJldHVyblZlY3Rvckxl
bmd0aCA9IHZlY3Rvckxlbmd0aChyZXR1cm5UeXBlKTsKIAogICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0s
ICIuc2FtcGxlKCIsIGFyZ3NbMV0sICIsICIpOworICAgICAgICAgICAgYXJnc1swXSwgIi5zYW1w
bGUoIiwgYXJnc1sxXSwgIiwgIik7CiAKICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVy
ZUFycmF5KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+IDEp
OwpAQCAtNjQyLDE0ICs2NTgsMTYgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdC
dWlsZGVyJgogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSIpOwogICAgICAgICBpZiAo
IXRleHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiLiIsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAsIHJldHVyblZlY3Rvckxlbmd0aCkp
OwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
TG9hZCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAyKTsKKyAgICAgICAgLy8gT09QUworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAKKyAgICAgICAgLyoKICAgICAgICAgYXV0byYg
dGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNh
c3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
WzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8mIGxvY2F0aW9uVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byBsb2NhdGlvblZlY3Rvckxlbmd0aCA9IHZlY3Rv
ckxlbmd0aChsb2NhdGlvblR5cGUpOwpAQCAtNzE3LDYgKzczNSw3IEBAIHZvaWQgaW5saW5lTmF0
aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCI7XG4iKTsKICAgICAgICAgfQogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ9IHdoaWxlKDApO1xuIik7CisgICAgICAgICovCiAKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTcyNCwxOCArNzQzLDIxIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImxv
YWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gYXRvbWljX2xvYWRfZXhwbGljaXQoIiwgYXJn
c1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRvbWlj
X2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gInN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImF0b21pY19zdG9yZV9leHBsaWNpdCgiLCBh
cmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAg
ICAgICAgICAgICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sx
XSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdldERpbWVuc2lv
bnMiKSB7CisgICAgICAgIC8vIE9PUFM6IFdlIGRvbid0IGhhdmUgcG9pbnRlcnMsIHdoYXQgdG8g
ZG8gaGVyZT8KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
LyoKICAgICAgICAgYXV0byYgdGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAKICAgICAgICAg
c2l6ZV90IGluZGV4ID0gMTsKQEAgLTc5OSw2ICs4MjEsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpu
dW1iZXJPZkxldmVsc05hbWUsICIpXG4iLAogICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAq
IiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9taXBfbGV2
ZWxzKCk7XG4iKTsKICAgICAgICAgfQorICAgICAgICAqLwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC04MzksNiArODYyLDEwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlciYKIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
U3RvcmUiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMyk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKKyAgICAgICAgLy8gT09QUworICAgICAgICAvKgogICAgICAgICAKICAgICAgICAgYXV0
byYgdGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93
bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8mIGl0ZW1UeXBlID0g
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRU
eXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51
bmlmeU5vZGUoKSkpOwpAQCAtODk2LDYgKzkyMyw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xu
Iik7CiAgICAgICAgIH0KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3
aGlsZSgwKTtcbiIpOworICAgICAgICAqLwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCShyZXZpc2lvbiAyNDkw
MjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5h
dGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFt
ZXNwYWNlIE1ldGFsIHsKIAogY2xhc3MgVHlwZU5hbWVyOwogCi12b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBN
YW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWUsIGNvbnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFi
bGVOYW1lPiYgYXJndW1lbnROYW1lcywgSW50cmluc2ljcyYsIFR5cGVOYW1lciYsIHN0ZDo6ZnVu
Y3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiYmLCBJbmRlbnRhdGlvbjw0Pik7Cit2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24mLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFt
ZXMsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwgSW50cmluc2ljcyYsIFR5cGVOYW1l
ciYsIEluZGVudGF0aW9uPDQ+KTsKIAogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
VHlwZVdyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMywxOCArMTAzLDExIEBAIFN0cmluZyB3cml0ZU5hdGl2ZVR5cGUoQVNUOjpO
YXRpdmVUeXBlRGUKICAgICAgICAgICAgIHJldHVybiAiZmxvYXQiOwogICAgICAgICB9KSgpOwog
Ci0gICAgICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHBy
ZXNzaW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKSk7Ci0gICAg
ICAgIGF1dG8mIGNvbnN0YW50RXhwcmVzc2lvbjEgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhw
cmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSk7Ci0gICAg
ICAgIGF1dG8mIGludGVnZXJMaXRlcmFsMSA9IGNvbnN0YW50RXhwcmVzc2lvbjEuaW50ZWdlckxp
dGVyYWwoKTsKLSAgICAgICAgdW5zaWduZWQgcm93cyA9IGludGVnZXJMaXRlcmFsMS52YWx1ZSgp
OwotICAgICAgICBBU1NFUlQocm93cyA9PSAyIHx8IHJvd3MgPT0gMyB8fCByb3dzID09IDQpOwot
Ci0gICAgICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHBy
ZXNzaW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKSk7Ci0gICAg
ICAgIGF1dG8mIGNvbnN0YW50RXhwcmVzc2lvbjIgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhw
cmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSk7Ci0gICAg
ICAgIGF1dG8mIGludGVnZXJMaXRlcmFsMiA9IGNvbnN0YW50RXhwcmVzc2lvbjIuaW50ZWdlckxp
dGVyYWwoKTsKLSAgICAgICAgdW5zaWduZWQgY29sdW1ucyA9IGludGVnZXJMaXRlcmFsMi52YWx1
ZSgpOwotICAgICAgICBBU1NFUlQoY29sdW1ucyA9PSAyIHx8IGNvbHVtbnMgPT0gMyB8fCBjb2x1
bW5zID09IDQpOwotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8IiwgcHJlZml4LCAi
LCAiLCBjb2x1bW5zICogcm93cywgIj4iKTsKKyAgICAgICAgLy9SRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAvLyBPT1BTOiBtYWtlIE1TTCBtYXRyaXggbm93CisgICAgICAg
IC8vIE9PUFM6IHRoZXkncmUgc3RhdGljIGFzc2VydGluZyBtYXRyaWNlcyB1c2UgZmxvYXRpbmcg
cG9pbnQgbnVtcy4gV1RGIQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiV1NMTWF0cml4PCIs
IHByZWZpeCwgIiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0cml4Q29sdW1u
cygpLCAiLCAiLCBuYXRpdmVUeXBlRGVjbGFyYXRpb24ubnVtYmVyT2ZNYXRyaXhSb3dzKCksICI+
Iik7CisgICAgICAgIC8vcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PCIsIHByZWZpeCwgIiwgIiwg
Y29sdW1ucyAqIHJvd3MsICI+Iik7CiAgICAgfQogICAgIEFTU0VSVChuYXRpdmVUeXBlRGVjbGFy
YXRpb24udHlwZUFyZ3VtZW50cygpLnNpemUoKSA9PSAxKTsKICAgICBBU1NFUlQoV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4obmF0aXZlVHlwZURlY2xhcmF0
aW9uLnR5cGVBcmd1bWVudHMoKVswXSkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQ4OTQyKQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC04MzEwLDYgKzgzMTAsNyBAQAogCQk1MUZCNjdEQTFBRTZCNUU0MDBEMDZDNUEgLyog
Q29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTIxMzFFNUExQzRGMTU2MTAwMzNGODAyIC8qIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTIxNTg2MkMyMjkzNzdCNzAwNTkyNUVGIC8qIFdITFNMQVNULmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdI
TFNMQVNULmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyMjU2Q0FBMjMwRjE0QUQw
MDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXSExTTE5hbWVTcGFj
ZS5oOyBwYXRoID0gQVNUL1dITFNMTmFtZVNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUyMkJBQjk2MjJFNkEzNjIwMEM1NENFOSAvKiBXSExTTENvZGVMb2NhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXSExTTENvZGVMb2NhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MjJEMDdBMzIyRkJBQjQzMDBCOTA1QkUgLyogV0hMU0xFeHByZXNzaW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMRXhwcmVzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUyMkRBM0QzMjI5RTFEMzkwMDQyRDE1MSAvKiBXSExTTEdsb2JhbFZhcmlh
YmxlUmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMR2xvYmFsVmFyaWFibGVSZWZlcmVu
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1NTMyLDYgKzI1NTMzLDcgQEAK
IAkJCQlDMjEwRTkxMjIxQjRCRDEwMDBCN0Y4M0QgLyogV0hMU0xMZXhlci5oICovLAogCQkJCTFD
QTBDMkVDMjFFRUQ2RjYwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAgKi8s
CiAJCQkJMUNBMEMyRUEyMUVFRDZGNTAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2Vy
LmggKi8sCisJCQkJNTIyNTZDQUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmgg
Ki8sCiAJCQkJQzIzNEE5OEQyMUU4ODg4NDAwM0M5ODREIC8qIFdITFNMTmFtZUNvbnRleHQuY3Bw
ICovLAogCQkJCUMyMzRBOThFMjFFODg4ODUwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0Lmgg
Ki8sCiAJCQkJQzIzNEE5OEEyMUU4ODgzRTAwM0M5ODREIC8qIFdITFNMTmFtZVJlc29sdmVyLmNw
cCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9H
UFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVsaW5lTWV0YWwubW0JKHJl
dmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9j
b2NvYS9HUFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQkod29ya2luZyBjb3B5KQpAQCAtOTMsMTAg
KzkzLDEwIEBAIHN0YXRpYyBPcHRpb25hbDxXSExTTDo6Q29tcHV0ZURpbWVuc2lvbnMKICAgICAg
ICAgaWYgKFdITFNMOjpkdW1wTWV0YWxDb21waWxlVGltZXMpCiAgICAgICAgICAgICBkYXRhTG9n
TG4oIk1ldGFsIGNvbXBpbGUgdGltZXM6ICIsIChNb25vdG9uaWNUaW1lOjpub3coKSAtIHN0YXJ0
VGltZSkubWlsbGlzZWNvbmRzKCksICIgbXMiKTsKICAgICAgICAgRU5EX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKLSNpZm5kZWYgTkRFQlVHCisvLyNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGlmICgh
Y29tcHV0ZUxpYnJhcnkpCiAgICAgICAgICAgICBOU0xvZyhAIiVAIiwgZXJyb3IpOwotI2VuZGlm
CisvLyNlbmRpZgogICAgICAgICBBU1NFUlQoY29tcHV0ZUxpYnJhcnkpOwogICAgICAgICAvLyBG
SVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc3MSBPbmNl
IHdlIHplcm8tZmlsbCB2YXJpYWJsZXMsIHRoZXJlIHNob3VsZCBiZSBubyB3YXJuaW5ncywgc28g
d2Ugc2hvdWxkIGJlIGFibGUgdG8gQVNTRVJUKCFlcnJvcikgaGVyZS4KIApJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02NiwyMiArNjYs
MjQgQEAgY29tcHV0ZSB2b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNlIGZsb2F0WwogICAgIGlmICgh
YWxsRXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvdXJ0eVR3b1sxMzM3
XSA9IDUwOwotICAgIGZvb1sxXSA9IGZvdXJ0eVR3bzsKLSAgICBpZiAoIWFsbEVxdWFsKGZvbywg
NDIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3VydHlUd29bMTAwMDAwMF0gPSA1MDsKLSAg
ICBmb29bMV0gPSBmb3VydHlUd287Ci0gICAgaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKLSAgICAg
ICAgcmV0dXJuOworICAgIC8vIE9PUFM6IHdoYXQgc2VtYW50aWNzIGFyZSB3ZSBjaG9vc2luZz8K
IAotICAgIGZsb2F0MyBzaG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKLSAgICBpZiAoc2hvdWxk
QmVaZXJvLnggIT0gMCB8fCBzaG91bGRCZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9
IDApCi0gICAgICAgIHJldHVybjsKKyAgICAvL2ZvdXJ0eVR3b1sxMzM3XSA9IDUwOworICAgIC8v
Zm9vWzFdID0gZm91cnR5VHdvOworICAgIC8vaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKKyAgICAv
LyAgICByZXR1cm47CisKKyAgICAvL2ZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUwOworICAgIC8vZm9v
WzFdID0gZm91cnR5VHdvOworICAgIC8vaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKKyAgICAvLyAg
ICByZXR1cm47CisKKyAgICAvL2Zsb2F0MyBzaG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKKyAg
ICAvL2lmIChzaG91bGRCZVplcm8ueCAhPSAwIHx8IHNob3VsZEJlWmVyby55ICE9IDAgfHwgc2hv
dWxkQmVaZXJvLnogIT0gMCkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoZm91cnR5VHdv
WzEwMDAwMDAwXSAhPSAwKQotICAgICAgICByZXR1cm47CisgICAgLy9pZiAoZm91cnR5VHdvWzEw
MDAwMDAwXSAhPSAwKQorICAgIC8vICAgIHJldHVybjsKIAogICAgIGJ1ZmZlclt1aW50KHRocmVh
ZElELngpXSA9IGJ1ZmZlclt1aW50KHRocmVhZElELngpXSAqIDIuMDsKIH0KQEAgLTE0NSw3ICsx
NDcsNyBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVs3XSA9PSA4KQogICAgICAgICB0ZXN0UGFzc2VkKCIiKTsKICAgICBlbHNl
Ci0gICAgICAgIHRlc3RGYWlsZWQoIiIpOworICAgICAgICB0ZXN0RmFpbGVkKCJub3QgY29ycmVj
dCIpOwogICAgIHJlc3VsdHNCdWZmZXIudW5tYXAoKTsKIH0KIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377410</attachid>
            <date>2019-08-27 17:38:43 -0700</date>
            <delta_ts>2019-08-27 19:09:21 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>157772</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMzMSw2ICszMzEsNyBAQCBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFZpc2l0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAorTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xUeXBlTmFtZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5l
cmF0b3IuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDYgKzY0LDggQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpbmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CkBAIC02MDAsNiArNjAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gcmVjdXJzZUFuZFdyYXBCYXNl
VHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwogICAgIGJvb2wgcmVjdXJzZUFu
ZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAgICB2b2lkIGFzc2lnbkNvbmNy
ZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5hbWVkVHlwZT4sIEFTVDo6VHlw
ZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lv
biYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlvbik7CiAgICAgdm9pZCBhc3Np
Z25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4s
IEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2FyZFR5cGUoQVNUOjpFeHByZXNz
aW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwogCkBAIC02MzUsOCAr
NjM4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0K
ICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3Rk
OjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcm
IG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVs
bHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5k
T3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsK
QEAgLTY1NSw2ICs2NTYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVubmFtZWRUeXBlJiB3cmFwcGVkVWludFR5
cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAg
IG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRy
aW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwor
ICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25L
ZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9k
ZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYgKzY3Niw3IEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVkRmxvYXRUeXBlOwor
ICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIFJl
ZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICBIYXNoTWFw
PEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBl
TWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNw
YWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OSwxNyBAQCBzdGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitzdGF0aWMgYm9vbCBtYXRjaEFuZENvbW1p
dChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBBU1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBl
KQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoWyZd
KFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5nVHlwZSkgeworICAgICAgICBpZiAobWF0
Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBbJl0oUmVmUHRyPFJlc29sdmFibGVUeXBl
UmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9vbCB7CisgICAgICAgIHJldHVybiBtYXRj
aEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5cGUtPnJlc29sdmFibGVUeXBlKCkpOwor
ICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBjb21taXQoUmVz
b2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52
aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRU
eXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gewpAQCAtOTY4LDYgKzk4OCwxMSBAQCB2
b2lkIENoZWNrZXI6OmFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4CiAgICAgZXhwcmVzc2lvbi5z
ZXRUeXBlQW5ub3RhdGlvbihXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7CiB9CiAKK3ZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgQVNU
OjpOYW1lZFR5cGUmIHR5cGUsIEFTVDo6VHlwZUFubm90YXRpb24gYW5ub3RhdGlvbikKK3sKKyAg
ICBhc3NpZ25Db25jcmV0ZVR5cGUoZXhwcmVzc2lvbiwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KHR5cGUuY29kZUxvY2F0aW9uKCksIHR5cGUpLCBhbm5vdGF0aW9uKTsKK30KKwogdm9pZCBDaGVj
a2VyOjphc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgUmVmUHRyPFJlc29s
dmFibGVUeXBlUmVmZXJlbmNlPiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSwgQVNUOjpUeXBlQW5u
b3RhdGlvbiB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6UmlnaHRWYWx1ZSgpKQogewogICAgIGF1dG8g
YWRkUmVzdWx0ID0gbV90eXBlTWFwLmFkZCgmZXhwcmVzc2lvbiwgbWFrZVVuaXF1ZTxSZXNvbHZp
bmdUeXBlPihXVEZNb3ZlKHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSkpOwpAQCAtMTAyOSw3ICsx
MDU0LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZQogICAgIGlm
ICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yd2FyZFR5cGUocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5nVHlwZSk7CisgICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNUOjpVbm5hbWVkVHlwZSog
Z2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKQEAgLTExNzAsMTQ0
ICsxMTk1LDExMSBAQCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gQ2hlY2tlcjo6YXJndW1lCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGluZyhBU1Q6
OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBSZXNv
bHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNlSW5mbyA9
IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOworICAg
IGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJhc2UoKSk7
CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBiYXNlVW5u
YW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlmICghYmFz
ZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0
aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9uLiIsIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBkb3QgZXhw
cmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9u
ID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0dXJuVHlw
ZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAg
ICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwot
ICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVy
RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9u
KGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5
cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9IGRvd25j
YXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBpZiAoQVNU
OjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhwcmVzc2lv
bi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVz
c2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZpZWxkIG5h
bWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlzdCBvbiBz
dHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5cGUoKTsK
LSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24gPSBu
dWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5cGUgPSBu
dWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UpIHsKLSAg
ICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVu
dFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NTcGFjZSkp
IHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpV
bm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVyQXJndW1l
bnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1
bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRk
aXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAgICAgYW5k
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFuZGVyTmFt
ZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgICAg
IGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGlm
IChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9ICZkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBl
KCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVy
CiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVh
ZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB0
aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3VtZW50VHlw
ZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VV
bm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAgUmVzb2x2
aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6OlBvaW50
ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVhZEFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5hcHBlbmQo
KmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0aHJlYWRB
bmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcywg
YW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAg
ICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpCisgICAg
ICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkgeworICAg
ICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRVaW50VHlw
ZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBz
ZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBhcnJheXMs
IGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5kZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2FzdDxBU1Q6
OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCk7
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY0
IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVyCi0g
ICAgfQotCi0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UgJiYgIWFuZGVyRnVuY3Rpb24gJiYgIWdl
dHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3Mg
aW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhbiBhbmRlciBvciBhIGdldHRlci4iLCBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBl
KS5pc1ZlY3RvcigpKSB7CisgICAgICAgIGlmICghbV9wcm9ncmFtLmlzVmFsaWRWZWN0b3JQcm9w
ZXJ0eShkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkgeworICAgICAgICAgICAgc2V0RXJyb3Io
RXJyb3IobWFrZVN0cmluZygiJy4iLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBwcm9wZXJ0eSBvbiBhIHZlY3Rvci4iKSwgZG90RXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLmxlbmd0aCgp
OworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7CisgICAgICAgIGlmIChmaWVsZExl
bmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24s
IGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgp
KSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9p
bnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50
eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwg
bV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVU
eXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpKQorICAgICAgICAg
ICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MudWlu
dFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3Mu
ZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCks
IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQogICAgIH0KK30K
IAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBh
IGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJl
c3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZv
ID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsK
KyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
YW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJl
dHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVy
cm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0
aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUg
YSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5
cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5k
R2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAg
ICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJl
dHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUg
dGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwg
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNl
VW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICgh
YmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2
ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0
dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhy
ZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJu
VHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2
aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJl
bmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5m
by0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkK
LSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1l
bnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZp
bmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29s
dmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAg
ICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVm
ZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VU
eXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFk
ZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
KQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxB
U1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAg
ICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAg
ICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JU
eXBlQXJndW1lbnQoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSBp
ZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAgICAgICBhdXRvJiBpbm5lclR5cGUg
PSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOworICAgICAgICAgICAgdW5zaWduZWQg
bnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgICAgICBp
ZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAg
ICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBBU1Q6OlR5cGVSZWZl
cmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBtX2ludHJpbnNpY3Mu
Ym9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3Mu
ZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4
cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRleEV4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwg
YmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBl
LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBzZXR0ZXJSZXR1cm5U
eXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgaWYgKHNldHRlckZ1
bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fu
bm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEgY29ycmVzcG9uZGluZyBnZXR0
ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAg
IH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lv
biBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0
R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVhZEFuZGVyRnVuY3Rpb24pOwot
ICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJGdW5jdGlvbihzZXR0ZXJGdW5j
dGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpS
aWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50
eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAgICAgaWYgKGFuZGVyRnVu
Y3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6TGVmdFZhbHVlIHsgZG93
bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmFkZHJlc3NT
cGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0aW9uKQotICAgICAgICAgICAg
dHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgfSBlbHNlIGlm
ICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1ZSgpICYmIChzZXR0ZXJGdW5j
dGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAgdHlwZUFubm90YXRpb24gPSBB
U1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29uY3JldGVUeXBlKHByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBXVEZNb3ZlKHR5cGVBbm5vdGF0
aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RF
eHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4cHJlc3Npb24pOwotfQotCi12
b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24p
Ci17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5mbykKLSAgICAgICAgcmV0dXJu
OwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwgJmJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNl
JiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2
aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewogCi0jaWYgIUFTU0VSVF9E
SVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBzb21laG93IG1hbmFnZXMgdG8g
bGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdoIHpvbWJpZS4KLWNsYXNzIEhp
Z2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2YXRlOgotICAgIHZvaWQgdmlz
aXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Np
b24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
fQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mKSBvdmVy
cmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotfTsKLSNl
bmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBwcm9ncmFtKQordm9pZCBmaW5k
SGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJU0FCTEVECi0gICAgVU5VU0VE
X1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmllRmluZGVyKCkuVmlzaXRvcjo6
dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgJKHJldmlzaW9u
IDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50
cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUg
PT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3NpemUgLSAyXTsKKyAgICB9CisK
ICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5cGUoKSBjb25zdAogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtODIsNiArODgsMTIgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNv
bnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAz
IHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JVaW50W3NpemUgLSAyXTsK
KyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBjb25z
dAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVjdG9ySW50WzBdKTsKQEAgLTk0LDYgKzEwNiwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbMl07CiAgICAgfQogCisg
ICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGludFZlY3RvclR5cGVGb3JTaXplKHVuc2ln
bmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIg
fHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRb
c2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBzYW1w
bGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7CkBA
IC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvckZsb2F0
WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBmbG9hdFZlY3Rv
clR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNF
X0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJl
dHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07CisgICAgfQorCiAgICAgLy8gVGhlc2UgZnVu
Y3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZyb20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1bnVz
ZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKiBkZHgoKSBjb25zdAogICAg
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFy
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIs
NyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBB
U1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBBU1RB
ZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQXRFbmQg
PSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1cmVzID0g
ZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IHRy
dWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFTVEJlZm9y
ZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8IGFsd2F5
c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNlVGltZXMg
PSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xQcmVwYXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcmVwYXJlLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01
Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAot
Y29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29tcGlsZVRpbWVzID0gZmFsc2U7Citjb25zdGV4cHIg
Ym9vbCBkdW1wTWV0YWxDb21waWxlVGltZXMgPSB0cnVlOwogCiBVbmlxdWVSZWY8U2hhZGVyTW9k
dWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU3RyaW5nJiB3aGxzbFNvdXJjZSk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQ
cm9ncmFtLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3Jh
bS5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1l
c3BhY2UgV0hMU0wgeworCitib29sIFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0eShTdHJp
bmcgcHJvcGVydHkpCit7CisgICAgaWYgKG1fdmVjdG9yUHJvcGVydGllcy5pc0VtcHR5KCkpIHsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6
eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3ciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV92ZWN0b3JQ
cm9wZXJ0aWVzLmNvbnRhaW5zKHByb3BlcnR5KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV0hMU0wK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJv
Z3JhbS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsOCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVDb250ZXh0LmFkZChtX25hdGl2ZVR5cGVEZWNs
YXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAgICBib29sIGlzVmFsaWRWZWN0b3JQcm9wZXJ0
eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0KCkgeyByZXR1cm4gbV9u
YW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3MmIGludHJpbnNpY3MoKSB7IHJldHVybiBtX2lu
dHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkBAIC0xMDYsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBW
ZWN0b3I8VW5pcXVlUmVmPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPj4gbV9mdW5jdGlvbkRlZmlu
aXRpb25zOwogICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uPj4gbV9uYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uczsKICAgICBWZWN0b3I8VW5pcXVlUmVm
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPj4gbV9uYXRpdmVUeXBlRGVjbGFyYXRpb25zOwor
ICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlY3RvclByb3BlcnRpZXM7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDkw
MjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5
UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVydHlSZXNv
bHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04MjgsNiArODMw
LDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsKICAgICBQ
cm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLworCit2b2lk
IHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFjZSBXSExT
TAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5l
VW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0
YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJk
TGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9u
PihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRlY2xhcmF0
aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+
KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlv
bkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZpc2l0RnVu
Y3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlv
bihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhw
cmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4
cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlzaXQoZXhw
cmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbio+
IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hhYmxlRnVu
Y3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5
VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAgICBWaXNpdG9yOjp2aXNp
dChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSBvdmVycmlkZQotICAg
IHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
Z2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFtZXMuYWRkKHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIG1fZnVu
Y3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1l
KCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwot
ICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFtZXM7CiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVt
ZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCShy
ZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplRW51bWVyYXQK
ICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6
VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3Ry
aW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xh
cmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92
ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVt
ZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9zdHIsIFdURk1vdmUo
cGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExp
YnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVj
dGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBlbnVtIHR5cGUuIikp
OwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xh
cmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9u
LCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBl
bnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAg
ICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgICAg
ICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAgICAg
ICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVC
bG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLCAib3Bl
cmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9y
LCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAgICBpZiAoIXByb2dy
YW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBjb3B5IGNv
bnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24u
aAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3
IEBAIHB1YmxpYzoKICAgICAgICAgOiBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obG9jYXRpb24s
IEtpbmQ6OkRvdCwgV1RGTW92ZShiYXNlKSkKICAgICAgICAgLCBtX2ZpZWxkTmFtZShXVEZNb3Zl
KGZpZWxkTmFtZSkpCiAgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obV9wYWRkaW5nKTsKICAg
ICB9CiAKICAgICB+RG90RXhwcmVzc2lvbigpID0gZGVmYXVsdDsKQEAgLTUyLDI1ICs1MywxMSBA
QCBwdWJsaWM6CiAgICAgRG90RXhwcmVzc2lvbihjb25zdCBEb3RFeHByZXNzaW9uJikgPSBkZWxl
dGU7CiAgICAgRG90RXhwcmVzc2lvbihEb3RFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAg
IFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJu
IG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1fZmllbGROYW1lKTsKLSAgICB9Ci0KLSAgICBTdHJp
bmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSwgIj0iKTsKLSAgICB9Ci0KLSAgICBTdHJp
bmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VT
dHJpbmcoIm9wZXJhdG9yJi4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCiAgICAgU3RyaW5nJiBm
aWVsZE5hbWUoKSB7IHJldHVybiBtX2ZpZWxkTmFtZTsgfQogCiBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX2ZpZWxkTmFtZTsKKyAgICBjaGFyIG1fcGFkZGluZ1sxMl07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTEV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDMzICsxNjgsNiBAQCB2b2lkIEV4cHJlc3Npb246
OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1TdHJpbmcgUHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxE
b3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNz
aW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9uPigq
dGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0aW9u
TmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0
dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0aW9uTmFtZSgp
OwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLVN0cmluZyBQcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAo
aXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhw
cmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhw
cmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9u
PigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4
RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Np
b24uaAkod29ya2luZyBjb3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4
RXhwcmVzc2lvbihjb25zdCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4
cHJlc3Npb24oSW5kZXhFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0
ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltd
Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0g
ICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3Bl
cmF0b3ImW10iX3N0cjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24o
KSB7IHJldHVybiBtX2luZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRl
eCgpIHsgcmV0dXJuIFdURk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
TmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCBudW1iZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1h
dHJpeERpbWVuc2lvbigxKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAg
ICB9CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAg
IHJldHVybiBtYXRyaXhEaW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNp
b24oMSk7CisgICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkK
KyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6
Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0K
KworICAgIHVuc2lnbmVkIHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVj
dG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+
KHR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKwor
ICAgIFR5cGVSZWZlcmVuY2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBB
U1NFUlQoaXNNYXRyaXgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBl
UmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElz
SW50KCkgeyBtX2lzSW50ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Myw0NSArNTMsMTIgQEAgcHVibGljOgogICAgIFByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbihjb25zdCBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKSA9IGRlbGV0
ZTsKICAgICBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
JiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsK
LSAgICBTdHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0gICAgU3RyaW5nIGFuZGVy
RnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBnZXR0ZXJG
dW5jdGlvbigpIHsgcmV0dXJuIG1fZ2V0dGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xh
cmF0aW9uKiBhbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9hbmRlckZ1bmN0aW9uOyB9Ci0gICAg
RnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fdGhy
ZWFkQW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIHNldHRlckZ1bmN0
aW9uKCkgeyByZXR1cm4gbV9zZXR0ZXJGdW5jdGlvbjsgfQotCi0gICAgdm9pZCBzZXRHZXR0ZXJG
dW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBnZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAg
ICAgIG1fZ2V0dGVyRnVuY3Rpb24gPSBnZXR0ZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lk
IHNldEFuZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5jdGlvbikKLSAg
ICB7Ci0gICAgICAgIG1fYW5kZXJGdW5jdGlvbiA9IGFuZGVyRnVuY3Rpb247Ci0gICAgfQotCi0g
ICAgdm9pZCBzZXRUaHJlYWRBbmRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVh
ZEFuZGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX3RocmVhZEFuZGVyRnVuY3Rpb24gPSB0
aHJlYWRBbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0U2V0dGVyRnVuY3Rpb24o
RnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX3Nl
dHRlckZ1bmN0aW9uID0gc2V0dGVyRnVuY3Rpb247Ci0gICAgfQotCiAgICAgRXhwcmVzc2lvbiYg
YmFzZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiYgYmFz
ZVJlZmVyZW5jZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9u
PiB0YWtlQmFzZSgpIHsgcmV0dXJuIFdURk1vdmUobV9iYXNlKTsgfQogCiBwcml2YXRlOgogICAg
IFVuaXF1ZVJlZjxFeHByZXNzaW9uPiBtX2Jhc2U7Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiog
bV9nZXR0ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBt
X2FuZGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV90
aHJlYWRBbmRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24q
IG1fc2V0dGVyRnVuY3Rpb24geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBU1QK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVu
Y3Rpb25Xcml0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0
aW9uV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1ZGUg
PHd0Zi9TZXRGb3JTY29wZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAorI2luY2x1ZGUgPHd0Zi9EYXRhTG9nLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFt
ZXNwYWNlIFdITFNMIHsKQEAgLTYzLDcgKzY1LDU3IEBAIHN0YXRpYyB2b2lkIGRlY2xhcmVGdW5j
dGlvbihTdHJpbmdCdWlsZGUKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogfQog
CitzdHJ1Y3QgVmFyaWFibGUgeworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgbmFtZTsKKyAgICBN
YW5nbGVkVHlwZU5hbWUgdHlwZTsKK307CisKIGNsYXNzIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
ciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICBjbGFzcyBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3Ig
OiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgSG9pc3RlZFZhcmlh
YmxlQ29sbGVjdG9yKEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlciYgZnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyKQorICAgICAgICAgICAgOiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoZnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHZp
c2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKSBvdmVycmlkZQorICAgICAg
ICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZhcmlhYmxlczsKKyAgICAgICAgICAg
IHNpemVfdCBzaXplID0gY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpOworICAgICAg
ICAgICAgYm9vbCBpc1ZvaWQgPSBtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgp
LCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOworICAg
ICAgICAgICAgaWYgKCFpc1ZvaWQpCisgICAgICAgICAgICAgICAgKytzaXplOworICAgICAgICAg
ICAgdmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7CisKKyAgICAgICAgICAg
IGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgeworICAg
ICAgICAgICAgICAgIGF1dG8gdHlwZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYXJndW1lbnQtPnJlc29sdmVkVHlwZSgpKTsKKyAgICAg
ICAgICAgICAgICBhdXRvIG5hbWUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7CisgICAgICAgICAgICAgICAgdmFyaWFibGVzLnVuY2hlY2tlZEFw
cGVuZChWYXJpYWJsZSB7IG5hbWUsIHR5cGUgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBl
bmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFi
bGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpIH0pOworCisgICAgICAgICAg
ICB0b0hvaXN0LmFkZCgmY2FsbEV4cHJlc3Npb24sIFdURk1vdmUodmFyaWFibGVzKSk7CisKKyAg
ICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJiByZWFkTW9k
aWZ5V3JpdGUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3RvcjxWYXJpYWJs
ZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVzLmFwcGVuZChWYXJpYWJsZSB7IGZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqcmVhZE1v
ZGlmeVdyaXRlLm9sZFZhbHVlKCkudHlwZSgpKSB9KTsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5h
cHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZSgpLnR5cGUoKSkgfSk7CisKKyAg
ICAgICAgICAgIHRvSG9pc3QuYWRkKCZyZWFkTW9kaWZ5V3JpdGUsIFdURk1vdmUodmFyaWFibGVz
KSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KHJlYWRNb2RpZnlXcml0ZSk7CisgICAg
ICAgIH0KKworICAgICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjsKKyAgICAgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFy
aWFibGU+PiB0b0hvaXN0OworICAgIH07CisKIHB1YmxpYzoKICAgICBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXIoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgSW50cmluc2ljcyYgaW50cmlu
c2ljcywgVHlwZU5hbWVyJiB0eXBlTmFtZXIsIEhhc2hNYXA8QVNUOjpGdW5jdGlvbkRlY2xhcmF0
aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFtZT4mIGZ1bmN0aW9uTWFwcGluZywgTGF5b3V0JiBsYXlv
dXQpCiAgICAgICAgIDogbV9zdHJpbmdCdWlsZGVyKHN0cmluZ0J1aWxkZXIpCkBAIC0xMDQsMTAg
KzE1Niw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwm
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkV4cHJlc3Npb24mKSBvdmVycmlkZTsK
LSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
dmlzaXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYpIG92ZXJyaWRlOworICAgIHZvaWQg
dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6
OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpBc3NpZ25tZW50
RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lv
biYpIG92ZXJyaWRlOwpAQCAtMTMxLDY1ICsxODIsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICBNYW5n
bGVkVmFyaWFibGVOYW1lIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpIHsgcmV0dXJuIHsgbV92
YXJpYWJsZUNvdW50KysgfTsgfQogCi0gICAgZW51bSBjbGFzcyBOdWxsYWJpbGl0eSA6IHVpbnQ4
X3QgewotICAgICAgICBOb3ROdWxsLAotICAgICAgICBDYW5CZU51bGwKLSAgICB9OwotCi0gICAg
c3RydWN0IFN0YWNrSXRlbSB7Ci0gICAgICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFsdWU7Ci0g
ICAgICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgbGVmdFZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0
eSB2YWx1ZU51bGxhYmlsaXR5OwotICAgICAgICBOdWxsYWJpbGl0eSBsZWZ0VmFsdWVOdWxsYWJp
bGl0eTsKLSAgICAgICAgc3RkOjpmdW5jdGlvbjxNYW5nbGVkVmFyaWFibGVOYW1lKCk+IGdlbmVy
YXRlTGVmdFZhbHVlOwotICAgIH07Ci0KLSAgICBzdHJ1Y3QgU3RhY2tWYWx1ZSB7Ci0gICAgICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFsdWU7Ci0gICAgICAgIE51bGxhYmlsaXR5IG51bGxhYmls
aXR5OwotICAgIH07Ci0KLSAgICAvLyBUaGlzIGlzIHRoZSBpbXBvcnRhbnQgZGF0YSBmbG93IHN0
ZXAgd2hlcmUgd2UgY2FuIHRha2UgdGhlIG51bGxhYmlsaXR5IG9mIGFuIGx2YWx1ZQotICAgIC8v
IGFuZCB0cmFuc2ZlciBpdCBpbnRvIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBydmFsdWUuIFRoaXMg
aXMgY29udmV5ZWQgaW4gTWFrZVBvaW50ZXJFeHByZXNzaW9uCi0gICAgLy8gYW5kIERlcmVmZXJl
bmNlRXhwcmVzc2lvbi4gTWFrZVBvaW50ZXJFeHByZXNzaW9uIHdpbGwgdHJ5IHRvIHByb2R1Y2Ug
cnZhbHVlcyB3aGljaCBhcmUKLSAgICAvLyBub24tbnVsbCwgYW5kIERlcmVmZXJlbmNlRXhwcmVz
c2lvbiB3aWxsIHRha2UgYSBub24tbnVsbCBydmFsdWUgYW5kIHRyeSB0byBwcm9kdWNlCi0gICAg
Ly8gYSBub24tbnVsbCBsdmFsdWUuCi0gICAgdm9pZCBhcHBlbmRSaWdodFZhbHVlV2l0aE51bGxh
YmlsaXR5KEFTVDo6RXhwcmVzc2lvbiYsIE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFsdWUsIE51bGxh
YmlsaXR5IG51bGxhYmlsaXR5KQotICAgIHsKLSAgICAgICAgbV9zdGFjay5hcHBlbmQoeyBXVEZN
b3ZlKHZhbHVlKSwgeyB9LCBudWxsYWJpbGl0eSwgTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCwgeyB9
IH0pOwotICAgIH0KLQotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1ZShBU1Q6OkV4cHJlc3Npb24m
IGV4cHJlc3Npb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFsdWUpCi0gICAgewotICAgICAgICBh
cHBlbmRSaWdodFZhbHVlV2l0aE51bGxhYmlsaXR5KGV4cHJlc3Npb24sIFdURk1vdmUodmFsdWUp
LCBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsKTsKLSAgICB9Ci0KLSAgICB2b2lkIGFwcGVuZExlZnRW
YWx1ZShBU1Q6OkV4cHJlc3Npb24mIGV4cHJlc3Npb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFs
dWUsIE1hbmdsZWRWYXJpYWJsZU5hbWUgbGVmdFZhbHVlLCBOdWxsYWJpbGl0eSBudWxsYWJpbGl0
eSwgc3RkOjpmdW5jdGlvbjxNYW5nbGVkVmFyaWFibGVOYW1lKCk+IGdlbmVyYXRlTGVmdFZhbHVl
ID0geyB9KQotICAgIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChleHByZXNzaW9uLCBleHByZXNz
aW9uLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJlc3NTcGFjZSgpKTsKLSAgICAgICAgQVNTRVJU
KGxlZnRWYWx1ZSB8fCBnZW5lcmF0ZUxlZnRWYWx1ZSk7Ci0gICAgICAgIG1fc3RhY2suYXBwZW5k
KHsgV1RGTW92ZSh2YWx1ZSksIFdURk1vdmUobGVmdFZhbHVlKSwgTnVsbGFiaWxpdHk6OkNhbkJl
TnVsbCwgbnVsbGFiaWxpdHksIFdURk1vdmUoZ2VuZXJhdGVMZWZ0VmFsdWUpIH0pOwotICAgIH0K
LQotICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgdGFrZUxhc3RWYWx1ZSgpCi0gICAgewotICAgICAg
ICByZXR1cm4gbV9zdGFjay50YWtlTGFzdCgpLnZhbHVlOwotICAgIH0KLQotICAgIFN0YWNrVmFs
dWUgdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCkKLSAgICB7Ci0gICAgICAgIGF1dG8gbGFz
dCA9IG1fc3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgcmV0dXJuIHsgbGFzdC52YWx1ZSwgbGFz
dC52YWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCi0gICAgU3RhY2tWYWx1ZSB0YWtlTGFzdExl
ZnRWYWx1ZSgpCi0gICAgewotICAgICAgICBhdXRvIGxhc3QgPSBtX3N0YWNrLnRha2VMYXN0KCk7
Ci0gICAgICAgIGlmICghbGFzdC5sZWZ0VmFsdWUpCi0gICAgICAgICAgICBsYXN0LmxlZnRWYWx1
ZSA9IGxhc3QuZ2VuZXJhdGVMZWZ0VmFsdWUoKTsKLSAgICAgICAgcmV0dXJuIHsgbGFzdC5sZWZ0
VmFsdWUsIGxhc3QubGVmdFZhbHVlTnVsbGFiaWxpdHkgfTsKLSAgICB9Ci0KICAgICBlbnVtIGNs
YXNzIEJyZWFrQ29udGV4dCB7CiAgICAgICAgIExvb3AsCiAgICAgICAgIFN3aXRjaApAQCAtMjAz
LDEyICsxOTUsMTIgQEAgcHJvdGVjdGVkOgogICAgIEhhc2hNYXA8QVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFtZT4mIG1fZnVuY3Rpb25NYXBwaW5nOwogICAgIEhh
c2hNYXA8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uKiwgTWFuZ2xlZFZhcmlhYmxlTmFtZT4gbV92
YXJpYWJsZU1hcHBpbmc7CiAKLSAgICBWZWN0b3I8U3RhY2tJdGVtPiBtX3N0YWNrOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxFbnRyeVBvaW50U2NhZmZvbGRpbmc+IG1fZW50cnlQb2ludFNjYWZmb2xk
aW5nOwogICAgIExheW91dCYgbV9sYXlvdXQ7CiAgICAgdW5zaWduZWQgbV92YXJpYWJsZUNvdW50
IHsgMCB9OwogICAgIE9wdGlvbmFsPE1hbmdsZWRWYXJpYWJsZU5hbWU+IG1fYnJlYWtPdXRPZkN1
cnJlbnRMb29wRWFybHlWYXJpYWJsZTsKICAgICBJbmRlbnRhdGlvbjw0PiBtX2luZGVudCB7IDAg
fTsKKyAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIFZlY3RvcjxWYXJpYWJsZT4+IG1faG9p
c3RlZFZhcmlhYmxlczsKIH07CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mKQpAQCAtMjE4LDYgKzIxMCwxMyBAQCB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25E
ZWZpbml0aW9uKQogeworCisgICAgeworICAgICAgICBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3Ig
Y29sbGVjdG9yKCp0aGlzKTsKKyAgICAgICAgY29sbGVjdG9yLlZpc2l0b3I6OnZpc2l0KGZ1bmN0
aW9uRGVmaW5pdGlvbik7CisgICAgICAgIG1faG9pc3RlZFZhcmlhYmxlcyA9IFdURk1vdmUoY29s
bGVjdG9yLnRvSG9pc3QpOworICAgIH0KKwogICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9u
TWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAgIEFTU0VSVChpdGVyYXRvciAh
PSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5l
bnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsOCArMjM3LDEzIEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgICAgICBhdXRvIGFkZFJlc3VsdCA9
IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtp
XSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFtZXRlclZhcmlhYmxlcygpW2ldKTsKICAg
ICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50
cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHZlY3Rv
ciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkgeworICAgICAgICAgICAgICAgIGZvciAo
YXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFibGUudHlwZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAi
O1xuIik7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChm
dW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9zdGFjay5p
c0VtcHR5KCkpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1c
blxuIik7CiAKQEAgLTI0OCwxNyArMjUyLDI0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nID09
IG51bGxwdHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSksICcg
JywgaXRlcmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0
aW9uLnBhcmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAg
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUoKnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0ZXJOYW1lKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4iKTsKKworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2ZWN0
b3IgOiBtX2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0
byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4iKTsK
KyAgICAgICAgfQorCiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRp
b24uYmxvY2soKSk7Ci0gICAgICAgIEFTU0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CisgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1cbiIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCdcbicpOwogICAgIH0KIH0KQEAgLTMwOSw4ICszMjAsOSBAQCB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQmIGVmZmVjdGZ1bEV4
cHJlc3Npb25TdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQu
ZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsKLSAgICB0YWtlTGFzdFZhbHVlKCk7IC8vIFRoZSBzdGF0
ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3RmdWwsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhp
bmcgd2l0aCB0aGUgcmVzdWx0LgorICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3Vn
aCYpCkBAIC0zMzAsMTAgKzM0MiwxMiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
ZW1pdExvb3AoCiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7
CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9j
YXRpb246OkJlZm9yZUJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICgh
KCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9u
KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
bV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisg
ICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICszNjQs
MTggQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAg
ICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7
CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoKmluY3JlbWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9u
IHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBtX3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAot
ICAgICAgICAgICAgLy8gb2YgaW5jcmVtZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4K
LSAgICAgICAgICAgIHRha2VMYXN0VmFsdWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIik7XG4iKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9u
TG9jYXRpb24gPT0gTG9vcENvbmRpdGlvbkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9u
RXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFs
dWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsK
KyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIp
OwogICAgICAgICB9CiAgICAgfQogCkBAIC0zOTAsMTIgKzQwNSwxNSBAQCB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OklmU3RhdGVtZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChpZlN0YXRlbWVudC5jb25kaXRpb25hbCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1faW5kZW50LCAiaWYgKCIsIHRha2VMYXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4iKTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25T
Y29wZSBpZlNjb3BlKG1faW5kZW50KTsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3Rh
dGVtZW50LmJvZHkoKSk7CiAgICAgfQorCiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkp
IHsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4i
KTsKICAgICAgICAgewpAQCAtNDAzLDI5ICs0MjEsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVAogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0
YXRlbWVudC5lbHNlQm9keSgpKTsKICAgICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJ9XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYg
KHJldHVyblN0YXRlbWVudC52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUg
PSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0
ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRUeXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0g
Iik7IAogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgp
KTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYg
KG1fZW50cnlQb2ludFNjYWZmb2xkaW5nKSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50
U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1fc3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2
YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKKyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xk
aW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5h
bWUsIG1faW5kZW50KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsICJyZXR1cm4gIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtl
TGFzdFZhbHVlKCksICI7XG4iKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsICJyZXR1cm4gIiwgdGVtcFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UK
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0
ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCAic3dpdGNoICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVt
ZW50LnZhbHVlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1
ZSgpLCAiKSB7Iik7CiAgICAgewogICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3Bl
KG1faW5kZW50KTsKICAgICAgICAgZm9yIChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVt
ZW50LnN3aXRjaENhc2VzKCkpCkBAIC00NTQsMzAgKzQ3NywyOSBAQCB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRv
IHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFu
Z2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRl
cmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8Iiwg
bWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAi
PigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25l
ZEludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7
Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAn
ICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4o
IiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJp
Z2h0VmFsdWUodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwp
CiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsK
ICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShmbG9hdExpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAi
KTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBl
TmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkK
IHsKKyAgICBVTlVTRURfUEFSQU0obnVsbExpdGVyYWwpOworICAgIGJvb2wgYiA9IHRydWU7Cisg
ICAgaWYgKGIpCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoK
ICAgICBhdXRvJiB1bmlmeU5vZGUgPSBudWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKS51bmlmeU5v
ZGUoKTsKICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSk7CiAgICAgYm9vbCBpc0FycmF5UmVmZXJlbmNlVHlwZSA9IGlzPEFTVDo6QXJy
YXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSk7CkBAIC00ODksMjQgKzUxMSwyMSBAQCB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgZWxzZQogICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJudWxscHRyO1xuIik7CiAgICAgYXBwZW5kUmlnaHRWYWx1
ZShudWxsTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICAqLwogfQogCiB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVy
YWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShib29sZWFuTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwudmFs
dWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIsICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShi
b29sZWFuTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFsLnZh
bHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbCkKIHsKICAgICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
LmVudW1lcmF0aW9uRGVmaW5pdGlvbigpKTsKICAgICBBU1NFUlQoZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsLmVudW1lcmF0aW9uRGVmaW5pdGlvbigpKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0g
bV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5y
ZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFu
Z2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIG1hbmdsZWRUeXBlTmFtZSwg
Ijo6IiwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsLmVudW1lcmF0aW9uTWVtYmVyKCkpLCAiO1xuIik7Ci0gICAgYXBw
ZW5kUmlnaHRWYWx1ZShlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yRW51bWVyYXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0
ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigpKSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkV4cHJlc3Npb24mIGV4cHJlc3Npb24pCkBAIC01MTQsNTAgKzUz
Myw4MyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgVmlz
aXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCi17Ci0gICAgLy8g
VGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmln
aHRWYWx1ZShkb3RFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19Ci0K
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxl
UmVmZXJlbmNlJiBnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSkKIHsKLSAgICBhdXRvIHZhbHVlTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIE1hbmdsZWRUeXBlTmFtZSBtYW5n
bGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZ2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpOwotCi0gICAgY2hlY2tFcnJvckFuZFZpc2l0KGds
b2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJhc2UoKSk7Ci0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBz
dHJ1Y3RWYXJpYWJsZSA9IHRha2VMYXN0VmFsdWUoKTsKLQogICAgIE1hbmdsZWRTdHJ1Y3R1cmVF
bGVtZW50TmFtZSBtYW5nbGVkRmllbGROYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JT
dHJ1Y3R1cmVFbGVtZW50KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLnN0cnVjdEZpZWxkKCkpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQo
Z2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIpLT4iLCBtYW5nbGVkRmllbGROYW1lKTsKK30KIAotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFsdWVOYW1l
LCAiID0gIiwgc3RydWN0VmFyaWFibGUsICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsK
K3ZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24m
IGRvdEV4cHJlc3Npb24pCit7CisgICAgYXV0byYgdHlwZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgp
LnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOwogCi0gICAgYXBwZW5kTGVmdFZhbHVlKGdsb2Jh
bFZhcmlhYmxlUmVmZXJlbmNlLCB2YWx1ZU5hbWUsIHsgfSwgTnVsbGFiaWxpdHk6Ok5vdE51bGws
Ci0gICAgICAgIFt0aGlzLCBtYW5nbGVkVHlwZU5hbWUsIHN0cnVjdFZhcmlhYmxlLCBtYW5nbGVk
RmllbGROYW1lXSB7Ci0gICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgIG1faW5kZW50LCAidGhyZWFkICIsIG1hbmdsZWRUeXBlTmFtZSwgIiogIiwg
cG9pbnRlck5hbWUsICIgPSAmIiwgc3RydWN0VmFyaWFibGUsICItPiIsIG1hbmdsZWRGaWVsZE5h
bWUsICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAgfSk7
CisgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAg
YXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5p
dGlvbj4odHlwZSk7CisgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVE
ZWZpbml0aW9uLmZpbmQoZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKSk7CisgICAgICAgIEFTU0VS
VChzdHJ1Y3R1cmVFbGVtZW50KTsKKyAgICAgICAgYXV0byBlbGVtZW50TmFtZSA9IG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCk7CisK
KyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpLiIsIGVsZW1lbnROYW1lKTsKKyAgICB9IGVsc2UgeworICAgICAgICBTdHJpbmcg
ZWxlbWVudE5hbWUgPSBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpOworICAgICAgICBpZiAoZWxl
bWVudE5hbWUgPT0gImxlbmd0aCIgJiYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBl
KSB8fCBpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkgfHwgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPih0eXBlKSAmJiBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlw
ZSkuaXNWZWN0b3IoKSkpKSB7CisgICAgICAgICAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHR5cGUpKSB7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KCcpOworICAgICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJh
c2UoKSk7CisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGgi
KTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKSB7Cisg
ICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkubnVtRWxlbWVudHMoKSwgIikiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkudmVjdG9yU2l6ZSgpLCAiKSIpOworICAgICAgICAgICAgfQorICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOwor
ICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAg
ICAgICB9CisgICAgfQogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKIHsKLSAgICAvLyBUaGlzIHNo
b3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05P
VF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVl
KGluZGV4RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOwotfQorICAgIGF1
dG8mIHR5cGUgPSBpbmRleEV4cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9k
ZSgpOworICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygn
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOwor
ICAgICAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKQorICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5wb2ludGVyWyIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmRhdGEoKVsiKTsKKyAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ10nKTsKKyAgICB9IGVsc2UgaWYgKGlzPEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICAvLyBPT1BTOiBEb24n
dCBkb3VibGUgZ2VuZXJhdGUgaW5kZXggZXhwcmVzc2lvbiBoZXJlLgorICAgICAgICBhdXRvJiBu
YXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOwor
ICAgICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgp
KQorICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7
CisgICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkKKyAgICAgICAgICAgIHNp
emUgPSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5Lgot
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24s
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJh
c2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilbKCIpOworICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDwgIiwgc2l6ZSwgIikgPyAoIik7CisgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkp
OworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogMF0iKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlh
YmxlRGVjbGFyYXRpb24pCkBAIC01NjgsMTgxICs2MjAsMTk1IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRk
UmVzdWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZpZXJzLgogICAgIGlmICh2
YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJp
YWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7CiAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigp
KTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFy
aWFibGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZh
cmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7IH07XG4i
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6QXNzaWdu
bWVudEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVsbGFiaWxpdHldID0gdGFr
ZUxhc3RMZWZ0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChh
c3NpZ25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIFtyaWdodE5hbWUsIHJpZ2h0
TnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0KLSAgICBpZiAo
bnVsbGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCIsIHBvaW50ZXJOYW1l
LCAiKVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICoiLCBwb2ludGVyTmFtZSwgIiA9
ICIsIHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtc
biIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoYXNzaWdubWVudEV4cHJl
c3Npb24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7CisgICAgYXV0byBpdGVyID0g
bV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsKKyAgICBSRUxFQVNFX0FT
U0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFi
bGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQoY2FsbEV4cHJlc3Npb24uYXJn
dW1lbnRzKCkuc2l6ZSgpIDw9IHZhcmlhYmxlcy5zaXplKCkpOwogICAgIFZlY3RvcjxNYW5nbGVk
VmFyaWFibGVOYW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBj
YWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
YXJndW1lbnQpOwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0YWtlTGFzdFZhbHVlKCkp
OwotICAgIH0KIAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNv
bHZlZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJs
ZU5hbWUgcmV0dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAgICAgICByZXR1cm5OYW1l
ID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVz
c2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtcbiIpOworICAgIE1hbmds
ZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZTsKKyAgICBpZiAoIW1hdGNoZXMoY2FsbEV4cHJlc3Np
b24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKSkKKyAgICAgICAgcmVz
dWx0TmFtZSA9IHZhcmlhYmxlcy5sYXN0KCkubmFtZTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFy
Z3VtZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQo
dmFyaWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlh
Ymxlc1tpXS5uYW1lLCAiID0gIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChjYWxsRXhw
cmVzc2lvbi5hcmd1bWVudHMoKVtpXSk7CiAgICAgfQogCi0gICAgaWYgKGlzPEFTVDo6TmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpIHsKLSAgICAg
ICAgYXV0byBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUgPSBbdGhpc10oKSAtPiBNYW5nbGVkVmFy
aWFibGVOYW1lIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLT5nZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKTsKLSAgICAgICAgfTsKKyAgICBpZiAoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCku
c2l6ZSgpKQorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogCi0gICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0
aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgcmV0dXJuTmFtZSwgYXJndW1lbnROYW1l
cywgbV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgV1RGTW92ZShnZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUpLCBtX2luZGVudCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7
CisgICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Np
b24uZnVuY3Rpb24oKSkpIHsKKyAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdC
dWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHBy
ZXNzaW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCByZXN1bHROYW1lLCBtX2ludHJpbnNp
Y3MsIG1fdHlwZU5hbWVyLCBtX2luZGVudCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0byBpdGVyYXRvciA9IG1f
ZnVuY3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpOwogICAgICAg
ICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwotICAgICAgICBp
ZiAoIWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmV0dXJuTmFt
ZSwgIiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGl0ZXJhdG9yLT52YWx1
ZSwgJygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudE5hbWVzLnNp
emUoKTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Np
b24uYXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChpKQogICAgICAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0gICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhwcmVzc2lv
biwgcmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJlc3Npb24m
IGNvbW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBy
ZXN1bHQ7CisgICAgaWYgKCFjb21tYUV4cHJlc3Npb24ubGlzdCgpLnNpemUoKSkgeworICAgICAg
ICBkYXRhTG9nTG4oIkVtcHR5IGNvbW1hISIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcwJyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcoJyk7CisgICAgYm9vbCByYW5PbmNlID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBl
eHByZXNzaW9uIDogY29tbWFFeHByZXNzaW9uLmxpc3QoKSkgeworICAgICAgICBpZiAocmFuT25j
ZSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgIHJh
bk9uY2UgPSB0cnVlOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZXhwcmVzc2lvbik7Ci0g
ICAgICAgIHJlc3VsdCA9IHRha2VMYXN0VmFsdWUoKTsKICAgICB9Ci0gICAgQVNTRVJUKHJlc3Vs
dCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShjb21tYUV4cHJlc3Npb24sICpyZXN1bHQpOworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJiBkZXJlZmVyZW5jZUV4
cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKigiKTsKICAgICBjaGVj
a0Vycm9yQW5kVmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnBvaW50ZXIoKSk7Ci0gICAgYXV0
byBbaW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxp
dHkoKTsKLSAgICBhdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgYXV0byByZXN1bHRUeXBlID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBpZiAobnVsbGFiaWxp
dHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkgewotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUgLCAnICcsIHJlc3VsdFZh
bHVlLCAiID0gIiwgaW5wdXRQb2ludGVyLCAiID8gIiwgJyonLCBpbnB1dFBvaW50ZXIsICIgOiAi
LCByZXN1bHRUeXBlLCAieyB9O1xuIik7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVlLCAiID0gKiIsIGlucHV0UG9pbnRlciwg
IjtcbiIpOwotCi0gICAgYXBwZW5kTGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVz
dWx0VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxpdHkpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6TG9naWNhbEV4cHJlc3Npb24mIGxvZ2ljYWxFeHByZXNzaW9uKQogeworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIigoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxF
eHByZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0byBsZWZ0ID0gdGFrZUxhc3RWYWx1ZSgpOwotICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRv
IHJpZ2h0ID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSks
ICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbGVmdCk7CiAgICAgc3dpdGNoIChsb2dpY2FsRXhw
cmVzc2lvbi50eXBlKCkpIHsKICAgICBjYXNlIEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6
OkFuZDoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiICYmICIpOwogICAgICAgICBi
cmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlQobG9naWNhbEV4cHJlc3Npb24udHlw
ZSgpID09IEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yKTsKKyAgICBjYXNlIEFTVDo6
TG9naWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIgfHwgIik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKHJpZ2h0LCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShsb2dpY2FsRXhwcmVz
c2lvbiwgdmFyaWFibGVOYW1lKTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsK
KyAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSkiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6TG9naWNhbE5vdEV4cHJlc3Npb24mIGxvZ2ljYWxOb3RFeHBy
ZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiEoIik7CiAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGxvZ2ljYWxOb3RFeHByZXNzaW9uLm9wZXJhbmQoKSk7Ci0gICAgYXV0byBv
cGVyYW5kID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0KLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICBtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxOb3RF
eHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAhIiwgb3Bl
cmFuZCwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5vdEV4cHJlc3Npb24s
IHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uJiBtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKQogewotICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsK
ICAgICAvLyBGSVhNRTogVGhpcyBuZWVkcyB0byBiZSBtYWRlIHRvIHdvcmsuIEl0IHByb2JhYmx5
IHNob3VsZCBiZSB1c2luZyB0aGUgbGFzdCBsZWZ0VmFsdWUgdG9vLgogICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg4MzgKLSAgICBhdXRvIHZhcmlhYmxl
TmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCiAgICAgYXV0byBtYW5nbGVkVHlw
ZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7CiAgICAgaWYgKGlzPEFTVDo6UG9pbnRlclR5cGU+
KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkp
KSB7Ci0gICAgICAgIGF1dG8gcHRyVmFsdWUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5cGVO
YW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHB0clZhbHVlLCAiID8gIiwgbWFuZ2xlZFR5
cGVOYW1lLCAieyAiLCBwdHJWYWx1ZSwgIiwgMSB9IDogIiwgbWFuZ2xlZFR5cGVOYW1lLCAieyBu
dWxscHRyLCAwIH07XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5nbGVk
VHlwZU5hbWUsICJ7ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVm
ZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgMSB9Iik7CiAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4obWFrZUFy
cmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSkpIHsKLSAg
ICAgICAgYXV0byBsVmFsdWUgPSB0YWtlTGFzdExlZnRWYWx1ZSgpLnZhbHVlOwogICAgICAgICBh
dXRvJiBhcnJheVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4obWFrZUFycmF5UmVmZXJl
bmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJs
ZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIi0+ZGF0YSgpLCAiLCBhcnJheVR5cGUubnVtRWxlbWVu
dHMoKSwgIiB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5
cGVOYW1lLCAiIHsgIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZl
cmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfSIpOwogICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1l
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHsgIiwgbFZhbHVlLCAiLCAxIH07XG4iKTsKKyAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5nbGVkVHlwZU5hbWUsICIgeyAmIik7CisgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRW
YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAxIH0iKTsKICAgICB9
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLCB2YXJp
YWJsZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpNYWtlUG9pbnRlckV4cHJlc3Npb24mIG1ha2VQb2ludGVyRXhwcmVzc2lvbikKIHsKKyAgICAv
LyBPT1BTCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKLSAgICBhdXRvIFtw
b2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwotICAgIGF1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VQ
b2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0g
IiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHko
bWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmlsaXR5KTsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mKQordm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
biYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxy
ZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAgICAqICAxLiBFdmFs
dWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX29sZFZh
bHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9uCisgICAgICogIDQu
IEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4gQXNzaWduIHRoZSBy
ZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9yZXN1bHRFeHByZXNz
aW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAgICovCisKKyAgICBhdXRvIGl0
ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRlKTsKKyAgICBSRUxF
QVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYg
dmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQodmFyaWFibGVzLnNp
emUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFsdWVWYXJpYWJsZSA9
IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgbmV3VmFsdWVWYXJp
YWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZy
ZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7CisgICAgbV92YXJp
YWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwgbmV3VmFsdWVWYXJp
YWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9y
QW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9uKCkpOworCisgICAg
Ly8gT09QUzogZG9uJ3QgZXZhbHVhdGUgbGVmdFZhbHVlIHR3aWNlIQorICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0
ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFs
dWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdy
aXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScp
OwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5
RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVk
aWNhdGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5
RXhwcmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtlTGFzdFZh
bHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0
byBlbHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVOYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9u
LnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIs
IGJvZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVy
bmFyeUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpW
YXJpYWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgxOCw3IEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlQoaXRl
cmF0b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZhcmlhYmxl
TmFtZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRMZWZ0VmFs
dWUodmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90
TnVsbCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lXSB7
Ci0gICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAidGhyZWFk
ICIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNv
bHZlZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtc
biIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6Q29uc3Rh
bnRFeHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIE1ldGFsIHsKIAog
c3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBNZXRhbENvZGUgPSBmYWxzZTsKIAotc3RhdGljIFN0
cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKK3N0YXRpYyBTdHJpbmdWaWV3IG1ldGFsQ29kZVBy
b2xvZ3VlKCkKIHsKICAgICByZXR1cm4gU3RyaW5nVmlldyB7CiAgICAgICAgICIjaW5jbHVkZSA8
bWV0YWxfc3RkbGliPlxuIgpAQCAtNTMsNyArNTMsMTcxIEBAIHN0YXRpYyBTdHJpbmdWaWV3IG1l
dGFsQ29kZVByb2xvZygpCiAgICAgICAgICJcbiIKICAgICAgICAgInVzaW5nIG5hbWVzcGFjZSBt
ZXRhbDtcbiIKICAgICAgICAgIlxuIgorInRlbXBsYXRlIDx0eXBlbmFtZSBULCBpbnQgQ29scywg
aW50IFJvd3M+XG4iCisic3RydWN0IFdTTE1hdHJpeFxuIgorIntcbiIKKyIgICAgdmVjPFQsIFJv
d3M+IGNvbHVtbnNbQ29sc107XG4iCisiICAgIHByaXZhdGU6XG4iCisiICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBVLCBpbnQuLi4gUj5cbiIKKyIgICAgc3RhdGljIHZlYzxULCBSb3dzPiBidWlsZF9j
b2woaW5pdGlhbGl6ZXJfbGlzdDxVPiBjb2wsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4p
XG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiB7KFIgPCBjb2wuc2l6ZSgpID8gKihjb2wu
YmVnaW4oKSArIFIpIDogVSgpKS4uLn07XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPGlu
dC4uLiBSPlxuIgorIiAgICBzdGF0aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2Z1bGxfY29sKGludCBj
LCBpbml0aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFIuLi4+
KVxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4geyooZWxlbXMuYmVnaW4oKSArIGMgKiBS
b3dzICsgUikuLi59O1xuIgorIiAgICB9XG4iCisiICAgIHN0cnVjdCBjb2xzX2luaXRfdGFnIHsg
fTtcbiIKKyIgICAgc3RydWN0IGNvbHNfYWxsX3RhZyB7IH07XG4iCisiICAgIHN0cnVjdCBlbGVt
c19hbGxfdGFnIHsgfTtcbiIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxp
bmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVj
PFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRcbiIK
KyIgICAgICAgIDogY29sdW1uc3soQyA8IGNvbHMuc2l6ZSgpID8gKihjb2xzLmJlZ2luKCkgKyBD
KSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHRl
bXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbHNfYWxsX3RhZywgVS4uLiBjb2xzKSB0aHJlYWRcbiIKKyIgICAgICAgIDogY29sdW1uc3sg
Y29scy4uLiB9XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChlbGVtc19hbGxfdGFn
LCBVLi4uIGVsZW1zKSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4u
Ln0sIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICAgICAge1xu
IgorIiAgICAgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisiICAgICAgICA6IGNvbHVtbnN7YnVpbGRf
ZnVsbF9jb2woQywgZWxlbXMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSb3dzPigpKS4u
Ln1cbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIK
KyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnLCBpbml0aWFsaXpl
cl9saXN0PHZlYzxULCBSb3dzPj4gY29scywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikg
Y29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3soQyA8IGNvbHMuc2l6ZSgpID8gKihjb2xz
LmJlZ2luKCkgKyBDKSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIKKyIgICAge1xuIgorIiAgICB9
XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGNvbHNfYWxsX3RhZywgVS4uLiBjb2xzKSBjb25zdGFudFxuIgorIiAgICAg
ICAgOiBjb2x1bW5zeyBjb2xzLi4uIH1cbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHRl
bXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1h
dHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlc
biIKKyIgICAgICAgIHtcbiIKKyIgICAgICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBD
PlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8VD4g
ZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50XG4iCisiICAgICAg
ICA6IGNvbHVtbnN7YnVpbGRfZnVsbF9jb2woQywgZWxlbXMsIF9tYWtlX2ludGVnZXJfc2VxdWVu
Y2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHB1Ymxp
YzpcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeCgpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAg
IGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMpIHRo
cmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgoY29sc19pbml0X3RhZygpLCBjb2xzLCBfbWFr
ZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4i
CisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQg
V1NMTWF0cml4KFUuLi4gdmFscykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb25k
aXRpb25hbF90PHNpemVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90
YWc+KCksIHZhbHMuLi4pXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NM
TWF0cml4KCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGlu
aXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSBjb25zdGFudFxuIgorIiAgICAgICAg
OiBXU0xNYXRyaXgoY29sc19pbml0X3RhZygpLCBjb2xzLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBleHBs
aWNpdCBXU0xNYXRyaXgoVCB2YWwpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh2
YWwsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAgIGlubGluZSBl
eHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xN
YXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4oVSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBl
bGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAg
aW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0
aGF0KSB0aHJlYWQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIK
KyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUs
IENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQs
IF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBkZXZpY2UgV1NMTWF0cml4PFQsIENv
bHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBkZXZpY2Ug
V1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NM
TWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAg
ICB7XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBX
U0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4i
CisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwg
Q29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgo
Y29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWQg
PSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5l
IGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywg
Um93cz4gJnRoYXQpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2Vf
aW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgor
IiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1h
dHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0
cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBkZXZpY2UgV1NMTWF0
cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisiICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNv
bnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisi
ICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29s
cz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29u
c3QgY29uc3RhbnQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRl
ZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhw
bGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAm
dGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVn
ZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAg
aW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAg
V1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBX
U0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisi
ICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBwdWJsaWM6XG4iCisiICAgIGlubGluZSB0aHJlYWQg
dmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSB0aHJlYWRcbiIKKyIgICAge1xuIgorIiAg
ICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGRldmlj
ZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGRldmljZVxuIgorIiAgICB7XG4iCisi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgdGhy
ZWFkZ3JvdXAgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSB0aHJlYWRncm91cFxuIgor
IiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIiAg
ICBpbmxpbmUgY29uc3QgdGhyZWFkIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgY29u
c3QgdGhyZWFkXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgor
IiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCBkZXZpY2UgdmVjPFQsIFJvd3M+ICZvcGVyYXRv
cltdKGludCByKSBjb25zdCBkZXZpY2VcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNv
bHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNvbnN0IGNvbnN0YW50IHZlYzxU
LCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgY29uc3QgY29uc3RhbnRcbiIKKyIgICAge1xuIgor
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNv
bnN0IHRocmVhZGdyb3VwIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgY29uc3QgdGhy
ZWFkZ3JvdXBcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisi
ICAgIH1cbiIKKyJ9O1xuIgorCisKICAgICB9OworCiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBNZXRh
bENvZGVJZk5lZWRlZChTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyKQpAQCAtNjcsNyArMjMx
LDcgQEAgc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZwogUmVuZGVyTWV0
YWxDb2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRSZW5kZXJT
ZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkKIHsKICAgICBTdHJp
bmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxD
b2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZ3Vl
KCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAgICB0eXBlTmFtZXIu
ZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkBAIC04Miw3ICsyNDYsNyBAQCBSZW5kZXJN
ZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhCiBDb21wdXRlTWV0YWxDb2RlIGdlbmVy
YXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRDb21wdXRlU2VtYW50aWNzJiYg
bWF0Y2hlZFNlbWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBz
dHJpbmdCdWlsZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygp
KTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAg
IFR5cGVOYW1lciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5
cGVzKHN0cmluZ0J1aWxkZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5j
dGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIHN0YXRpYyBpbnQgdmVjdG9yTGVuZ3RoKEFTVDo6
TmF0aXZlVHlwZUQKICAgICByZXR1cm4gdmVjdG9yTGVuZ3RoOwogfQogCisvKgogc3RhdGljIEFT
VDo6TmFtZWRUeXBlJiB2ZWN0b3JJbm5lclR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IG5hdGl2ZVR5cGVEZWNsYXJhdGlvbikKIHsKICAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9u
LnR5cGVBcmd1bWVudHMoKS5pc0VtcHR5KCkpCkBAIC0xMTksOCArMTIwLDkgQEAgc3RhdGljIGNv
bnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdAogICAgICAgICByZXR1cm4gIjQiOwogICAg
IH0KIH0KKyovCiAKLXZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3Ry
aW5nQnVpbGRlciwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWUsIGNvbnN0IFZlY3Rv
cjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJncywgSW50cmluc2ljcyYgaW50cmluc2ljcywgVHlw
ZU5hbWVyJiB0eXBlTmFtZXIsIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiYm
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSwgSW5kZW50YXRpb248ND4gaW5kZW50KQordm9pZCBp
bmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIGNvbnN0
IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJncywgTWFuZ2xlZFZhcmlhYmxlTmFtZSBy
ZXN1bHROYW1lLCBJbnRyaW5zaWNzJiAvKmludHJpbnNpY3MqLywgVHlwZU5hbWVyJiB0eXBlTmFt
ZXIsIEluZGVudGF0aW9uPDQ+KQogewogICAgIGF1dG8gYXNNYXRyaXhUeXBlID0gWyZdIChBU1Q6
OlVubmFtZWRUeXBlJiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24q
IHsKICAgICAgICAgYXV0byYgcmVhbFR5cGUgPSB1bm5hbWVkVHlwZS51bmlmeU5vZGUoKTsKQEAg
LTEzOSwxOSArMTQxLDIyIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWRO
YW1lRm9yVHlwZShyZXR1cm5UeXBlKTsKIAogICAgICAgICBpZiAoIW5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSkgewotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0geyB9O1xuIik7CisgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAiIHsgfSIpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKSB7CiAgICAgICAgICAgICBhdXRvJiBw
YXJhbWV0ZXJUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRlclR5cGUpOworICAgICAgICAgICAgLy9h
dXRvIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KHBhcmFtZXRlclR5cGUpOwogCiAgICAgICAgICAgICBhdXRvIGlzRW51bWVyYXRpb25EZWZpbml0
aW9uID0gW10gKGF1dG8mIHR5cGUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gaXM8QVNUOjpO
YW1lZFR5cGU+KHR5cGUpICYmIGlzPEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2Fz
dDxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIGF1
dG8mIHVuaWZpZWRSZXR1cm5UeXBlID0gcmV0dXJuVHlwZS51bmlmeU5vZGUoKTsKICAgICAgICAg
ICAgIGlmIChpc0VudW1lcmF0aW9uRGVmaW5pdGlvbih1bmlmaWVkUmV0dXJuVHlwZSkgJiYgIWlz
RW51bWVyYXRpb25EZWZpbml0aW9uKHBhcmFtZXRlclR5cGUudW5pZnlOb2RlKCkpKSB7CisgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAg
ICAvLyBPT1BTIQorICAgICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgICAgYXV0byB2YXJp
YWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIpOwogICAgICAgICAgICAgICAgIGF1
dG8mIGVudW1lcmF0aW9uRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6RW51bWVyYXRpb25EZWZp
bml0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZmllZFJldHVyblR5cGUpKTsKQEAg
LTE3MywxNyArMTc4LDI4IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2YXJp
YWJsZU5hbWUsICIpO1xuIik7CisgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0s
ICIpO1xuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19j
YXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpIik7CiAKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBl
ID0gYXNNYXRyaXhUeXBlKHJldHVyblR5cGUpKSB7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOworICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBhcmdzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkp
CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKKworICAgICAgICAgICAgLy8g
T09QUzogdGVzdCB0aGlzCisKKyAgICAgICAgICAgIC8qCiAgICAgICAgICAgICB1bnNpZ25lZCBu
dW1Sb3dzID0gbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhSb3dzKCk7CiAgICAgICAgICAgICB1
bnNpZ25lZCBudW1Db2x1bW5zID0gbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93cyB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93cyAqIG51bUNvbHVtbnMpOwotCiAgICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogCiAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZU5h
bWUsICcgJywgdmFyaWFibGVOYW1lLCAiO1xuIik7CkBAIC0yMDcsMjY1ICsyMjMsMjY4IEBAIHZv
aWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
IiwgdmFyaWFibGVOYW1lLCAiO1xuIik7CisgICAgICAgICAgICAqLwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIigiKTsKKyAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBp
ZiAoaSkKICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICB9Ci0gICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtl
IGEgc3RydWN0IGZpZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJz
IGZvciB0aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVuZ3RoIikgewotICAgICAg
ICBBU1NFUlRfVU5VU0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi50eXBlKCksIGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAg
ICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJh
bWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0g
ICAgICAgIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0g
ICAgICAgICAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5
VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQ
YXJhbWV0ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
dW5uYW1lZFBhcmFtZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtc
biIpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvL0FT
U0VSVF9VTlVTRUQoaW50cmluc2ljcywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnR5cGUoKSwgaW50cmluc2ljcy51aW50VHlwZSgpKSk7CisgICAgICAgIC8vQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKKyAgICAgICAg
Ly9hdXRvJiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7CisgICAgICAgIC8vYXV0byYgdW5uYW1lZFBh
cmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsK
KyAgICAgICAgLy9pZiAoaXM8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSkg
eworICAgICAgICAvLyAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6
OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpOworICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
ICIsIGFycmF5UGFyYW1ldGVyVHlwZS5udW1FbGVtZW50cygpLCAiO1xuIik7CisgICAgICAgIC8v
ICAgIHJldHVybjsKKyAgICAgICAgLy99CisKKyAgICAgICAgLy9BU1NFUlQoaXM8QVNUOjpBcnJh
eVJlZmVyZW5jZVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSk7CisgICAgICAgIC8vc3RyaW5n
QnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3Iu
Il9zdHIpKSB7Ci0gICAgICAgIGF1dG8gYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZSA9IFsmXSAoY29u
c3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKLSAgICAgICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9k
ZSgpOwotICAgICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0
aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5p
dGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAg
ICAgICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlv
bi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1l
bnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBBU1NFUlQoaXM8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpOwotICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKLSAgICAgICAgfTsKLQotICAgICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkgewotICAgICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAyKTsKLSAgICAgICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAg
ICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc3Vic3RyaW5nKDAsIGZpZWxkTmFtZS5sZW5ndGgo
KSAtIDEpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICcuJyk7Ci0gICAgICAgICAgICBhcHBlbmRNYW5n
bGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwotCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIubGVuZ3RoKCkpOwot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7Ci0gICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5h
bWUoZmllbGROYW1lKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvL2F1dG8gYXBwZW5k
TWFuZ2xlZEZpZWxkTmFtZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKKyAgICAg
ICAgLy8gICAgYXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7CisgICAgICAgIC8vICAgIGF1dG8mIG5h
bWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOworICAgICAgICAv
LyAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7CisgICAg
ICAgIC8vICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpT
dHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOworICAgICAgICAvLyAgICAgICAgYXV0byog
c3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwor
ICAgICAgICAvLyAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICAvLyAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0
dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCkpOworICAgICAgICAvLyAgICAgICAgcmV0dXJu
OworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKSk7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGZpZWxkTmFtZSk7CisgICAgICAgIC8vfTsKKworICAgICAgICAvL2lmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5lbmRzV2l0aCgiPSIpKSB7CisgICAgICAgIC8vICAg
IEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
Mik7CisgICAgICAgIC8vICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgoKSk7CisgICAgICAg
IC8vICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJzdHJpbmcoMCwgZmllbGROYW1lLmxlbmd0
aCgpIC0gMSk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAg
IC8vICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIiwKKyAg
ICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgJy4nKTsKKyAgICAgICAgLy8gICAg
YXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOworICAgICAgICAvLyAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOworCisgICAgICAgIC8vICAgIHJl
dHVybjsKKyAgICAgICAgLy99CisKKyAgICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOworICAgICAgICAvL2F1dG8gZmllbGRO
YW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRv
ci4iX3N0ci5sZW5ndGgoKSk7CisgICAgICAgIC8vc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAg
ICAgIC8vICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7CisgICAg
ICAgIC8vYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOworICAgICAgICAvL3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
IChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvciYu
Il9zdHIpKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVuZ3Ro
KCkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
IiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7CisgICAgICAgIC8vQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKKyAgICAg
ICAgLy9hdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1
YnN0cmluZygib3BlcmF0b3ImLiJfc3RyLmxlbmd0aCgpKTsKIAotICAgICAgICBhdXRvJiB1bm5h
bWVkVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlw
ZSgpOwotICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBl
Pih1bm5hbWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0byYg
bmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAgICAg
ICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURl
ZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50
ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBBU1NF
UlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50
KSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmll
bGROYW1lKTsKKyAgICAgICAgLy9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+
Iik7CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiBudWxscHRyO1xuIik7Cisg
ICAgICAgIC8vYXV0byYgdW5uYW1lZFR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKKyAgICAgICAgLy9hdXRvJiB1bmlmeU5vZGUgPSBkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5v
ZGUoKTsKKyAgICAgICAgLy9hdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlw
ZT4odW5pZnlOb2RlKTsKKyAgICAgICAgLy9pZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9u
PihuYW1lZFR5cGUpKSB7CisgICAgICAgIC8vICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24g
PSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7CisgICAgICAg
IC8vICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQo
ZmllbGROYW1lKTsKKyAgICAgICAgLy8gICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAg
ICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JT
dHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7CisgICAgICAgIC8vfSBlbHNlCisg
ICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7CisKKyAgICAgICAg
Ly9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IG51bGxwdHI7XG4iKTsKIAogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09
ICJvcGVyYXRvciZbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6QXJy
YXlSZWZlcmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gKCIsIGFyZ3NbMV0sICIgPCAiLCBhcmdzWzBdLCAiLmxlbmd0aCkgPyAiLCAiICYo
IiwgYXJnc1swXSwgIi5wb2ludGVyWyIsIGFyZ3NbMV0sICJdKSA6IG51bGxwdHI7XG4iKTsKKyAg
ICAgICAgLy9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpID09IDIpOworICAgICAgICAvL0FTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKKwor
ICAgICAgICAvL3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSAoIiwgYXJnc1sxXSwgIiA8ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIs
ICIgJigiLCBhcmdzWzBdLCAiLnBvaW50ZXJbIiwgYXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIp
OwogICAgICAgICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHZlY3Rv
clNpemUgPSBbJl0gKCkgLT4gdW5zaWduZWQgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNl
ID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHZlY3RvclR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVm
ZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29s
dmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHZlY3Rv
clR5cGUubmFtZSgpID09ICJ2ZWN0b3IiKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUudHlw
ZUFyZ3VtZW50cygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6
Q29uc3RhbnRFeHByZXNzaW9uPih2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdl
ckxpdGVyYWwoKS52YWx1ZSgpOwotICAgIH07Ci0KLSAgICBhdXRvIGdldE1hdHJpeFR5cGUgPSBb
Jl0gKCkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHsKLSAgICAgICAgYXV0byYgdHlw
ZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBhdXRvJiByZXN1
bHQgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpU
eXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNl
LnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJU
KHJlc3VsdC5pc01hdHJpeCgpKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OworICAg
IC8vYXV0byB2ZWN0b3JTaXplID0gWyZdICgpIC0+IHVuc2lnbmVkIHsKKyAgICAvLyAgICBhdXRv
JiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7CisgICAgLy8gICAgYXV0
byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3du
Y2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5
cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOworICAg
IC8vICAgIEFTU0VSVCh2ZWN0b3JUeXBlLm5hbWUoKSA9PSAidmVjdG9yIik7CisgICAgLy8gICAg
QVNTRVJUKHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpLnNpemUoKSA9PSAyKTsKKyAgICAvLyAg
ICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlw
ZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7CisgICAgLy99OworCisg
ICAgLy9hdXRvIGdldE1hdHJpeFR5cGUgPSBbJl0gKCkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24mIHsKKyAgICAvLyAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpU
eXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKSk7CisgICAgLy8gICAgYXV0byYgcmVzdWx0ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNU
OjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5y
ZXNvbHZlZFR5cGUoKSk7CisgICAgLy8gICAgQVNTRVJUKHJlc3VsdC5pc01hdHJpeCgpKTsKKyAg
ICAvLyAgICByZXR1cm4gcmVzdWx0OworICAgIC8vfTsKIAogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAg
ICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAg
ICBzaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURl
ZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRU
eXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1l
bnRzID09IDMpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIHVuc2ln
bmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsK
LSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5u
dW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0
YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
ImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVy
bk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICJdO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzFdID0gIiwgYXJnc1swXSwg
J1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzLCAiXTtcbiIpOwotCi0gICAgICAgICAg
ICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBhcmdzWzBdLCAnWycsIGFy
Z3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOwotICAgICAgICAgICAgICAg
IGlmIChudW1iZXJPZkNvbHVtbnMgPj0gNCkKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFd
LCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl07XG4iKTsKKyAgICAgICAgLy9BU1NFUlQobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOworICAgICAg
ICAvL2F1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKKyAgICAg
ICAgLy9zaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlw
ZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2
ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7CisgICAgICAgIC8vaWYgKG51bVR5cGVB
cmd1bWVudHMgPT0gMykgeworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBl
KCkpOworCisgICAgICAgIC8vICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5
cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKKyAgICAgICAgLy8gICAgdW5zaWduZWQgbnVtYmVy
T2ZDb2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAg
ICAgICAvLyAgICAKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
ZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIEluZGVudGF0aW9u
U2NvcGUgc2NvcGUoaW5kZW50KTsKKworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIg
cmVzdWx0O1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sx
XSwgIiA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAg
aW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7
XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisgICAg
ICAgIC8vICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBp
bmRlbnQsICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICJdO1xuIiwKKyAg
ICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycs
IGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MsICJdO1xuIik7CisKKyAgICAgICAgLy8gICAg
ICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKKyAgICAgICAgLy8gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBhcmdzWzBdLCAnWycsIGFy
Z3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOworICAgICAgICAvLyAgICAg
ICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQorICAgICAgICAvLyAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFszXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJn
c1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDMsICJdO1xuIik7CiAgICAgCi0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0
O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
fSB3aGlsZSAoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1F
bGVtZW50cyA9IHZlY3RvclNpemUoKTsKLQotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5h
bWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24udHlwZSgpKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
ZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29w
ZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBu
dW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIs
IHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBh
cmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAg
ICB9CisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKKyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKKyAgICAgICAgLy99IGVsc2Ug
eworICAgICAgICAvLyAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOwor
ICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKKworICAg
ICAgICAvLyAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCisgICAgICAgIC8vICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOworICAgICAgICAvLyAgICB7
CisgICAgICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAg
ICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAorICAgICAgICAvLyAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7
XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAi
ID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBp
bmRlbnQsICIgICAgYnJlYWs7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIn1c
biIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0ID0gIiwgYXJnc1swXSwg
IlsiLCBhcmdzWzFdLCAiXTtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1
cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy8gICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSAoMCk7XG4iKTsKKyAgICAgICAg
Ly99CiAKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8mIHR5cGVS
ZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5
cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNh
c3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBl
UmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJn
dW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhU
eXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJP
ZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsK
LQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwg
YXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIs
IG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAg
ICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
ICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwg
YXJnc1syXSwgIlsxXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMg
Pj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
bVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0g
ICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3Mg
KiAzLCAiXSA9ICIsIGFyZ3NbMl0sICJbM107XG4iKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBtO1xuIik7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0KLSAgICAgICAgICAgIEFTU0VSVChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAg
ICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgp
KTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWRO
YW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVs
ZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUs
ICIgdiA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1l
dGFsUGFyYW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSB2O1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAidltpXSA9
ICIsIGFyZ3NbMl0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5h
bWUsICIgPSB2O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0KKyAgICAgICAgLy9h
dXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7CisgICAgICAgIC8v
c2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZp
bml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlw
ZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOworICAgICAgICAvL2lmIChudW1UeXBlQXJndW1l
bnRzID09IDMpIHsKKyAgICAgICAgLy8gICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFBh
cmFtZXRlcjJOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7CisgICAgICAgIC8vICAgIGF1
dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKKyAgICAgICAgLy8gICAgdW5zaWduZWQgbnVt
YmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAg
ICAvLyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVy
T2ZNYXRyaXhDb2x1bW5zKCk7CisKKyAgICAgICAgLy8gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAiZG8ge1xuIik7CisgICAgICAgIC8vICAgIHsKKyAgICAgICAgLy8gICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKKworICAgICAgICAvLyAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
bk5hbWUsICIgbSA9ICIsIGFyZ3NbMF0sICI7XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGlu
ZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCisgICAg
ICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7
XG4iLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAi
ID0gbTtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwK
KyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAorICAgICAgICAvLyAgICAgICAg
ICAgIGluZGVudCwgIm1baV0gPSAiLCBhcmdzWzJdLCAiWzBdO1xuIiwKKyAgICAgICAgLy8gICAg
ICAgICAgICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1syXSwg
IlsxXTtcbiIpOworICAgICAgICAvLyAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQor
ICAgICAgICAvLyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSAr
ICIsIG51bWJlck9mUm93cyAqIDIsICJdID0gIiwgYXJnc1syXSwgIlsyXTtcbiIpOworICAgICAg
ICAvLyAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQorICAgICAgICAvLyAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAq
IDMsICJdID0gIiwgYXJnc1syXSwgIlszXTtcbiIpOworICAgICAgICAvLyAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gbTtcbiIpOworICAgICAgICAv
LyAgICB9CisgICAgICAgIC8vICAgIAorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7CisgICAgICAgIC8vfSBlbHNlIHsKKyAgICAgICAg
Ly8gICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKKworICAgICAgICAv
LyAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDMpOworICAgICAgICAvLyAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKVsxXS0+dHlwZSgpKTsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlw
ZSgpKTsKKworICAgICAgICAvLyAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUo
KTsKKworICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4i
KTsKKyAgICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29wZSBz
Y29wZShpbmRlbnQpOworCisgICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwg
YXJnc1swXSwgIjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFt
ZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKKyAgICAgICAgLy8g
ICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAorICAgICAg
ICAvLyAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCisgICAgICAgIC8vICAgICAg
ICAgICAgaW5kZW50LCAifVxuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJ2W2ld
ID0gIiwgYXJnc1syXSwgIjtcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCByZXR1
cm5OYW1lLCAiID0gdjtcbiIpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgLy99CiAK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLmlzT3BlcmF0b3IoKSkgewogICAgICAgICBhdXRvIG9wZXJhdG9yTmFtZSA9IG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IiX3N0ci5sZW5ndGgo
KSk7Ci0gICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKICAgICAgICAgaWYg
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKSB7Cisg
ICAgICAgICAgICAvLyBUaGlzIGlzIG9rIHRvIGRvIHNpbmNlIHRoZSBhcmdzIHRvIHRoaXMgZnVu
Y3Rpb24gYXJlIGFsbCB0ZW1wcy4KKyAgICAgICAgICAgIC8vIFNvIHRoaW5ncyBsaWtlICsrIGFu
ZCAtLSBhcmUgb2sgdG8gZG8uCisKICAgICAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0g
YXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRl
bnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBhcmdzWzBd
LCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgeFtpXSA9ICIsIG9wZXJhdG9yTmFtZSwgInhbaV07XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIG9wZXJhdG9yTmFtZSwgYXJn
c1swXSwgJ1snLCBpLCAnXScpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNj
b3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gIiwgb3BlcmF0b3JOYW1lLCAieDtcbiIpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1
bHROYW1lLCAnKScpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQob3BlcmF0b3JOYW1lLCBhcmdzWzBdKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCkBAIC00NzMsNDkgKzQ5Miw0MCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGlmIChhdXRvKiBsZWZ0TWF0cml4ID0gYXNN
YXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlw
ZSgpKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRyaXhUeXBl
KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKSkgewog
ICAgICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IG1hdHJpeAotICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwg
IltpXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsr
aSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwgJ1snLCBp
LCAiXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBpLCAnXScpOwogICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1
bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBt
YXRyaXggPG9wPiBzY2FsYXIKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0
dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJbaV0gIiwgb3BlcmF0b3JOYW1l
LCAnICcsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlZnRN
YXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
LCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFt
ZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwgIl0gIiwgb3BlcmF0b3JOYW1lLCAn
ICcsIGFyZ3NbMV0pOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgiLCAiLCByZXN1bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9IGVsc2UgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKSkgewogICAgICAgICAgICAg
QVNTRVJUKCFhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKTsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IG1hdHJpeAotICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9y
TmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByaWdodE1hdHJp
eC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChp
KQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0g
IiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBpLCAnXScp
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1bHRO
YW1lLCAnKScpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4g
c2NhbGFyCiAgICAgICAgICAgICAvLyB2ZWN0b3IgPG9wPiB2ZWN0b3IKICAgICAgICAgICAgIC8v
IHZlY3RvciA8b3A+IHNjYWxhcgogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4gdmVjdG9yCiAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdz
WzFdLCAiO1xuIik7CisgICAgICAgICAgICAgICAgJygnLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9y
TmFtZSwgJyAnLCBhcmdzWzFdLCAnKScpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuOwpA
QCAtNTQ4LDc1ICs1NTgsODAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJgogICAgICAgICB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAibGVu
Z3RoIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG1hcEZ1bmN0aW9uTmFtZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSksICcoJywgYXJnc1swXSwgIik7XG4iKTsKKyAgICAg
ICAgICAgIG1hcEZ1bmN0aW9uTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSks
ICcoJywgYXJnc1swXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAicG93IiB8fCBuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiYXRhbjIiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
IiwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICIoIiwgYXJnc1swXSwgIiwgIiwg
YXJnc1sxXSwgIik7XG4iKTsKKyAgICAgICAgICAgIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
bmFtZSgpLCAnKCcsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
ImNsYW1wIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICBpZiAoYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVy
blR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24udHlwZSgpKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5k
ZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwg
IiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7
IGkgPCB4LnNpemUoKTsgKytpKSBcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICB4W2ldID0gY2xhbXAoIiwgYXJnc1swXSwgIltpXSwgIiwgYXJnc1sxXSwgIltpXSwgIiwgYXJn
c1syXSwgIltpXSk7IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0geDtcbiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBj
bGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiKTtcbiIpOwot
ICAgICAgICB9CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAi
Y2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgJyknKTsKKwor
ICAgICAgICAvL2lmIChhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBl
KCkpKSB7CisgICAgICAgIC8vICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1h
bmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisgICAg
ICAgIC8vICAgIAorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7
XG4iKTsKKyAgICAgICAgLy8gICAgeworICAgICAgICAvLyAgICAgICAgSW5kZW50YXRpb25TY29w
ZSBzY29wZShpbmRlbnQpOworICAgICAgICAvLyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
CisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIs
CisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4
LnNpemUoKTsgKytpKSBcbiIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50LCAiICAgIHhb
aV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAiW2ldLCAiLCBhcmdzWzJd
LCAiW2ldKTsiLAorICAgICAgICAvLyAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHg7XG4iKTsKKyAgICAgICAgLy8gICAgfQorICAgICAgICAvLyAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgLy99IGVsc2UgeworICAgICAgICAvLyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIp
O1xuIik7CisgICAgICAgIC8vfQogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJBbGxNZW1vcnlCYXJyaWVyV2l0aEdy
b3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNl
KTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFn
czo6bWVtX3RocmVhZGdyb3VwKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91
cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpO1xuIik7CisgICAgICAgICAgICAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIiwKKyAgICAgICAgICAgICJ0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIsCisgICAgICAg
ICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKSIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
bmFtZSgpID09ICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAg
QVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwog
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVh
ZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKTtcbiIpOworICAgICAgICAgICAg
InRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQo
IW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBf
YmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iKTsKKyAgICAgICAgICAgICJ0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpLnN0YXJ0c1dpdGgoIkludGVybG9ja2VkIl9zdHIpKSB7CiAgICAgICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2Ui
KSB7CiAgICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDQpOworICAgICAgICAgICAgLy8gT09QUzogUG9pbnRlcnM/IElzIHRo
aXMgZXZlbiBwb3NzaWJsZT8KICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGluZGVudCwgImF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGlj
aXQoIiwgYXJnc1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIsIG1lbW9yeV9v
cmRlcl9yZWxheGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iLAotICAgICAgICAgICAgICAg
IGluZGVudCwgJyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAg
ICAgICAgICIoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBd
LCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQs
IG1lbW9yeV9vcmRlcl9yZWxheGVkKSwgIiwKKyAgICAgICAgICAgICAgICAnKicsIGFyZ3NbM10s
ICIgPSAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
ICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKSA9PSAzKTsKICAgICAgICAgYXV0byBuYW1lID0gYXRvbWljTmFtZShuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIkludGVybG9ja2VkIl9zdHIubGVuZ3RoKCkp
KTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICcq
JywgYXJnc1syXSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIs
ICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAg
JyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwg
IiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTYzMCw3ICs2NDUsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9y
TGVuZ3RoKHJldHVyblR5cGUpOwogCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5zYW1wbGUoIiwg
YXJnc1sxXSwgIiwgIik7CisgICAgICAgICAgICBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFd
LCAiLCAiKTsKIAogICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewog
ICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBAIC02NDIsMTQg
KzY1NywxNiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIik7CiAgICAgICAgIGlmICghdGV4dHVyZVR5cGUu
aXNEZXB0aFRleHR1cmUoKSkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIuIiwg
Inh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQogCiAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJMb2FkIikgewogICAg
ICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDIpOworICAgICAgICAvLyBPT1BTCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIAorICAgICAgICAvKgogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgbG9jYXRpb25UeXBlID0gZG93bmNhc3Q8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkp
OwogICAgICAgICBhdXRvIGxvY2F0aW9uVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKGxvY2F0
aW9uVHlwZSk7CkBAIC03MTcsNiArNzM0LDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihT
dHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwog
ICAgICAgICB9CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUo
MCk7XG4iKTsKKyAgICAgICAgKi8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzI0LDE4
ICs3NDIsMjEgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAibG9hZCIpIHsKICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1v
cnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAgICAgICJhdG9taWNfbG9hZF9leHBsaWNp
dCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
c3RvcmUiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgaW5kZW50LCAiYXRvbWljX3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIs
IGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0
b21pY19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlf
b3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR2V0RGltZW5zaW9ucyIpIHsKKyAgICAg
ICAgLy8gT09QUzogV2UgZG9uJ3QgaGF2ZSBwb2ludGVycywgd2hhdCB0byBkbyBoZXJlPworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAvKgogICAgICAgICBh
dXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihk
b3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKIAogICAgICAgICBzaXplX3QgaW5kZXgg
PSAxOwpAQCAtNzk5LDYgKzgyMCw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlciYKICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKm51bWJlck9mTGV2ZWxz
TmFtZSwgIilcbiIsCiAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCAqbnVtYmVyT2ZM
ZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfbnVtX21pcF9sZXZlbHMoKTtcbiIpOwog
ICAgICAgICB9CisgICAgICAgICovCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgzOSw2
ICs4NjEsMTAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogCiAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJTdG9yZSIpIHsKICAg
ICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSAzKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKworICAgICAg
ICAvLyBPT1BTCisgICAgICAgIC8qCiAgICAgICAgIAogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlw
ZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5h
bWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUo
KS0+dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgaXRlbVR5cGUgPSBkb3duY2FzdDxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7
CkBAIC04OTYsNiArOTIyLDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJgogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAgICAg
fQogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7
CisgICAgICAgICovCiAKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRh
bC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25X
cml0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgTWV0YWwg
ewogCiBjbGFzcyBUeXBlTmFtZXI7CiAKLXZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIE1hbmdsZWRWYXJpYWJs
ZU5hbWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1
bWVudE5hbWVzLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgc3RkOjpmdW5jdGlvbjxNYW5nbGVk
VmFyaWFibGVOYW1lKCk+JiYsIEluZGVudGF0aW9uPDQ+KTsKK3ZvaWQgaW5saW5lTmF0aXZlRnVu
Y3Rpb24oU3RyaW5nQnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIGNv
bnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywgTWFuZ2xlZFZh
cmlhYmxlTmFtZSByZXN1bHROYW1lLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgSW5kZW50YXRp
b248ND4pOwogCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNw
cAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAz
LDE4ICsxMDMsMTEgQEAgU3RyaW5nIHdyaXRlTmF0aXZlVHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZQog
ICAgICAgICAgICAgcmV0dXJuICJmbG9hdCI7CiAgICAgICAgIH0pKCk7CiAKLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMSA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwxID0gY29uc3RhbnRFeHByZXNzaW9uMS5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCByb3dzID0gaW50ZWdlckxpdGVyYWwxLnZhbHVlKCk7Ci0gICAgICAgIEFT
U0VSVChyb3dzID09IDIgfHwgcm93cyA9PSAzIHx8IHJvd3MgPT0gNCk7Ci0KLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMiA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwyID0gY29uc3RhbnRFeHByZXNzaW9uMi5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCBjb2x1bW5zID0gaW50ZWdlckxpdGVyYWwyLnZhbHVlKCk7Ci0gICAgICAg
IEFTU0VSVChjb2x1bW5zID09IDIgfHwgY29sdW1ucyA9PSAzIHx8IGNvbHVtbnMgPT0gNCk7Ci0g
ICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMg
KiByb3dzLCAiPiIpOworICAgICAgICAvL1JFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIC8vIE9PUFM6IG1ha2UgTVNMIG1hdHJpeCBub3cKKyAgICAgICAgLy8gT09QUzogdGhl
eSdyZSBzdGF0aWMgYXNzZXJ0aW5nIG1hdHJpY2VzIHVzZSBmbG9hdGluZyBwb2ludCBudW1zLiBX
VEYhCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJXU0xNYXRyaXg8IiwgcHJlZml4LCAiLCAi
LCBuYXRpdmVUeXBlRGVjbGFyYXRpb24ubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCksICIsICIsIG5h
dGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeFJvd3MoKSwgIj4iKTsKKyAgICAgICAg
Ly9yZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8IiwgcHJlZml4LCAiLCAiLCBjb2x1bW5zICogcm93
cywgIj4iKTsKICAgICB9CiAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJn
dW1lbnRzKCkuc2l6ZSgpID09IDEpOwogICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+PihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3Vt
ZW50cygpWzBdKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDg5NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgzMTAs
NiArODMxMCw3IEBACiAJCTUxRkI2N0RBMUFFNkI1RTQwMEQwNkM1QSAvKiBDb250ZW50RXh0ZW5z
aW9uU3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50
RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjEz
MUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyogVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjE1ODYyQzIyOTM3
N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xBU1QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTIyNTZDQUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdI
TFNMTmFtZVNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdITFNMTmFtZVNwYWNlLmg7IHBhdGggPSBB
U1QvV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyQkFC
OTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdITFNMQ29kZUxvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMkQw
N0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBXSExTTEV4cHJlc3Npb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0hMU0xFeHByZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTIyREEzRDMyMjlFMUQzOTAwNDJEMTUxIC8qIFdITFNMR2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1MzIsNiArMjU1MzMsNyBAQAogCQkJCUMyMTBFOTEy
MjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmggKi8sCiAJCQkJMUNBMEMyRUMyMUVFRDZG
NjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcCAqLywKIAkJCQkxQ0EwQzJF
QTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuaCAqLywKKwkJCQk1
MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3BhY2UuaCAqLywKIAkJCQlDMjM0
QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5jcHAgKi8sCiAJCQkJQzIz
NEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFtZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0
QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1lUmVzb2x2ZXIuY3BwICovLApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBl
bGluZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVNZXRhbC5tbQkocmV2aXNpb24gMjQ5MDIw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1
dGVQaXBlbGluZU1ldGFsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MywxMCArOTMsMTAgQEAgc3Rh
dGljIE9wdGlvbmFsPFdITFNMOjpDb21wdXRlRGltZW5zaW9ucwogICAgICAgICBpZiAoV0hMU0w6
OmR1bXBNZXRhbENvbXBpbGVUaW1lcykKICAgICAgICAgICAgIGRhdGFMb2dMbigiTWV0YWwgY29t
cGlsZSB0aW1lczogIiwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lKS5taWxsaXNl
Y29uZHMoKSwgIiBtcyIpOwogICAgICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2lm
bmRlZiBOREVCVUcKKy8vI2lmbmRlZiBOREVCVUcKICAgICAgICAgaWYgKCFjb21wdXRlTGlicmFy
eSkKICAgICAgICAgICAgIE5TTG9nKEAiJUAiLCBlcnJvcik7Ci0jZW5kaWYKKy8vI2VuZGlmCiAg
ICAgICAgIEFTU0VSVChjb21wdXRlTGlicmFyeSk7CiAgICAgICAgIC8vIEZJWE1FOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzcxIE9uY2Ugd2UgemVyby1maWxs
IHZhcmlhYmxlcywgdGhlcmUgc2hvdWxkIGJlIG5vIHdhcm5pbmdzLCBzbyB3ZSBzaG91bGQgYmUg
YWJsZSB0byBBU1NFUlQoIWVycm9yKSBoZXJlLgogCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvbWF0cml4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L21hdHJpeC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbWF0cml4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY2LDIyICs2NiwyNCBAQCBjb21wdXRl
IHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbCiAgICAgaWYgKCFhbGxFcXVhbChmb28s
IDQyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm91cnR5VHdvWzEzMzddID0gNTA7Ci0gICAg
Zm9vWzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxsRXF1YWwoZm9vLCA0MikpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUwOwotICAgIGZvb1sxXSA9IGZv
dXJ0eVR3bzsKLSAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQotICAgICAgICByZXR1cm47Cisg
ICAgLy8gT09QUzogd2hhdCBzZW1hbnRpY3MgYXJlIHdlIGNob29zaW5nPwogCi0gICAgZmxvYXQz
IHNob3VsZEJlWmVybyA9IGZvb1sxMDAwMDBdOwotICAgIGlmIChzaG91bGRCZVplcm8ueCAhPSAw
IHx8IHNob3VsZEJlWmVyby55ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnogIT0gMCkKLSAgICAgICAg
cmV0dXJuOworICAgIC8vZm91cnR5VHdvWzEzMzddID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3Vy
dHlUd287CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsK
KworICAgIC8vZm91cnR5VHdvWzEwMDAwMDBdID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3VydHlU
d287CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsKKwor
ICAgIC8vZmxvYXQzIHNob3VsZEJlWmVybyA9IGZvb1sxMDAwMDBdOworICAgIC8vaWYgKHNob3Vs
ZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8fCBzaG91bGRCZVplcm8ueiAh
PSAwKQorICAgIC8vICAgIHJldHVybjsKIAotICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9
IDApCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDAp
CisgICAgLy8gICAgcmV0dXJuOwogCiAgICAgYnVmZmVyW3VpbnQodGhyZWFkSUQueCldID0gYnVm
ZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwogfQpAQCAtMTQ1LDcgKzE0Nyw3IEBAIGFzeW5j
IGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzddID09IDgpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAgIGVsc2UKLSAgICAgICAgdGVz
dEZhaWxlZCgiIik7CisgICAgICAgIHRlc3RGYWlsZWQoIm5vdCBjb3JyZWN0Iik7CiAgICAgcmVz
dWx0c0J1ZmZlci51bm1hcCgpOwogfQogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377415</attachid>
            <date>2019-08-27 19:09:21 -0700</date>
            <delta_ts>2019-08-27 19:30:07 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>834582</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMzMSw2ICszMzEsNyBAQCBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFZpc2l0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAorTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xUeXBlTmFtZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5l
cmF0b3IuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDYgKzY0LDggQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpbmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CkBAIC02MDAsNiArNjAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gcmVjdXJzZUFuZFdyYXBCYXNl
VHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwogICAgIGJvb2wgcmVjdXJzZUFu
ZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAgICB2b2lkIGFzc2lnbkNvbmNy
ZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5hbWVkVHlwZT4sIEFTVDo6VHlw
ZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lv
biYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlvbik7CiAgICAgdm9pZCBhc3Np
Z25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4s
IEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2FyZFR5cGUoQVNUOjpFeHByZXNz
aW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwogCkBAIC02MzUsOCAr
NjM4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0K
ICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3Rk
OjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcm
IG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVs
bHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5k
T3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsK
QEAgLTY1NSw2ICs2NTYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVubmFtZWRUeXBlJiB3cmFwcGVkVWludFR5
cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAg
IG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRy
aW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwor
ICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25L
ZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9k
ZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYgKzY3Niw3IEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVkRmxvYXRUeXBlOwor
ICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIFJl
ZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICBIYXNoTWFw
PEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBl
TWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNw
YWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OSwxNyBAQCBzdGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitzdGF0aWMgYm9vbCBtYXRjaEFuZENvbW1p
dChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBBU1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBl
KQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoWyZd
KFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5nVHlwZSkgeworICAgICAgICBpZiAobWF0
Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBbJl0oUmVmUHRyPFJlc29sdmFibGVUeXBl
UmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9vbCB7CisgICAgICAgIHJldHVybiBtYXRj
aEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5cGUtPnJlc29sdmFibGVUeXBlKCkpOwor
ICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBjb21taXQoUmVz
b2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52
aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRU
eXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gewpAQCAtOTY4LDYgKzk4OCwxMSBAQCB2
b2lkIENoZWNrZXI6OmFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4CiAgICAgZXhwcmVzc2lvbi5z
ZXRUeXBlQW5ub3RhdGlvbihXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7CiB9CiAKK3ZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgQVNU
OjpOYW1lZFR5cGUmIHR5cGUsIEFTVDo6VHlwZUFubm90YXRpb24gYW5ub3RhdGlvbikKK3sKKyAg
ICBhc3NpZ25Db25jcmV0ZVR5cGUoZXhwcmVzc2lvbiwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KHR5cGUuY29kZUxvY2F0aW9uKCksIHR5cGUpLCBhbm5vdGF0aW9uKTsKK30KKwogdm9pZCBDaGVj
a2VyOjphc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgUmVmUHRyPFJlc29s
dmFibGVUeXBlUmVmZXJlbmNlPiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSwgQVNUOjpUeXBlQW5u
b3RhdGlvbiB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6UmlnaHRWYWx1ZSgpKQogewogICAgIGF1dG8g
YWRkUmVzdWx0ID0gbV90eXBlTWFwLmFkZCgmZXhwcmVzc2lvbiwgbWFrZVVuaXF1ZTxSZXNvbHZp
bmdUeXBlPihXVEZNb3ZlKHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSkpOwpAQCAtMTAyOSw3ICsx
MDU0LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZQogICAgIGlm
ICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yd2FyZFR5cGUocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5nVHlwZSk7CisgICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNUOjpVbm5hbWVkVHlwZSog
Z2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKQEAgLTExNzAsMTQ0
ICsxMTk1LDExMSBAQCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gQ2hlY2tlcjo6YXJndW1lCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGluZyhBU1Q6
OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBSZXNv
bHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNlSW5mbyA9
IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOworICAg
IGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJhc2UoKSk7
CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBiYXNlVW5u
YW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlmICghYmFz
ZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0
aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9uLiIsIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBkb3QgZXhw
cmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9u
ID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0dXJuVHlw
ZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAg
ICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwot
ICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVy
RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9u
KGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5
cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9IGRvd25j
YXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBpZiAoQVNU
OjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhwcmVzc2lv
bi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVz
c2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZpZWxkIG5h
bWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlzdCBvbiBz
dHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5cGUoKTsK
LSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24gPSBu
dWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5cGUgPSBu
dWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UpIHsKLSAg
ICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVu
dFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NTcGFjZSkp
IHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpV
bm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVyQXJndW1l
bnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1
bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRk
aXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAgICAgYW5k
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFuZGVyTmFt
ZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgICAg
IGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGlm
IChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9ICZkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBl
KCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVy
CiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVh
ZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB0
aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3VtZW50VHlw
ZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VV
bm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAgUmVzb2x2
aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6OlBvaW50
ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVhZEFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5hcHBlbmQo
KmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0aHJlYWRB
bmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcywg
YW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAg
ICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpCisgICAg
ICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkgeworICAg
ICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRVaW50VHlw
ZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBz
ZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBhcnJheXMs
IGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5kZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2FzdDxBU1Q6
OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCk7
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY0
IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVyCi0g
ICAgfQotCi0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UgJiYgIWFuZGVyRnVuY3Rpb24gJiYgIWdl
dHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3Mg
aW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhbiBhbmRlciBvciBhIGdldHRlci4iLCBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBl
KS5pc1ZlY3RvcigpKSB7CisgICAgICAgIGlmICghbV9wcm9ncmFtLmlzVmFsaWRWZWN0b3JQcm9w
ZXJ0eShkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkgeworICAgICAgICAgICAgc2V0RXJyb3Io
RXJyb3IobWFrZVN0cmluZygiJy4iLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBwcm9wZXJ0eSBvbiBhIHZlY3Rvci4iKSwgZG90RXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLmxlbmd0aCgp
OworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7CisgICAgICAgIGlmIChmaWVsZExl
bmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24s
IGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgp
KSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9p
bnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50
eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwg
bV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVU
eXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpKQorICAgICAgICAg
ICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MudWlu
dFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3Mu
ZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCks
IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQogICAgIH0KK30K
IAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBh
IGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJl
c3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZv
ID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsK
KyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
YW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJl
dHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVy
cm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0
aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUg
YSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5
cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5k
R2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAg
ICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJl
dHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUg
dGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwg
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNl
VW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICgh
YmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2
ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0
dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhy
ZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJu
VHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2
aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJl
bmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5m
by0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkK
LSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1l
bnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZp
bmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29s
dmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAg
ICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVm
ZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VU
eXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFk
ZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
KQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxB
U1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAg
ICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAg
ICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JU
eXBlQXJndW1lbnQoKSwgQVNUOjpSaWdodFZhbHVlKCkpOworICAgICAgICBlbHNlIGlmIChuYXRp
dmVUeXBlLmlzTWF0cml4KCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGlubmVyVHlwZSA9IG5hdGl2
ZVR5cGUubWF0cml4VHlwZUFyZ3VtZW50KCk7CisgICAgICAgICAgICB1bnNpZ25lZCBudW1Sb3dz
ID0gbmF0aXZlVHlwZS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKKyAgICAgICAgICAgIGlmIChtYXRj
aGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpKQorICAgICAgICAgICAgICAg
IGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5ib29sVmVj
dG9yVHlwZUZvclNpemUobnVtUm93cykpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgICAg
ICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSkK
KyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBBU1Q6
OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBtX2lu
dHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSksIEFTVDo6UmlnaHRWYWx1
ZSgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJy
b3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5j
b2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVy
RnVuY3Rpb24pCi0gICAgICAgICAgICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9u
LT50eXBlKCk7Ci0gICAgfQotCi0gICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5j
dGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBm
dW5jdGlvbiB3aXRob3V0IGEgY29ycmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwg
aW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0KLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVy
RnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9u
KGFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRB
bmRlckZ1bmN0aW9uKHRocmVhZEFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5zZXRTZXR0ZXJGdW5jdGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5
cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYg
KGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRk
cmVzc1NwYWNlKCkpIHsKLSAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0
eXBlQW5ub3RhdGlvbiA9IEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VU
eXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVs
c2UgaWYgKHNldHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6
OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5v
dGF0aW9uLmlzUmlnaHRWYWx1ZSgpICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1
bmN0aW9uKSkKLSAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVl
KCk7Ci0gICAgYXNzaWduQ29uY3JldGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RG
TW92ZShmaWVsZFR5cGUpLCBXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hl
Y2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZp
bmlzaFZpc2l0aW5nKGRvdEV4cHJlc3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFT
VDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5m
byA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7
Ci0gICAgaWYgKCFiYXNlSW5mbykKLSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5n
KGluZGV4RXhwcmVzc2lvbiwgJmJhc2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBD
aGVja2VyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJp
ZUZpbmRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBuYW1lc3BhY2UgV0hMU0wgewogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdo
LWxldmVsIGNvbnN0cnVjdCBzb21laG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxv
d2VyZWQsIGl0J3MgYSBoaWdoIHpvbWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJs
aWMgVmlzaXRvciB7Ci1wcml2YXRlOgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9u
Jikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0K
LQotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChB
U1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdo
Wm9tYmllcyhQcm9ncmFtJiBwcm9ncmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYp
CiB7Ci0jaWYgQVNTRVJUX0RJU0FCTEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vs
c2UKLSAgICBIaWdoWm9tYmllRmluZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5k
aWYKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xJbnRyaW5zaWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlw
ZTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5
cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVy
biAqbV92ZWN0b3JCb29sW3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgdWludFR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWlu
dFR5cGUpOwpAQCAtODIsNiArODgsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVj
dG9yVWludFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWlu
dFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBS
RUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAg
ICAgIHJldHVybiAqbV92ZWN0b3JVaW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNT
RVJUKG1fdmVjdG9ySW50WzBdKTsKQEAgLTk0LDYgKzEwNiwxMiBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiAqbV92ZWN0b3JJbnRbMl07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24mIGludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUg
PT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbc2l6ZSAtIDJdOworICAgIH0KKwog
ICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBzYW1wbGVyVHlwZSgpIGNvbnN0CiAgICAg
ewogICAgICAgICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvckZsb2F0WzJdOwogICAgIH0KIAorICAgIEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBmbG9hdFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVk
IHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwg
c2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFtz
aXplIC0gMl07CisgICAgfQorCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4g
cHJ1bmVkIGZyb20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKiBkZHgoKSBjb25zdAogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2
aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2Ug
V0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZh
bHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBBU1RBZnRlclBhcnNpbmcgPSBmYWxzZTsK
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQXRFbmQgPSBmYWxzZTsKLXN0YXRpYyBjb25z
dGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1cmVzID0gZmFsc2U7CitzdGF0aWMgY29uc3Rl
eHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IHRydWU7CiBzdGF0aWMgY29uc3RleHBy
IGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFTVEJlZm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RB
ZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8IGFsd2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBz
dGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNlVGltZXMgPSBmYWxzZTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgJ
KHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMUHJlcGFyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotY29uc3RleHByIGJvb2wgZHVtcE1l
dGFsQ29tcGlsZVRpbWVzID0gZmFsc2U7Citjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxDb21waWxl
VGltZXMgPSB0cnVlOwogCiBVbmlxdWVSZWY8U2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1
bGUoY29uc3QgU3RyaW5nJiB3aGxzbFNvdXJjZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdF
QkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV0hMU0wgeworCitib29s
IFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAg
aWYgKG1fdmVjdG9yUHJvcGVydGllcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6engi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5
enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOwor
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6
eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
eHoiKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV92ZWN0b3JQcm9wZXJ0aWVzLmNvbnRhaW5zKHBy
b3BlcnR5KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkw
MjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
aAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX25hbWVDb250ZXh0LmFkZChtX25hdGl2ZVR5cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAg
ICB9CiAKKyAgICBib29sIGlzVmFsaWRWZWN0b3JQcm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFt
ZUNvbnRleHQmIG5hbWVDb250ZXh0KCkgeyByZXR1cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIElu
dHJpbnNpY3MmIGludHJpbnNpY3MoKSB7IHJldHVybiBtX2ludHJpbnNpY3M7IH0KICAgICBjb25z
dCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgY29uc3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9
CkBAIC0xMDYsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6
RnVuY3Rpb25EZWZpbml0aW9uPj4gbV9mdW5jdGlvbkRlZmluaXRpb25zOwogICAgIFZlY3RvcjxV
bmlxdWVSZWY8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPj4gbV9uYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uczsKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPj4gbV9uYXRpdmVUeXBlRGVjbGFyYXRpb25zOworICAgIEhhc2hTZXQ8U3RyaW5nPiBt
X3ZlY3RvclByb3BlcnRpZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNl
IFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVydHlSZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9y
IHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04MjgsNiArODMwLDExIEBAIHZvaWQgcmVzb2x2ZVBy
b3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsKICAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlz
aXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLworCit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFBy
b2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFjZSBXSExTTAogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExp
YnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9u
cy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZp
c2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5j
dGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIGF1dG8gdmlzaXRG
dW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBmdW5jdGlvbikgewotICAg
ICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpCi0gICAgICAg
ICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlv
bikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0
ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLmFuZGVyRnVu
Y3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1
bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rp
b24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7Ci0gICAgfQotCiAg
ICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbio+IHRha2VSZWFjaGFibGVGdW5jdGlv
bnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hhYmxlRnVuY3Rpb25zKTsgfQogCiBwcml2YXRl
OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFy
ZExpYnJhcnkudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC02ODksMTE3ICs2ODksMTE3IEBAIGZsb2F0IHRyYW5zcG9zZShm
bG9hdCB4KSB7CiBmbG9hdDJ4MiB0cmFuc3Bvc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
PSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0MngzIHRyYW5zcG9zZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQyeDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsx
XVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhb
MF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4
WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
eFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCB0cmFuc3Bvc2UoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNd
WzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IHhb
MV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4
WzJdWzFdOwotICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzFdID0g
eFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiB0cmFuc3Bvc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0M3gyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1b
MF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDMgdHJhbnNwb3NlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBd
OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1b
MV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhb
Ml1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgdHJhbnNwb3NlKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBd
OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVsw
XTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNd
WzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFsw
XVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0g
eFsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9
IHhbM11bMl07CisgICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdID0geFsx
XVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IHhb
MF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4
WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CisgICAgcmVzdWx0WzBdWzJdID0g
eFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9
IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgdHJhbnNwb3NlKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFsw
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhb
Ml1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4
WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0g
eFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9
IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107Ci0gICAgcmVzdWx0WzNdWzJd
ID0geFsyXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVsz
XSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzNdID0geFszXVsyXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgdHJhbnNwb3NlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10g
PSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFd
ID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVsz
XSA9IHhbM11bMl07CiAgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzJd
WzFdID0geFsxXVsyXTsKICAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFsw
XVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMl0gPSB4WzJdWzJdOwogICAgIHJlc3VsdFszXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0
WzBdWzNdID0geFszXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJlc3Vs
dFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0WzNdWzNdID0geFszXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQpAQCAtMTE2NSwxMTcgKzExNjUsMTE3IEBAIGZsb2F0NCBzYXR1cmF0ZShm
bG9hdDQgeCkgewogZmxvYXQyeDIgc2F0dXJhdGUoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgc2F0dXJhdGUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBz
YXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgc2F0dXJhdGUoZmxvYXQyeDQg
eCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0
ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1
cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
YXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBzYXR1cmF0ZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2F0
dXJhdGUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgc2F0dXJhdGUoZmxvYXQzeDMgeCkgewogICAgIGZs
b2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBz
YXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4
WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc2F0dXJhdGUoZmxvYXQz
eDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1
cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
YXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1
cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBz
YXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgc2F0dXJhdGUoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1
cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
YXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2F0dXJhdGUoZmxvYXQ0
eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1
cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
YXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11b
MF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0
ZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1
cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAg
ICByZXN1bHRbM11bM10gPSBzYXR1cmF0ZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTMwOSwxMTcgKzEzMDksMTE3IEBAIGZsb2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5
LCBmbG9hdDQgeikKIGZsb2F0MngyIG1hZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4
MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9h
dDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFk
KHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQg
eSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFk
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwg
eVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVszXVswXSwgelszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsx
XSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBt
YWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIG1hZChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxv
YXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
YWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBt
YWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4
NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHksIGZsb2F0NHgyIHopIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MyBtYWQoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1h
ZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwg
elsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
bWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsy
XSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlb
Ml1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBd
LCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWFk
KHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwg
eVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1b
M10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTQ4MSwxMiArMTQ4MSwxMiBAQCBm
bG9hdDJ4MiBtb2RmKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAg
LTE0OTgsMjEgKzE0OTgsMjEgQEAgZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxv
YXQyeAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0g
PSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHkpIHsKQEAgLTE1MjEs
MjcgKzE1MjEsMjcgQEAgZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeAog
ICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
M11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZs
b2F0M3gyKiB5KSB7CkBAIC0xNTUwLDIxICsxNTUwLDIxIEBAIGZsb2F0M3gyIG1vZGYoZmxvYXQz
eDIgeCwgdGhyZWFkIGZsb2F0M3gKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwor
ICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSkgewpAQCAtMTU3MywyNyAr
MTU3MywyNyBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4CiAgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJd
WzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwg
JmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzJdID0gYnVmZmVyOwpAQCAtMTYwNSwzOSArMTYwNSwzOSBAQCBmbG9hdDN4NCBtb2Rm
KGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYo
eFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFsw
XVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRb
M11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZs
b2F0NHgyKiB5KSB7CkBAIC0xNjQ2LDI3ICsxNjQ2LDI3IEBAIGZsb2F0NHgyIG1vZGYoZmxvYXQ0
eDIgeCwgdGhyZWFkIGZsb2F0NHgKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1b
M10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICAg
ICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBt
b2RmKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSkgewpAQCAtMTY3NSwzOSArMTY3NSwz
OSBAQCBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4CiAgICAgcmVzdWx0
WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9k
Zih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJd
WzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7
CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9
IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1v
ZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVm
ZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRo
cmVhZCBmbG9hdDR4NCogeSkgewpAQCAtMTcxNiw0OCArMTcxNiw0OCBAQCBmbG9hdDR4NCBtb2Rm
KGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYo
eFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFsw
XVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRb
M11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
M10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBt
b2RmKHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwpAQCAtMTgxOSwxMiArMTgxOSwxMiBAQCBmbG9hdDJ4
MiBtb2RmKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAgLTE4MzYs
MjEgKzE4MzYsMjEgQEAgZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeAog
ICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHkpIHsKQEAgLTE4NTksMjcgKzE4
NTksMjcgQEAgZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeAogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0g
PSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gy
KiB5KSB7CkBAIC0xODg4LDIxICsxODg4LDIxIEBAIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwg
ZGV2aWNlIGZsb2F0M3gKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsy
XVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBt
b2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSkgewpAQCAtMTkxMSwyNyArMTkxMSwy
NyBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4CiAgICAgcmVzdWx0
WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9k
Zih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJd
WzJdID0gYnVmZmVyOwpAQCAtMTk0MywzOSArMTk0MywzOSBAQCBmbG9hdDN4NCBtb2RmKGZsb2F0
M3g0IHgsIGRldmljZSBmbG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0
WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsy
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJd
WzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBd
ID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0g
PSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgy
KiB5KSB7CkBAIC0xOTg0LDI3ICsxOTg0LDI3IEBAIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwg
ZGV2aWNlIGZsb2F0NHgKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsy
XVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkp
WzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZs
b2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSkgewpAQCAtMjAxMywzOSArMjAxMywzOSBAQCBm
bG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJd
WzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0g
YnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYo
eFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFsz
XVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBm
bG9hdDR4NCogeSkgewpAQCAtMjA1NCw0OCArMjA1NCw0OCBAQCBmbG9hdDR4NCBtb2RmKGZsb2F0
NHg0IHgsIGRldmljZSBmbG9hdDR4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0
WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsy
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJd
WzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBd
ID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0g
PSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBt
b2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVy
KTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2Rm
KHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhb
Ml1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0g
PSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzNd
ID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzNdWzNdID0gYnVmZmVyOwpAQCAtMjE1NywxMiArMjE1NywxMiBAQCBmbG9hdDJ4MiBtb2Rm
KGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAgLTIxNzQsMjEgKzIx
NzQsMjEgQEAgZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbAogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0s
ICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9k
ZihmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSkgewpAQCAtMjE5NywyNyArMjE5
NywyNyBAQCBmbG9hdDJ4NCBtb2RmKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsx
XSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZi
dWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9
IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDN4MiogeSkgewpAQCAtMjIyNiwyMSArMjIyNiwyMSBAQCBmbG9hdDN4MiBtb2RmKGZsb2F0M3gy
IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBt
b2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkp
WzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAg
ICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgbW9kZihmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSkgewpAQCAtMjI0OSwy
NyArMjI0OSwyNyBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsCiAg
ICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1v
ZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsy
XSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJd
WzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzJdWzJdID0gYnVmZmVyOwpAQCAtMjI4MSwzOSArMjI4MSwzOSBAQCBmbG9hdDN4NCBt
b2RmKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4
WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1v
ZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYo
eFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkp
WzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBd
WzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1
bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDIqIHkpIHsKQEAgLTIzMjIsMjcgKzIzMjIsMjcgQEAgZmxvYXQ0eDIgbW9k
ZihmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJd
WzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAg
KCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7
CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHkpIHsKQEAgLTIz
NTEsMzkgKzIzNTEsMzkgQEAgZmxvYXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBm
bAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11b
MF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzNd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5
KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9kZihm
bG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSkgewpAQCAtMjM5Miw0OCArMjM5Miw0
OCBAQCBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0
WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIp
OworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYo
eFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwor
ICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0g
PSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVm
ZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNd
WzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0g
bW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwpAQCAtMzM0MCwxMTcg
KzMzNDAsMTE3IEBAIGZsb2F0NCBleHAyKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAyKGZsb2F0
MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBleHAyKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhw
Mih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0
IGV4cDIoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAy
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
ZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4MiBleHAyKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBl
eHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZXhwMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIGV4cDIoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhw
Mih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAy
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10p
OwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
ZXhwMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cDIo
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDIgZXhwMihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGV4cDIoZmxvYXQ0eDMgeCkgewog
ICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhw
Mih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBleHAy
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsKICAg
ICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBl
eHAyKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBd
ID0gZXhwMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4
WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4
cDIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZXhwMih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQpAQCAtNDQ3MSwxMTcgKzQ0NzEsMTE3IEBAIGZsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiBm
bG9hdDJ4MiBhdGFuKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IGF0YW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFu
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhdGFuKGZsb2F0M3gyIHgpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4o
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBh
dGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0
YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhb
Ml1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhdGFuKGZsb2F0M3g0IHgp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBhdGFuKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFu
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYXRhbihmbG9hdDR4MiB4KSB7
CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBh
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGF0
YW4oZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRh
bih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IGF0YW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBhdGFuKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBhdGFuKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhdGFu
KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4o
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
dGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwogICAg
IHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYXRhbih4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDcxMiwxMTcgKzQ3MTIsMTE3IEBAIGZsb2F0NCBs
b2coZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxvZyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGxvZyhmbG9hdDJ4MyB4KSB7
CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9n
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2co
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsb2coZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBsb2coeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2coeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2coeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBsb2coZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGxvZyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbG9nKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2co
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGxvZyh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nKHhb
MV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxv
Zyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9n
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2co
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IGxvZyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9n
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2co
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gbG9nKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNTMwNSwxMTcgKzUzMDUsMTE3IEBAIGZsb2F0NCBzaW4o
ZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHNpbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4NCBzaW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2lu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4o
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBz
aW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNp
bih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBz
aW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
c2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IHNpbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gc2luKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2luKGZsb2F0NHgyIHgpIHsKICAg
ICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzaW4oZmxvYXQ0eDMgeCkgewog
ICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHNpbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHg0IHNpbihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2luKHhb
Ml1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW4oeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gc2luKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNpbih4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtNjA1MCwxNiArNjA1MCwxNiBAQCB2b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKQEAgLTYwNzQsMzEgKzYwNzQs
MzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKgogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgs
IHRocmVhZCBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2lu
UmVzdWx0OwpAQCAtNjEwOCw0MSArNjEwOCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0
aHJlYWQgZmxvYXQyeDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gy
KiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02MTUy
LDMxICs2MTUyLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MioK
ICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJl
YWQgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKQEAgLTYxODYsNDEgKzYxODYsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFk
IGZsb2F0M3gzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKQEAgLTYy
MzUsNjEgKzYyMzUsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0
KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBz
aW5SZXN1bHQ7CkBAIC02Mjk5LDQxICs2Mjk5LDQxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgs
IHRocmVhZCBmbG9hdDR4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIHRocmVhZCBm
bG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTYzNDMsNjEgKzYzNDMsNjEg
QEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKgogICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJd
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0
NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02
NDA3LDc2ICs2NDA3LDc2IEBAIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4
NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhb
M11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9
IHNpblJlc3VsdDsKQEAgLTY1NTQsMTYgKzY1NTQsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDIg
eCwgdGhyZWFkIGZsb2F0MngyKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CkBAIC02NTc4LDMxICs2NTc4LDMxIEBA
IHZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyoKICAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJl
YWQgZmxvYXQyeDQqIHksIGRldmljZSBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKQEAgLTY2MTIsNDEgKzY2MTIsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFk
IGZsb2F0Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwg
ZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjY1NiwzMSAr
NjY1NiwzMSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZs
b2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBA
IC02NjkwLDQxICs2NjkwLDQxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9h
dDN4MyoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CkBAIC02NzM5LDYx
ICs2NzM5LDYxIEBAIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCoKICAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZCBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwpAQCAtNjgwMyw0MSArNjgwMyw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJl
YWQgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0
eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02ODQ3LDYxICs2ODQ3LDYxIEBAIHZv
aWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyoKICAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCog
eSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjkxMSw3
NiArNjkxMSw3NiBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgq
eilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBzaW5S
ZXN1bHQ7CkBAIC03MDU4LDE2ICs3MDU4LDE2IEBAIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRo
cmVhZCBmbG9hdDJ4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwpAQCAtNzA4MiwzMSArNzA4MiwzMSBAQCB2b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqCiAgICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZs
b2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKQEAgLTcxMTYsNDEgKzcxMTYsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFk
IGZsb2F0Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC03MTYw
LDMxICs3MTYwLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MioK
ICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJl
YWQgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2lu
UmVzdWx0OwpAQCAtNzE5NCw0MSArNzE5NCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0
aHJlYWQgZmxvYXQzeDMqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwpA
QCAtNzI0Myw2MSArNzI0Myw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxv
YXQzeDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
M11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAg
ICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNzMwNyw0MSArNzMwNyw0MSBAQCB2b2lkIHNpbmNvcyhm
bG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5
LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTcz
NTEsNjEgKzczNTEsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgz
KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQg
eCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZs
b2F0IHNpblJlc3VsdDsKQEAgLTc0MTUsNzYgKzc0MTUsNzYgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0
eDQgeCwgdGhyZWFkIGZsb2F0NHg0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwpAQCAtNzU2MiwxNiArNzU2MiwxNiBAQCB2
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqCiAgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKQEAg
LTc1ODYsMzEgKzc1ODYsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0
MngzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNzYyMCw0MSArNzYyMCw0MSBAQCB2b2lkIHNpbmNv
cyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
ICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwg
ZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CkBAIC03NjY0LDMxICs3NjY0LDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRl
dmljZSBmbG9hdDN4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKQEAgLTc2OTgsNDEgKzc2OTgsNDEgQEAgdm9pZCBzaW5jb3MoZmxv
YXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKQEAgLTc3NDcsNjEgKzc3NDcsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwg
ZGV2aWNlIGZsb2F0M3g0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsz
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC03ODExLDQxICs3ODExLDQxIEBAIHZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0
eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTc4
NTUsNjEgKzc4NTUsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgz
KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQg
eCwgZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBz
aW5SZXN1bHQ7CkBAIC03OTE5LDc2ICs3OTE5LDc2IEBAIHZvaWQgc2luY29zKGZsb2F0NHg0IHgs
IGRldmljZSBmbG9hdDR4NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKQEAgLTgwNjYsMTYgKzgwNjYsMTYgQEAgdm9pZCBz
aW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKgogICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CkBAIC04MDkw
LDMxICs4MDkwLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyoK
ICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIGRldmljZSBmbG9hdDJ4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKQEAgLTgxMjQsNDEgKzgxMjQsNDEgQEAgdm9pZCBzaW5jb3MoZmxv
YXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmlj
ZSBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwpAQCAtODE2OCwzMSArODE2OCwzMSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2Ug
ZmxvYXQzeDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQz
eDMgeCwgZGV2aWNlIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9h
dCBzaW5SZXN1bHQ7CkBAIC04MjAyLDQxICs4MjAyLDQxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gz
IHgsIGRldmljZSBmbG9hdDN4MyoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CkBAIC04MjUxLDYxICs4MjUxLDYxIEBAIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmlj
ZSBmbG9hdDN4NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29z
KGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAg
ICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtODMxNSw0MSArODMxNSw0MSBAQCB2b2lkIHNpbmNvcyhm
bG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5
LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC04MzU5LDYx
ICs4MzU5LDYxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyoKICAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRl
dmljZSBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwpAQCAtODQyMyw3NiArODQyMyw3NiBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZp
Y2UgZmxvYXQ0eDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7CkBAIC04NTcwLDE2ICs4NTcwLDE2IEBAIHZvaWQgc2luY29z
KGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwpAQCAtODU5NCwzMSAr
ODU5NCwzMSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQy
eDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKQEAgLTg2MjgsNDEgKzg2MjgsNDEgQEAgdm9pZCBzaW5jb3MoZmxv
YXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmlj
ZSBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CkBAIC04NjcyLDMxICs4NjcyLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRl
dmljZSBmbG9hdDN4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtODcwNiw0MSArODcwNiw0MSBAQCB2b2lkIHNpbmNv
cyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwpAQCAtODc1NSw2MSArODc1NSw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4
NCB4LCBkZXZpY2UgZmxvYXQzeDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtODgxOSw0MSArODgxOSw0MSBA
QCB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsw
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2
aWNlIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKQEAgLTg4NjMsNjEgKzg4NjMsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwg
ZGV2aWNlIGZsb2F0NHgzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4
NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTg5MjcsNzYgKzg5MjcsNzYgQEAgdm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KgogICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsw
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwpAQCAtOTA3NCwx
NiArOTA3NCwxNiBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKQEAgLTkwOTgsMzEgKzkwOTgsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMg
eCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0
aHJlYWQgZmxvYXQyeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05MTMyLDQxICs5
MTMyLDQxIEBAIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0
M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtOTE3NiwzMSArOTE3NiwzMSBAQCB2
b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMq
IHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTkyMTAs
NDEgKzkyMTAsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYQog
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKQEAgLTkyNTksNjEgKzkyNTks
NjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKQEAgLTkzMjMsNDEgKzkzMjMsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFk
Z3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxv
YXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05MzY3LDYxICs5MzY3LDYxIEBA
IHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZs
b2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBA
IC05NDMxLDc2ICs5NDMxLDc2IEBAIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3Vw
IGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKQEAgLTk1NzgsMTYgKzk1NzgsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQy
eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CkBAIC05NjAyLDMxICs5NjAyLDMx
IEBAIHZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0
aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwpAQCAtOTYzNiw0MSArOTYzNiw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3JvdXAg
ZmxvYXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
QEAgLTk2ODAsMzEgKzk2ODAsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3Jv
dXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gz
IHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CkBAIC05NzE0LDQxICs5NzE0LDQxIEBAIHZvaWQgc2luY29zKGZsb2F0
M3gzIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CkBAIC05NzYzLDYxICs5NzYzLDYxIEBAIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRo
cmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
Ml0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05ODI3LDQxICs5ODI3LDQxIEBAIHZvaWQg
c2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91
cCBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwpAQCAtOTg3MSw2MSArOTg3MSw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRn
cm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtOTkzNSw3NiArOTkzNSw3NiBAQCB2b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CkBAIC0xMDA4MiwxNiArMTAw
ODIsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CkBAIC0xMDEwNiwzMSArMTAxMDYsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwg
dGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJl
YWRncm91cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTEwMTQwLDQx
ICsxMDE0MCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZGdy
b3VwIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtMTAxODQsMzEgKzEw
MTg0LDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91
cCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CkBAIC0xMDIxOCw0MSArMTAyMTgsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwg
dGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
QEAgLTEwMjY3LDYxICsxMDI2Nyw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRn
cm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC0xMDMzMSw0MSArMTAzMzEsNDEgQEAgdm9p
ZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdy
b3VwIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKQEAgLTEwMzc1LDYxICsxMDM3NSw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4
LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC0xMDQzOSw3NiArMTA0Mzks
NzYgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwpA
QCAtMTA4NTEsMTE3ICsxMDg1MSwxMTcgQEAgZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgsIGZs
b2F0NCB5LCBmbAogZmxvYXQyeDIgc21vb3Roc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBm
bG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNt
b290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgc21vb3Roc3RlcChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBm
bG9hdDJ4MyB6KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNt
b290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHksIGZsb2F0Mng0IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwg
elsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFd
LCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc21vb3Roc3RlcChm
bG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0s
IHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzbW9v
dGhzdGVwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJd
WzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3Rl
cCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhz
dGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290
aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21v
b3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgc21vb3Roc3RlcChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3Rl
cCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhz
dGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290
aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21v
b3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBz
bW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1b
M10pOworICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNtb290aHN0ZXAoZmxvYXQ0
eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVsw
XSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNd
WzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBz
bW9vdGhzdGVwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9h
dDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0
ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Ro
c3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9v
dGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNt
b290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
c21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHNtb290aHN0ZXAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gc21vb3Roc3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gc21vb3Roc3RlcCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc21vb3Roc3RlcChmbG9hdDR4NCB4LCBmbG9hdDR4
NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwg
elszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1b
MV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5
WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAo
eFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3Rl
cCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhz
dGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNtb290
aHN0ZXAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
QEAgLTExMTE4LDExNyArMTExMTgsMTE3IEBAIGZsb2F0NCBleHAoZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIGV4cChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGV4cChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBl
eHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4
cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZXhwKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBl
eHAoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZXhwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGV4cChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBleHAoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGV4cChmbG9hdDN4NCB4KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhw
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGV4cCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgZXhwKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBleHAoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBl
eHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4
cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZXhwKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhw
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBleHAoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGV4
cChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBl
eHAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGV4cCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4
cCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZXhw
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGV4cCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMTIxMDcsMjM0ICsxMjEwNywyMzQgQEAgYm9vbCBhbGwoZmxvYXQ0IHgpIHsKIGJvb2wgYWxs
KGZsb2F0MngyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAh
PSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQyeDMgeCkg
ewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQyeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsy
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0M3gyIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0M3gzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0g
IT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDN4NCB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogYm9vbCBhbGwoZmxvYXQ0eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10g
IT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0NHgzIHgpIHsKICAg
ICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDApOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBib29sIGFsbChmbG9hdDR4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKICAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzJdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbGwoYm9vbDJ4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBd
WzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBib29sIGFsbChib29sMngzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
MV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wyeDQgeCkgewogICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDN4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQg
PSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29s
M3gzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
Ml07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wzeDQgeCkgewogICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9v
bDR4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHgzIHgpIHsKICAg
ICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MF1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11b
MV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJv
b2w0eDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsx
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsyXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsz
XVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTI4MDcsMTE3ICsxMjgwNywxMTcgQEAg
ZmxvYXQ0IGRkeF9maW5lKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHhfZmluZShmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5l
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHhfZmluZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBk
ZHhfZmluZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9m
aW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eF9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBkZHhfZmluZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5l
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHhfZmluZShmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9m
aW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBkZHhfZmluZShmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eF9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHhfZmluZShmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9m
aW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eF9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4
KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9m
aW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGRkeF9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBkZHhfZmluZShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eF9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5l
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9m
aW5lKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeF9maW5lKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDE2MCwxMTcgKzE0MTYwLDExNyBAQCBmbG9hdDQgcnNx
cnQoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHJzcXJ0KGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJzcXJ0
KGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gcnNxcnQoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHJzcXJ0
KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHJzcXJ0KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNx
cnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHJzcXJ0KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gcnNxcnQoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHJz
cXJ0KGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNx
cnQoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cnNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgyIHJzcXJ0KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcnNx
cnQoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHJzcXJ0KGZsb2F0
NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNx
cnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gcnNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gcnNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
cnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHg0IHJzcXJ0KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gcnNxcnQoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
cnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CiAg
ICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNx
cnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gcnNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KQEAgLTE0NzM5LDExNyArMTQ3MzksMTE3IEBAIGZsb2F0NCBzcXJ0KGZsb2F0NCB4KSB7CiBm
bG9hdDJ4MiBzcXJ0KGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBzcXJ0KGZsb2F0MngzIHgpIHsKICAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IHNxcnQoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzcXJ0KGZsb2F0M3gyIHgpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
cXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNxcnQoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNx
cnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhb
Ml1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBzcXJ0KGZsb2F0M3g0IHgp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
c3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc3FydChmbG9hdDR4MiB4KSB7
CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBz
cXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHNxcnQoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNx
cnQoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IHNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBzcXJ0
KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
c3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNxcnQo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
cXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwogICAg
IHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IHNxcnQoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc3FydCh4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTQ4ODAsMTE3ICsxNDg4MCwxMTcgQEAgZmxvYXQ0
IGFjb3MoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGFjb3MoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0
MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGFjb3MoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGFjb3MoZmxv
YXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29z
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYWNvcyhmbG9hdDJ4NCB4KSB7
CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
Y29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGFjb3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGFj
b3MoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYWNvcyhmbG9hdDN4
MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBhY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
YWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGFjb3MoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
Y29zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGFj
b3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBhY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNv
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGFjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDMgYWNvcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
Y29zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHg0IGFjb3MoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gYWNvcyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwogICAgIHJlc3Vs
dFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGFjb3MoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11b
M10gPSBhY29zKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNTM5MywxMTcg
KzE1MzkzLDExNyBAQCBmbG9hdDQgdGFuaChmbG9hdDQgeCkgewogZmxvYXQyeDIgdGFuaChmbG9h
dDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgdGFuaChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRh
bmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCB0YW5oKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFu
aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQzeDIgdGFuaChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
dGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDN4MyB0YW5oKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRh
bmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdGFuaChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNd
KTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW5o
KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgyIHRhbmgoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0YW5oKGZsb2F0NHgzIHgpIHsK
ICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFu
aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5o
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
dGFuaCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsw
XSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgo
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0
YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVszXSA9IHRhbmgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTE1Njg1LDExNyArMTU2ODUsMTE3IEBAIGZsb2F0NCBjb3MoZmxvYXQ0IHgpIHsK
IGZsb2F0MngyIGNvcyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4NCBjb3MoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3Mo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gY29zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIGNvcyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNv
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29z
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjb3MoZmxvYXQzeDMg
eCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBj
b3MoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvcyhmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
Y29zKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGNvcyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGNvcyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJd
ID0gY29zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVszXSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQpAQCAtMTYyNTksMTE3ICsxNjI1OSwxMTcgQEAgZmxvYXQ0IGxvZzIoZmxvYXQ0IHgpIHsK
IGZsb2F0MngyIGxvZzIoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgbG9nMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZzIoZmxvYXQzeDIgeCkgewog
ICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
Mih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbG9nMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIo
eFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxvZzIoZmxvYXQzeDQg
eCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGxvZzIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxv
ZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhb
M11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2cyKGZsb2F0NHgyIHgp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cy
KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
bG9nMihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBs
b2cyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbG9nMih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGxvZzIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGxvZzIoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxv
ZzIoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9n
Mih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBsb2cyKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNjQxNywxMTcgKzE2NDE3LDExNyBAQCBmbG9h
dDQgbGRleHAoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBsZGV4cChmbG9hdDJ4MiB4
LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1b
MV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBsZGV4cChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1b
MV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsZGV4cChmbG9h
dDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhw
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBsZGV4cChmbG9hdDN4MiB4LCBmbG9h
dDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhw
KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhb
Ml1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBsZGV4cChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhw
KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhb
MV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBsZGV4cChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhw
KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhb
MV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxk
ZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10s
IHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsZGV4cChmbG9hdDR4MiB4LCBmbG9hdDR4
MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhb
MF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxk
ZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBsZGV4cChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1b
MV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxk
ZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGxkZXhw
KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhb
Ml1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZGV4cChm
bG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxk
ZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0s
IHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhw
KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhb
Ml1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11b
MV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxk
ZXhwKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGxkZXhwKHhbM11bM10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBA
IC0xNjc4MCwxMTcgKzE2NzgwLDExNyBAQCBmbG9hdDQgYWJzKGZsb2F0NCB4KSB7CiBmbG9hdDJ4
MiBhYnMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4MyBhYnMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJz
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFicyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYWJz
KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBh
YnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGFicyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFi
cyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gYWJzKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBh
YnMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYWJzKGZsb2F0M3gzIHgpIHsKICAg
ICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgewog
ICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgyIGFicyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJz
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gYWJzKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhYnMo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBh
YnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWJz
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMo
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFicyh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAg
ICByZXN1bHRbM11bM10gPSBhYnMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTE2OTU2LDExNyArMTY5NTYsMTE3IEBAIGZsb2F0NCByb3VuZChmbG9hdDQgeCkgewogZmxvYXQy
eDIgcm91bmQoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgcm91bmQoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcm91bmQoZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3Vu
ZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgcm91bmQoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3Vu
ZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgcm91bmQoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3Vu
ZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSByb3VuZCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
b3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0g
PSByb3VuZCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcm91bmQo
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3Vu
ZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcm91bmQoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
b3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBy
b3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSByb3Vu
ZCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBy
b3VuZCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTcyMTAsMjM0ICsxNzIx
MCwyMzQgQEAgZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQgeSkgewogZmxvYXQyeDIgbXVsKGZs
b2F0IHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngyIG11bChmbG9hdDJ4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9
IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQgeCwgZmxvYXQyeDMgeSkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICog
eVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1b
MF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICBy
ZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0
WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsx
XSAqIHk7Ci0gICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzFd
ID0geFsyXVsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9h
dCB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNd
OwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVswXSA9IHgg
KiB5WzJdWzBdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFsw
XVsxXSA9IHggKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFd
WzNdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9
IHggKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQy
eDQgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1
bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsK
ICAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJd
WzBdICogeTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICog
eTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzNdWzFdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0IHgs
IGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
eCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0
WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAg
ICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJd
ID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7CiAgICAg
ZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJl
c3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsy
XVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtdWwoZmxvYXQgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0g
PSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICog
eVsxXVsxXTsKICAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICBy
ZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0g
eFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsx
XSAqIHk7CiAgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJd
ID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVz
dWx0WzJdWzJdID0geFsyXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IG11bChmbG9hdCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHgg
KiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAg
IHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJd
WzBdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5
WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsz
XSA9IHggKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQgeSkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICog
eTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRb
MV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKICAg
ICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBd
ICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0g
PSB4WzFdWzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1
bHRbM11bMV0gPSB4WzNdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsK
KyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJd
WzJdICogeTsKLSAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICogeTsKKyAgICByZXN1bHRbM11b
Ml0gPSB4WzNdWzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZs
b2F0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzNdWzBdID0geCAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07Cisg
ICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNd
ID0geCAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9h
dDR4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJl
c3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5
OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhb
Ml1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsz
XVswXSA9IHhbM11bMF0gKiB5OwotICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAg
IHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0g
KiB5OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9
IHhbMV1bM10gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQg
eCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsK
LSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICog
eVsxXVsyXTsKICAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICBy
ZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSB4
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRb
M11bMV0gPSB4ICogeVszXVsxXTsKLSAgICByZXN1bHRbM11bMl0gPSB4ICogeVszXVsyXTsKKyAg
ICByZXN1bHRbMF1bM10gPSB4ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSB4ICogeVsx
XVszXTsKKyAgICByZXN1bHRbMl1bM10gPSB4ICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVz
dWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
Ci0gICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzBdID0geFsy
XVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXSAqIHk7CiAgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAg
cmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAq
IHk7CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
eFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzNdWzJdID0geFszXVsyXSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7Cisg
ICAgcmVzdWx0WzFdWzNdID0geFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0geFsyXVsz
XSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9h
dDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsy
XSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHgg
KiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNd
WzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9
IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJlc3Vs
dFszXVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5
WzJdWzJdOwogICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsz
XSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQg
eSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICog
eTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRb
MV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAg
ICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNd
ICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0g
PSB4WzJdWzFdICogeTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1
bHRbMl1bM10gPSB4WzJdWzNdICogeTsKICAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKICAgICByZXN1bHRbM11b
MV0gPSB4WzNdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICog
eTsKICAgICByZXN1bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4
WzBdWzNdICogeTsKKyAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRb
Ml1bM10gPSB4WzJdWzNdICogeTsKICAgICByZXN1bHRbM11bM10gPSB4WzNdWzNdICogeTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc0NzIsOSArMTc0NzIsOSBAQCBmbG9hdDIgbXVsKGZs
b2F0MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0g
PSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwogICAgIHJl
c3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NDgyLDkgKzE3NDgyLDkgQEAgZmxvYXQyIG11
bChmbG9hdDJ4MiB4LCBmbG9hdDIgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBd
ICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAg
ICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5
WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzQ5Miw5NSArMTc0OTIsOTUgQEAgZmxv
YXQzIG11bChmbG9hdDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsx
XTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0g
KiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0g
Kz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0MyB5KSB7CiAg
ICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4
WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVz
dWx0WzBdICs9IHhbMF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsx
XTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsK
LSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1b
MV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRb
MV0gKz0geFsxXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4NCB5KSB7
CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSAr
PSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsK
LSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10g
Kz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFszXSArPSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAqIHlb
M11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxv
YXQ0IHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVz
dWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsx
XTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bM10gKiB5WzNdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1
bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNd
OwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsx
XSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsx
XSArPSB4WzFdWzNdICogeVszXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07Cisg
ICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDIgbXVsKGZsb2F0MyB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3Vs
dFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDMgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0g
KiB5WzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0g
eFsxXVsxXSAqIHlbMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsy
XVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3Vs
dFsyXSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0M3gzIHkp
IHsKICAgICBmbG9hdDMgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0g
eFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1b
Ml07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0
WzJdICs9IHhbMl0gKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzU4OCwx
NSArMTc1ODgsMTUgQEAgZmxvYXQzIG11bChmbG9hdDN4MyB4LCBmbG9hdDMgeSkgewogICAgIGZs
b2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVsw
XSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICog
eVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMl0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKICAgICBy
ZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBd
OworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsy
XVsyXSAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NjA0LDEzMSArMTc2MDQs
MTMxIEBAIGZsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXSArPSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsx
XSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAg
ICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJd
ID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9
IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICBy
ZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJd
WzJdOwogICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFszXSArPSB4WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsy
XSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXSArPSB4WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbM11bMl07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkp
IHsKICAgICBmbG9hdDMgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10g
KiB5WzNdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJl
c3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlb
MV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4
WzFdWzNdICogeVszXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVz
dWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsK
KyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1b
Ml0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRb
Ml0gKz0geFsyXVszXSAqIHlbM107CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDIgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7
CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSAr
PSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVsz
XVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9
IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICBy
ZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsz
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsxXSArPSB4WzNdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11
bChmbG9hdDR4MiB4LCBmbG9hdDIgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBd
ICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAg
ICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5
WzFdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBd
OwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsw
XVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3Vs
dFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsz
XSArPSB4WzNdWzFdICogeVsxXTsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07Cisg
ICAgcmVzdWx0WzNdICs9IHhbMV1bM10gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDMgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3Vs
dFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07
CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsxXVszXTsK
ICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0g
Kz0geFsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzNdWzJdOworICAg
IHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0IG11bChmbG9hdDR4MyB4LCBmbG9hdDMgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsy
XTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhb
Ml1bMF0gKiB5WzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1b
MF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRb
MV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAg
IHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSAr
PSB4WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CiAgICAg
cmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsy
XTsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhb
MV1bM10gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZs
b2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XSArPSB4WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFd
ID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9
IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV0gKz0g
eFszXSAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07
CiAgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzNd
ICogeVszXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbMl1bM107CiAgICAgcmVzdWx0
WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNd
ICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4WzJdICogeVsyXVszXTsKKyAg
ICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsyXTsKICAgICByZXN1bHRbM10g
Kz0geFszXSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NzM2LDIzICsx
NzczNiwyMyBAQCBmbG9hdDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CiAgICAgZmxvYXQ0
IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICog
eVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9
IHhbMF1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKKyAgICBy
ZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdWzBdICogeVszXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVszXSAqIHlbM107
CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNd
WzFdICogeVszXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJd
ICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAg
ICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10g
KiB5WzNdOworICAgIHJlc3VsdFsyXSArPSB4WzNdWzJdICogeVszXTsKICAgICByZXN1bHRbM10g
PSAwOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICByZXN1bHRbM10gKz0g
eFszXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOworICAgIHJl
c3VsdFszXSArPSB4WzBdWzNdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlb
MV07CisgICAgcmVzdWx0WzNdICs9IHhbMl1bM10gKiB5WzJdOwogICAgIHJlc3VsdFszXSArPSB4
WzNdWzNdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3NjAsMTUgKzE3NzYw
LDE1IEBAIGZsb2F0MngyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzc3NiwxMDYzICsxNzc3NiwxMDYzIEBAIGZs
b2F0MngzIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0g
MDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICog
eVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwog
ICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsy
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0MngyIHgsIGZs
b2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsK
ICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1b
MF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsx
XVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gyIHkpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gzIHkpIHsKICAg
ICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJd
WzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICBy
ZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDQgeSkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFd
WzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICBy
ZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlb
Ml1bM107CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11b
MV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKICAg
ICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBd
WzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBt
dWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVsz
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBd
ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlb
MV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0g
MDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwot
ICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsK
KyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAqIHlbMl1bM107CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1b
M10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11b
MF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNd
WzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSAr
PSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJl
c3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsx
XVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0g
PSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICBy
ZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07
Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3Vs
dFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsz
XSAqIHlbM11bM107CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAw
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1
bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAg
ICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9
IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0
MngyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1b
MF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAq
IHlbMV1bMF07CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsK
ICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gy
IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlb
MV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsw
XSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0g
MDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsx
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwot
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0g
KiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0
WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJlc3Vs
dFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAw
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIG11bChmbG9hdDN4MyB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
MDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsy
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAw
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBd
WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1b
Ml0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1b
Ml0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICog
eVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gzIHgs
IGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
MDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFsw
XVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsx
XVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRb
M11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhb
MV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3Vs
dFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsx
XSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFsyXVsyXSAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IG11bChmbG9hdDN4NCB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsy
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0
WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4
WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsx
XSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAw
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKICAg
ICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFd
WzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
M11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAw
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11b
MV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNd
WzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0g
PSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhb
Ml1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHg0
IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFd
ID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlb
M11bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsw
XSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0g
eFswXVszXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFd
WzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9
IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAq
IHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBd
WzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNd
ICogeVszXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzNdICogeVszXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNd
OwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
M10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVsz
XTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICog
eVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzFdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0g
PSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhb
Ml1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsx
XVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0
WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4
WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzNdWzJdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
bXVsKGZsb2F0NHgyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1b
MV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJd
WzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFsz
XVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFsz
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNd
ICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgy
IHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0g
MDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsw
XVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsK
LSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IG11bChmbG9hdDR4MiB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQ0eDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFd
ID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3Vs
dFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFd
WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsx
XVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICBy
ZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzJd
ICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsz
XSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAg
IHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0g
eFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0g
MDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJd
WzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsx
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsy
XSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsy
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1b
M10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1b
M10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAq
IHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
Ml1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1b
MV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
Ml0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzJdWzJdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0g
Kz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
M11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJd
ICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0g
eFsyXVszXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChm
bG9hdDR4MyB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICog
eVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJd
WzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRb
M11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0g
KiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsw
XSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAw
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1
bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFd
WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwog
ICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0g
KiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICBy
ZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAg
cmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsx
XSArPSB4WzNdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0g
eFsxXVsyXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJd
OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAqIHlbMl1b
M107CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsyXVszXSAq
IHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9hdDR4NCB4
LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0g
KiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsx
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNd
WzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0g
ICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsz
XVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRb
MV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
Ml1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNd
ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4
WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzNdWzNdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
bXVsKGZsb2F0NHg0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlb
M11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0g
MDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBd
WzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNd
ICogeVszXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4
WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1
bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVsz
XTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNd
WzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJl
c3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0g
Kz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10gKiB5WzNd
WzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJd
ICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0
WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3Vs
dFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsz
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICogeVsyXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAg
ICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbM11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsz
XVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVszXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJl
c3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsK
KyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFd
ICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsz
XVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5
WzNdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzNdWzBdICs9IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJl
c3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFsz
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwot
ICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMl0g
Kz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNd
WzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKKyAgICByZXN1bHRb
M11bMl0gKz0geFszXVsyXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFszXVszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNd
ID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFszXVszXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsz
XSArPSB4WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFszXVszXSAqIHlb
Ml1bM107CiAgICAgcmVzdWx0WzNdWzNdID0gMDsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsw
XSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAg
IHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0g
eFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFszXVszXSArPSB4WzJdWzNdICogeVszXVsyXTsKICAgICByZXN1bHRbM11b
M10gKz0geFszXVszXSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5MTI4
LDExNyArMTkxMjgsMTE3IEBAIGZsb2F0NCByYWRpYW5zKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBy
YWRpYW5zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByYWRpYW5zKGZsb2F0MngzIHgp
IHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0
IHJhZGlhbnMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSByYWRpYW5zKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MiByYWRpYW5zKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3gzIHJhZGlhbnMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCByYWRpYW5zKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMo
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5z
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5z
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRpYW5z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5z
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHJhZGlhbnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0
NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFu
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFu
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJl
c3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFkaWFu
cyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFu
cyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByYWRpYW5zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlh
bnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlh
bnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlh
bnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlh
bnMoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlh
bnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICBy
ZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlh
bnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJhZGlh
bnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlh
bnMoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gcmFkaWFucyh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMTkyOTksMTE3ICsxOTI5OSwxMTcgQEAgZmxvYXQ0IGNlaWwo
ZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNlaWwoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwo
eFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGNlaWwoZmxvYXQyeDMg
eCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY2VpbCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2Vp
bCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNlaWwoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGNlaWwoZmxv
YXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWls
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7
CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBj
ZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGNlaWwoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNl
aWwoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNlaWwoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBjZWlsKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjZWls
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Y2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDMgY2VpbChmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNl
aWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gY2VpbCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGNlaWwoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHg0IGNlaWwoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBjZWlsKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWls
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
Y2VpbCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGNlaWwoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwo
eFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBj
ZWlsKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTUyNCwxMTcgKzE5NTI0
LDExNyBAQCBmbG9hdDQgYXNpbihmbG9hdDQgeCkgewogZmxvYXQyeDIgYXNpbihmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQyeDMgYXNpbihmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBhc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBhc2lu
KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDIgYXNpbihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFz
aW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBhc2luKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQzeDQgYXNpbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGFzaW4o
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhc2luKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBh
c2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1b
M10pOworICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgyIGFzaW4oZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBhc2luKGZsb2F0NHgzIHgpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
YXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGFzaW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGFzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgYXNpbihmbG9hdDR4NCB4KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGFz
aW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsx
XSk7CiAgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBhc2luKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGFzaW4oeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
QEAgLTE5OTkxLDExNyArMTk5OTEsMTE3IEBAIGZsb2F0NCBwb3coZmxvYXQ0IHgsIGZsb2F0NCB5
KSB7CiBmbG9hdDJ4MiBwb3coZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwg
eVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBwb3coZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFd
LCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcG93KGZsb2F0Mng0
IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1b
Ml0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MiBwb3coZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsy
XVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBm
bG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4
WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3co
eFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxv
YXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3co
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93
KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBv
dyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
cG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHBvdyhmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7
CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBwb3coeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0s
IHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNd
LCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcG93KGZsb2F0NHgz
IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsy
XSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNd
WzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gcG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsx
XVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBwb3coZmxvYXQ0eDQgeCwgZmxvYXQ0
eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4
WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBwb3co
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcG93
KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHBv
dyh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBw
b3coeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNDU0LDEx
NyArMjA0NTQsMTE3IEBAIGZsb2F0NCB0YW4oZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbihmbG9h
dDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIHRhbihmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRh
bih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0YW4oZmxvYXQyeDQg
eCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
dGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0
YW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHRhbihmbG9hdDN4
MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyB0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVsyXSA9IHRhbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgdGFuKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSB0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyB0YW4oZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRh
bih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFu
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSB0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4o
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHRhbihmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0
YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRh
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsK
ICAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW4o
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IHRhbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA1OTcsMTE3
ICsyMDU5NywxMTcgQEAgZmxvYXQ0IGZtYShmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6KQog
ZmxvYXQyeDIgZm1hKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZm1hKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0
MngzIHopIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IGZtYShmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBd
LCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbWEo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5
WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1hKGZs
b2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEo
eFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZtYShmbG9hdDN4
MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1b
Ml0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5
WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgZm1hKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0
IHopIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
YSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNd
WzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0
eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
Zm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVsz
XSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZt
YShmbG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CiAgICAgZmxvYXQ0eDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
Zm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IGZtYSh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1h
KHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJd
WzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
Zm1hKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1h
KHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
bWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJd
LCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVsz
XVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gZm1hKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0yMDcxNyw1OSArMjA3MTcsNTkgQEAgZmxvYXQgZGV0ZXJt
aW5hbnQoZmxvYXQgeCkgewogICAgIHJldHVybiB4OwogfQogZmxvYXQgZGV0ZXJtaW5hbnQoZmxv
YXQyeDIgeCkgewotICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFd
WzBdOworICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMV1bMF0gKiB4WzBdWzFdOwog
fQogZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQzeDMgeCkgewogICAgIHJldHVybiB4WzBdWzBdICog
eFsxXVsxXSAqIHhbMl1bMl0gKwotICAgICAgICAgICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1b
MF0gKwotICAgICAgICAgICB4WzBdWzJdICogeFsxXVswXSAqIHhbMl1bMV0gLQotICAgICAgICAg
ICB4WzJdWzBdICogeFsxXVsxXSAqIHhbMF1bMl0gLQotICAgICAgICAgICB4WzJdWzFdICogeFsx
XVsyXSAqIHhbMF1bMF0gLQotICAgICAgICAgICB4WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07
CisgICAgICAgICAgIHhbMV1bMF0gKiB4WzJdWzFdICogeFswXVsyXSArCisgICAgICAgICAgIHhb
Ml1bMF0gKiB4WzBdWzFdICogeFsxXVsyXSAtCisgICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzFd
ICogeFsyXVswXSAtCisgICAgICAgICAgIHhbMV1bMl0gKiB4WzJdWzFdICogeFswXVswXSAtCisg
ICAgICAgICAgIHhbMl1bMl0gKiB4WzBdWzFdICogeFsxXVswXTsKIH0KIGZsb2F0IGRldGVybWlu
YW50KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdCByZXN1bHQ7CiAgICAgZmxvYXQzeDMgbWlub3I7
CiAgICAgbWlub3JbMF1bMF0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsK
LSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107CiAgICAgbWlub3JbMV1bMF0gPSB4WzJdWzFdOwot
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAg
ICAgbWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKKyAg
ICBtaW5vclsxXVsxXSA9IHhbMl1bMl07CiAgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAg
IG1pbm9yWzBdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAgICAg
bWlub3JbMl1bMl0gPSB4WzNdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMF0gKiBk
ZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9y
WzBdWzFdID0geFsxXVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3Jb
MV1bMF0gPSB4WzJdWzBdOworICAgIG1pbm9yWzBdWzBdID0geFswXVsxXTsKKyAgICBtaW5vclsx
XVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBd
WzFdID0geFswXVsyXTsKICAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1b
Ml0gPSB4WzJdWzNdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVswXTsKICAgICBtaW5vclsyXVsx
XSA9IHhbM11bMl07Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAtIHhbMF1bMV0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4
WzFdWzBdOwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhb
MV1bM107Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsy
XVsxXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CiAgICAgbWlub3JbMV1bMl0gPSB4WzJd
WzNdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11b
MV07CiAgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIHhb
MF1bMl0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwot
ICAgIG1pbm9yWzBdWzFdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bMl07Ci0g
ICAgbWlub3JbMV1bMF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKLSAg
ICBtaW5vclsxXVsyXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAg
IG1pbm9yWzJdWzFdID0geFszXVsxXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IC0geFswXVszXSAqIGRldGVybWluYW50KG1pbm9yKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgLSB4WzFdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBd
WzBdID0geFswXVsxXTsKKyAgICBtaW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1b
MF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsx
XSA9IHhbMV1bMl07CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJd
ID0geFswXVszXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0g
PSB4WzNdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMl1bMF0gKiBkZXRlcm1pbmFudCht
aW5vcik7CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsx
XVsxXTsKKyAgICBtaW5vclsyXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBd
WzJdOworICAgIG1pbm9yWzFdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbMl1b
Ml07CisgICAgbWlub3JbMF1bMl0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVsz
XTsKKyAgICBtaW5vclsyXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFsz
XVswXSAqIGRldGVybWluYW50KG1pbm9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0y
MDgzNCwxMTcgKzIwODM0LDExNyBAQCBmbG9hdDQgZmxvb3IoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IGZsb29yKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKICAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
Zmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGZsb29yKGZsb2F0Mng0IHgpIHsKICAgICBmbG9h
dDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3Io
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGZsb29yKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3Io
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gz
IGZsb29yKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGZsb29yKGZsb2F0M3g0IHgpIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3Io
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxv
b3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
Zmxvb3IoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZsb29yKGZs
b2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxv
b3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
Zmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3Io
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZsb29yKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
Zmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3Io
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxv
b3IoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGZsb29yKGZsb2F0NHg0IHgp
IHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxv
b3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZmxvb3Io
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZmxv
b3IoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIxMjQ3LDExNyArMjEyNDcs
MTE3IEBAIGZsb2F0NCBhdGFuMihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGF0YW4y
KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MngzIGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAg
ICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0
IGF0YW4yKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIo
eFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsx
XSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4yKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGF0YW4yKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIo
eFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
YXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsx
XSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRh
bjIoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwg
eVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGF0YW4yKGZsb2F0NHgy
IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
YXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRh
bjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwg
eVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGF0YW4yKGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsy
XSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRh
bjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwg
eVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIo
eFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGF0YW4yKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRh
bjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIo
eFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFsz
XVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0g
YXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsy
XSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0
WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRh
bjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwg
eVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzNdID0gYXRhbjIoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KQEAgLTIyMzM3LDExNyArMjIzMzcsMTE3IEBAIGZsb2F0NCBmbW9kKGZsb2F0NCB4
LCBmbG9hdDQgeSkgewogZmxvYXQyeDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAg
ICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFd
LCB5WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZm1vZChmbG9hdDJ4
MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9k
KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBmbW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBd
WzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9k
KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFd
LCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1vZChmbG9hdDN4
MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBd
WzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9k
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9k
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJd
LCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZm1vZChmbG9hdDN4
NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9k
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IGZtb2QoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZt
b2QoeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZt
b2QoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBd
LCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhb
Ml1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZt
b2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBmbW9kKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkp
IHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZt
b2QoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11b
MF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2Qo
eFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZm1vZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZt
b2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1b
MV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2Qo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAg
ICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1v
ZCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlb
Ml1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGZtb2QoeFszXVszXSwgeVszXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIzMDkzLDExNyArMjMwOTMsMTE3IEBAIGZsb2F0NCBtaW4o
ZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIg
eSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVsw
XSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtaW4oZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBd
WzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFsw
XVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4o
eFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWlu
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZs
b2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWlu
KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1p
bih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBt
aW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
bWluKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBt
aW4oZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBtaW4oeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gbWluKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsy
XSwgeVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1pbihmbG9hdDR4
MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgbWluKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFsw
XVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWluKHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3Vs
dFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtaW4o
eFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWlu
KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtaW4o
ZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWlu
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1p
bih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJl
c3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBt
aW4oeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICBy
ZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAg
cmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwg
eVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwogICAg
IHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10s
IHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAg
ICByZXN1bHRbM11bM10gPSBtaW4oeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTIzNTMyLDExNyArMjM1MzIsMTE3IEBAIGZsb2F0NCB0cnVuYyhmbG9hdDQgeCkg
ewogZmxvYXQyeDIgdHJ1bmMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgdHJ1bmMoZmxvYXQyeDMgeCkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0cnVuYyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVu
Yyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSB0cnVuYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDIgdHJ1bmMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDMgdHJ1bmMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0
cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4
WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQg
eCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSB0cnVuYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVu
Yyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVu
Yyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgdHJ1bmMoZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVu
Yyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJ1bmMo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0
cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVu
Yyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11b
MV0gPSB0cnVuYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0
cnVuYyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bM10gPSB0cnVuYyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjQ2NDUs
MTE3ICsyNDY0NSwxMTcgQEAgZmxvYXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0
MngyIG1heChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIG1heChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtYXgoZmxvYXQyeDQgeCwgZmxvYXQy
eDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3Vs
dFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgo
eFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1heChm
bG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgo
eFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBtYXgoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
eCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1heChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsy
XSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgbWF4KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNd
WzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYXgoeFsw
XVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4
WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4
KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1h
eCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBt
YXgoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bWF4KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0s
IHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNd
LCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjc0ODAsMTE3ICsyNzQ4MCwx
MTcgQEAgZmxvYXQ0IGRlZ3JlZXMoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRlZ3JlZXMoZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVz
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVz
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGRlZ3JlZXMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVl
cyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVl
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVl
cyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGVncmVlcyhmbG9h
dDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3Jl
ZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRlZ3Jl
ZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3Jl
ZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3Jl
ZXMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRlZ3JlZXMoZmxv
YXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdy
ZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZWdy
ZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDMgZGVncmVlcyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVn
cmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVn
cmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3g0IGRlZ3JlZXMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRl
Z3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRl
Z3JlZXMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRl
Z3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRl
Z3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MiBkZWdyZWVzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDMgZGVncmVlcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZGVncmVlcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGVncmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IGRlZ3JlZXMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGRlZ3JlZXMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGRlZ3JlZXMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGRlZ3JlZXMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBkZWdyZWVzKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0yODExMiwxMTcgKzI4MTEyLDExNyBAQCBmbG9hdDQgc2luaChmbG9hdDQgeCkgewog
ZmxvYXQyeDIgc2luaChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2luaChmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDJ4NCBzaW5oKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2lu
aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
c2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBz
aW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4
WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc2luaChmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc2luaCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2lu
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNpbmgoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
c2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBz
aW5oKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNp
bmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzaW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzJdID0gc2luaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gc2luaCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2lu
aChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5o
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAg
ICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTI4MjUzLDExNyArMjgyNTMsMTE3IEBAIGZsb2F0
NCBkZHkoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHko
eFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGRkeShmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZHkoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHkoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9
IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHkoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBkZHkoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHko
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3g0IGRkeShmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRk
eSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHko
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRk
eSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHkoZmxvYXQ0eDMg
eCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBk
ZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRk
eSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
ZGR5KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBk
ZHkoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7
CiAgICAgcmVzdWx0WzNdWzJdID0gZGR5KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRk
eSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZGR5KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeSh4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzMwODQsMTE3ICszMzA4NCwxMTcgQEAgZmxvYXQ0
IGZyYWMoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0
MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGZyYWMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGZyYWMoZmxv
YXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFj
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZnJhYyhmbG9hdDJ4NCB4KSB7
CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBm
cmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZnJhYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGZyYWMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZy
YWMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJh
Yyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZnJhYyhmbG9hdDN4
MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFj
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGZyYWMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBm
cmFjKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZy
YWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBmcmFjKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJh
Yyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBm
cmFjKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGZyYWMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHg0IGZyYWMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZy
YWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJh
Yyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwogICAgIHJlc3Vs
dFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGZyYWMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11b
M10gPSBmcmFjKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzQ1OSwxMTcg
KzMzNDU5LDExNyBAQCBmbG9hdDQgbG9nMTAoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxvZzEwKGZs
b2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9n
MTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGxvZzEwKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9n
MTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IGxvZzEwKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
MTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
bG9nMTAoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZzEwKGZs
b2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9n
MTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bG9nMTAoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxvZzEwKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9n
MTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxvZzEwKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9n
MTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxvZzEwKGZsb2F0NHgyIHgp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9n
MTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIGxvZzEwKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9n
MTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
bG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxvZzEwKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbG9nMTAoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9n
MTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nMTAoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nMTAoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTMzODIzLDExNyArMzM4MjMsMTE3IEBAIGZs
b2F0NCBkZHlfZmluZShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR5X2ZpbmUoZmxvYXQyeDIgeCkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGR5X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlf
ZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBkZHlfZmluZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR5
X2ZpbmUoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmlu
ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlf
ZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDIgZGR5X2ZpbmUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4
WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2ZpbmUoZmxvYXQz
eDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmlu
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlf
ZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBkZHlfZmluZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
ZGR5X2ZpbmUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmlu
ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlf
ZmluZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBkZHlfZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDIgZGR5X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmlu
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlf
ZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBk
ZHlfZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR5X2ZpbmUoZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmlu
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlf
ZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBk
ZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSBkZHlfZmluZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBkZHlfZmluZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
ZGR5X2ZpbmUoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmlu
ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlf
ZmluZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBk
ZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11b
MV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmlu
ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHlfZmluZSh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMzQxOTgsMjM0ICszNDE5OCwyMzQgQEAgYm9vbCBhbnkoZmxv
YXQ0IHgpIHsKIGJvb2wgYW55KGZsb2F0MngyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYW55KGZsb2F0MngzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDJ4NCB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYW55KGZsb2F0M3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDN4MyB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYW55KGZsb2F0M3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsy
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDIgeCkgewog
ICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsy
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBi
b29sIGFueShmbG9hdDR4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsx
XSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
M10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0NHg0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzJdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAhPSAwKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4MiB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4MyB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogYm9vbCBhbnkoYm9vbDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnko
Ym9vbDN4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogYm9vbCBhbnkoYm9vbDN4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsx
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDR4MiB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogYm9vbCBhbnkoYm9vbDR4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsz
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDR4NCB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsz
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMzQ2MzYsMTE3ICszNDYzNiwxMTcgQEAgZmxvYXQ0IGRkeV9jb2Fyc2UoZmxv
YXQ0IHgpIHsKIGZsb2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5
X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGRkeV9jb2Fyc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0Mngz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5
X2NvYXJzZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgZGR5X2NvYXJzZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fy
c2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGRkeV9jb2Fyc2UoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRk
eV9jb2Fyc2UoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fy
c2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2Nv
YXJzZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2NvYXJz
ZShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2Nv
YXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeV9jb2Fyc2UoZmxvYXQzeDQgeCkg
ewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlf
Y29hcnNlKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2Uo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJz
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
ZGR5X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhbM11b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgy
IHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJz
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29h
cnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR5X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5
X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNl
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeV9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNl
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fy
c2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3Vs
dFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2Nv
YXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJd
ID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHlf
Y29hcnNlKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNTA5NSwxMTcgKzM1
MDk1LDExNyBAQCBmbG9hdDQgZGR4KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHgoZmxvYXQyeDIg
eCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
MyBkZHgoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4KGZsb2F0Mng0IHgpIHsK
ICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkg
ewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
ZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCBkZHgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJl
c3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgy
IGRkeChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDMgZGR4KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gZGR4KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBkZHgoZmxvYXQ0eDQgeCkgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBkZHgoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CiAgICAg
cmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZGR4KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10g
PSBkZHgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1Mzg0LDExNyArMzUz
ODQsMTE3IEBAIGZsb2F0NCBjb3NoKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBjb3NoKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBjb3NoKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGNvc2goeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGNv
c2goZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29z
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBjb3NoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3No
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
Y29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGNvc2goZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBj
b3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29z
aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zaCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgY29zaChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2go
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGNvc2goZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNv
c2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gY29zaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBjb3NoKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3No
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
Y29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGNvc2go
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gY29zaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMzU1MjcsMTE3ICszNTUyNywxMTcgQEAgZmxvYXQ0IGRkeF9jb2Fyc2UoZmxvYXQ0IHgp
IHsKIGZsb2F0MngyIGRkeF9jb2Fyc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJz
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGRkeF9jb2Fyc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJz
ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQyeDQgZGR4X2NvYXJzZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29h
cnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9j
b2Fyc2UoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeF9jb2Fy
c2UoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9j
b2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4
WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2NvYXJzZShmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9j
b2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeF9jb2Fyc2UoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNl
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHhfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2Nv
YXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2Nv
YXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhf
Y29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhf
Y29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2Uo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJz
ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0
NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29h
cnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9j
b2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4
X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfY29hcnNl
KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNTk4MiwxMTcgKzM1OTgyLDEx
NyBAQCBmbG9hdDQgcmNwKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiByY3AoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gcmNwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByY3Ao
ZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBy
Y3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJj
cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcmNwKGZsb2F0Mng0IHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
cmNwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiByY3AoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgcmNwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4NCByY3AoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3Ao
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSByY3AoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHJjcChm
bG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJj
cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNw
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSByY3AoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3Ao
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHJjcCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmNw
KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
Y3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcmNw
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSByY3AoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
cmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10p
OwogICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBy
Y3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJj
cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CiAgICAgcmVzdWx0
WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmNw
KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByY3Ao
eFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM2NDg0LDExNyArMzY0ODQsMTE3
IEBAIGZsb2F0NCBmd2lkdGgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGZ3aWR0aChmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBm
d2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lk
dGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZndpZHRoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIGZ3aWR0aChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBm
d2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmd2lk
dGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBmd2lkdGgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3g0IGZ3aWR0aChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZ3
aWR0aCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZndpZHRoKGZs
b2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndp
ZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRo
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBmd2lkdGgoZmxvYXQ0eDMgeCkgewog
ICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZ3aWR0aCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0
aCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHg0IGZ3aWR0aChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBm
d2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lk
dGgoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7
CiAgICAgcmVzdWx0WzNdWzJdID0gZndpZHRoKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZ3aWR0aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGZ3
aWR0aCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzcyNDIsMTE3ICszNzI0
MiwxMTcgQEAgZmxvYXQ0IGxlcnAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgegogZmxvYXQy
eDIgbGVycChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbGVycChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9h
dDJ4MyB6KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsZXJwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHks
IGZsb2F0Mng0IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
bGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQzeDIgbGVycChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsZXJwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0
M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgbGVycChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1b
M10pOworICAgIHJlc3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxlcnAoZmxvYXQ0eDIgeCwgZmxvYXQ0
eDIgeSwgZmxvYXQ0eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVy
cCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5
WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwg
elszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MyBsZXJwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0
NHgzIHopIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBs
ZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxlcnAo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNd
WzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10s
IHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNd
LCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbGVycChmbG9hdDR4
NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsx
XSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0
WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGVy
cCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5
WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1b
M10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxlcnAoeFszXVszXSwgeVszXVszXSwg
elszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5k
YXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTQgKzY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgVmlz
aXRvcjo6dmlzaXQoY2FsbEV4cHJlc3Npb24pOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNU
OjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikgb3Zl
cnJpZGUKLSAgICB7Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmdldHRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVz
LmFkZChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAg
ICAgICBtX2Z1bmN0aW9uTmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1
bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgVmlzaXRvcjo6dmlzaXQocHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uKTsKLSAgICB9Ci0KICAgICBIYXNoU2V0PFN0cmluZz4gbV9mdW5jdGlvbk5hbWVzOwog
fTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50
aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rp
b25zLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NiwxNSArNTYsNiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6
ZUVudW1lcmF0CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5p
cXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVy
cygpLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5p
dGlvbiksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFy
aWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBw
ZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5j
dGlvbkRlY2xhcmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVs
bG9wdCwgZW51bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3Ry
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6
U3RhbmRhcmRMaWJyYXJ5KSk7Ci0gICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1v
dmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBt
YWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51
bSB0eXBlLiIpKTsKLSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFy
aWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9u
Pihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChs
b2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxw
dHIpOwotICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwot
ICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9u
KSk7CiAgICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6
QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5
cGUoKSwgIm9wZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwg
aXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAg
aWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVh
dGUgY29weSBjb25zdHJ1Y3RvciBmb3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RF
eHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
KGxvY2F0aW9uLCBLaW5kOjpEb3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5h
bWUoV1RGTW92ZShmaWVsZE5hbWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFk
ZGluZyk7CiAgICAgfQogCiAgICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01Miwy
NSArNTMsMTEgQEAgcHVibGljOgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lv
biYpID0gZGVsZXRlOwogICAgIERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1
bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKCJvcGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAg
IFN0cmluZyYgZmllbGROYW1lKCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToK
ICAgICBTdHJpbmcgbV9maWVsZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24g
MjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
RXhwcmVzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OCwzMyArMTY4LDYgQEAgdm9pZCBF
eHByZXNzaW9uOjpkZXN0cnVjdChFeHByZXNzaW9uJiBleAogICAgIH0KIH0KIAotU3RyaW5nIFBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAg
ICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8
RG90RXhwcmVzc2lvbj4oKnRoaXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJ
bmRleEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhw
cmVzc2lvbj4oKnRoaXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci19Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNl
dHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0
ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5j
dGlvbk5hbWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJp
bmcgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjphbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17
Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25j
YXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChp
czxJbmRleEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4
RXhwcmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgQVNUCiAKIH0gLy8gbmFtZXNw
YWNlIFdITFNMCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xJbmRleEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5
MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5k
ZXhFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDIxICs1Miw2IEBAIHB1YmxpYzoK
ICAgICBJbmRleEV4cHJlc3Npb24oY29uc3QgSW5kZXhFeHByZXNzaW9uJikgPSBkZWxldGU7CiAg
ICAgSW5kZXhFeHByZXNzaW9uKEluZGV4RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBT
dHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAi
b3BlcmF0b3JbXSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdPSJfc3RyOwotICAgIH0K
LQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gIm9wZXJhdG9yJltdIl9zdHI7Ci0gICAgfQotCiAgICAgRXhwcmVzc2lvbiYgaW5kZXhF
eHByZXNzaW9uKCkgeyByZXR1cm4gbV9pbmRleDsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9u
PiB0YWtlSW5kZXgoKSB7IHJldHVybiBXVEZNb3ZlKG1faW5kZXgpOyB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJh
dGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVj
bGFyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtODYsMTEgKzg2LDI5IEBAIHByaXZhdGU6CiBw
dWJsaWM6CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhSb3dzKCkKICAgICB7Ci0gICAgICAg
IHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNp
b24oMik7CiAgICAgfQogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0cml4Q29sdW1ucygpCiAgICAg
ewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOworICAgICAgICByZXR1cm4gbWF0
cml4RGltZW5zaW9uKDEpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIHZlY3RvclR5cGVB
cmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJl
dHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBd
KTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCB2ZWN0b3JTaXplKCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRF
eHByZXNzaW9uPih0eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsK
KyAgICB9CisKKyAgICBUeXBlUmVmZXJlbmNlJiBtYXRyaXhUeXBlQXJndW1lbnQoKQorICAgIHsK
KyAgICAgICAgQVNTRVJUKGlzTWF0cml4KCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVm
PEFTVDo6VHlwZVJlZmVyZW5jZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CiAgICAgfQogCiAgICAg
dm9pZCBzZXRJc0ludCgpIHsgbV9pc0ludCA9IHRydWU7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNDUgKzUzLDEyIEBAIHB1YmxpYzoKICAg
ICBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oY29uc3QgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
JikgPSBkZWxldGU7CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKFByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1l
KCkgY29uc3Q7Ci0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0
cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotCi0gICAgRnVuY3Rpb25EZWNsYXJhdGlv
biogZ2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX2dldHRlckZ1bmN0aW9uOyB9Ci0gICAgRnVu
Y3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fYW5kZXJGdW5jdGlv
bjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24oKSB7IHJl
dHVybiBtX3RocmVhZEFuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBz
ZXR0ZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fc2V0dGVyRnVuY3Rpb247IH0KLQotICAgIHZvaWQg
c2V0R2V0dGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24pCi0g
ICAgewotICAgICAgICBtX2dldHRlckZ1bmN0aW9uID0gZ2V0dGVyRnVuY3Rpb247Ci0gICAgfQot
Ci0gICAgdm9pZCBzZXRBbmRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVu
Y3Rpb24pCi0gICAgewotICAgICAgICBtX2FuZGVyRnVuY3Rpb24gPSBhbmRlckZ1bmN0aW9uOwot
ICAgIH0KLQotICAgIHZvaWQgc2V0VGhyZWFkQW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0
aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV90aHJlYWRBbmRlckZ1
bmN0aW9uID0gdGhyZWFkQW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFNldHRl
ckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIHNldHRlckZ1bmN0aW9uKQotICAgIHsKLSAg
ICAgICAgbV9zZXR0ZXJGdW5jdGlvbiA9IHNldHRlckZ1bmN0aW9uOwotICAgIH0KLQogICAgIEV4
cHJlc3Npb24mIGJhc2UoKSB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVz
c2lvbj4mIGJhc2VSZWZlcmVuY2UoKSB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8
RXhwcmVzc2lvbj4gdGFrZUJhc2UoKSB7IHJldHVybiBXVEZNb3ZlKG1fYmFzZSk7IH0KIAogcHJp
dmF0ZToKICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gbV9iYXNlOwotICAgIEZ1bmN0aW9uRGVj
bGFyYXRpb24qIG1fZ2V0dGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNs
YXJhdGlvbiogbV9hbmRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFy
YXRpb24qIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBtX3NldHRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRh
bC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNp
b24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwv
V0hMU0xGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAK
ICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdC
dWlsZGVyLmg+CiAKKyNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CkBAIC02Myw3ICs2NSw1NyBAQCBzdGF0aWMgdm9pZCBk
ZWNsYXJlRnVuY3Rpb24oU3RyaW5nQnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7
XG4iKTsKIH0KIAorc3RydWN0IFZhcmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5h
bWU7CisgICAgTWFuZ2xlZFR5cGVOYW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxl
Q29sbGVjdG9yIDogcHVibGljIFZpc2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhv
aXN0ZWRWYXJpYWJsZUNvbGxlY3RvcihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcikKKyAgICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
KGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAg
ICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJp
ZGUKKyAgICAgICAgeworICAgICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7Cisg
ICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUo
KTsKKyAgICAgICAgICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNv
bHZlZFR5cGUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlw
ZSgpKTsKKyAgICAgICAgICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsK
KyAgICAgICAgICAgIHZhcmlhYmxlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisg
ICAgICAgICAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRz
KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUo
KSk7CisgICAgICAgICAgICAgICAgYXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
LmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51
bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBpZiAoIWlzVm9pZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5j
aGVja2VkQXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKwor
ICAgICAgICAgICAgdG9Ib2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxl
cykpOworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAg
ICAgIH0KKworICAgICAgICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
biYgcmVhZE1vZGlmeVdyaXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0
b3I8VmFyaWFibGU+IHZhcmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFy
aWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUoKnJlYWRNb2RpZnlXcml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2
YXJpYWJsZXMuYXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVy
YXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkp
IH0pOworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3Zl
KHZhcmlhYmxlcykpOworCisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3Jp
dGUpOworICAgICAgICB9CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwg
VmVjdG9yPFZhcmlhYmxlPj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNp
Y3MmIGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rp
b25EZWNsYXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExh
eW91dCYgbGF5b3V0KQogICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpA
QCAtMTA0LDEwICsxNTYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xl
YW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsK
KyAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFT
VDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChB
U1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
QXNzaWdubWVudEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2Fs
bEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTEzMSw2NSArMTgyLDYgQEAgcHJvdGVjdGVkOgog
CiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7IHJl
dHVybiB7IG1fdmFyaWFibGVDb3VudCsrIH07IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFiaWxp
dHkgOiB1aW50OF90IHsKLSAgICAgICAgTm90TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0gICAg
fTsKLQotICAgIHN0cnVjdCBTdGFja0l0ZW0gewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1l
IHZhbHVlOwotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAgICAg
TnVsbGFiaWxpdHkgdmFsdWVOdWxsYWJpbGl0eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVmdFZh
bHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFt
ZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFsdWUg
ewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0
eSBudWxsYWJpbGl0eTsKLSAgICB9OwotCi0gICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50IGRh
dGEgZmxvdyBzdGVwIHdoZXJlIHdlIGNhbiB0YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBsdmFs
dWUKLSAgICAvLyBhbmQgdHJhbnNmZXIgaXQgaW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gcnZh
bHVlLiBUaGlzIGlzIGNvbnZleWVkIGluIE1ha2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8vIGFu
ZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24uIE1ha2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRyeSB0
byBwcm9kdWNlIHJ2YWx1ZXMgd2hpY2ggYXJlCi0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJlZmVy
ZW5jZUV4cHJlc3Npb24gd2lsbCB0YWtlIGEgbm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8gcHJv
ZHVjZQotICAgIC8vIGEgbm9uLW51bGwgbHZhbHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1
ZVdpdGhOdWxsYWJpbGl0eShBU1Q6OkV4cHJlc3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZh
bHVlLCBOdWxsYWJpbGl0eSBudWxsYWJpbGl0eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBw
ZW5kKHsgV1RGTW92ZSh2YWx1ZSksIHsgfSwgbnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpDYW5C
ZU51bGwsIHsgfSB9KTsKLSAgICB9Ci0KLSAgICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNUOjpF
eHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAgIHsK
LSAgICAgICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBXVEZN
b3ZlKHZhbHVlKSwgTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9pZCBh
cHBlbmRMZWZ0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFi
bGVOYW1lIHZhbHVlLCBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxpdHkg
bnVsbGFiaWxpdHksIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0
ZUxlZnRWYWx1ZSA9IHsgfSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVzc2lv
biwgZXhwcmVzc2lvbi50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0gICAg
ICAgIEFTU0VSVChsZWZ0VmFsdWUgfHwgZ2VuZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBtX3N0
YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUpLCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxhYmls
aXR5OjpDYW5CZU51bGwsIG51bGxhYmlsaXR5LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVlKSB9
KTsKLSAgICB9Ci0KLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIG1fc3RhY2sudGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0KLSAg
ICBTdGFja1ZhbHVlIHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpCi0gICAgewotICAgICAg
ICBhdXRvIGxhc3QgPSBtX3N0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3Qu
dmFsdWUsIGxhc3QudmFsdWVOdWxsYWJpbGl0eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFsdWUg
dGFrZUxhc3RMZWZ0VmFsdWUoKQotICAgIHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50
YWtlTGFzdCgpOwotICAgICAgICBpZiAoIWxhc3QubGVmdFZhbHVlKQotICAgICAgICAgICAgbGFz
dC5sZWZ0VmFsdWUgPSBsYXN0LmdlbmVyYXRlTGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB7
IGxhc3QubGVmdFZhbHVlLCBsYXN0LmxlZnRWYWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCiAg
ICAgZW51bSBjbGFzcyBCcmVha0NvbnRleHQgewogICAgICAgICBMb29wLAogICAgICAgICBTd2l0
Y2gKQEAgLTIwMywxMiArMTk1LDEyIEBAIHByb3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFwcGlu
ZzsKICAgICBIYXNoTWFwPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJpYWJs
ZU5hbWU+IG1fdmFyaWFibGVNYXBwaW5nOwogCi0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9zdGFj
azsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5UG9p
bnRTY2FmZm9sZGluZzsKICAgICBMYXlvdXQmIG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1fdmFy
aWFibGVDb3VudCB7IDAgfTsKICAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2Jy
ZWFrT3V0T2ZDdXJyZW50TG9vcEVhcmx5VmFyaWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9p
bmRlbnQgeyAwIH07CisgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFi
bGU+PiBtX2hvaXN0ZWRWYXJpYWJsZXM7CiB9OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsy
MTAsMTMgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24m
IGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKKworICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxl
Q29sbGVjdG9yIGNvbGxlY3RvcigqdGhpcyk7CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2
aXNpdChmdW5jdGlvbkRlZmluaXRpb24pOworICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBX
VEZNb3ZlKGNvbGxlY3Rvci50b0hvaXN0KTsKKyAgICB9CisKICAgICBhdXRvIGl0ZXJhdG9yID0g
bV9mdW5jdGlvbk1hcHBpbmcuZmluZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQo
aXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24uZW50cnlQb2ludFR5cGUoKSkgewpAQCAtMjM4LDggKzIzNywxMyBAQCB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBh
ZGRSZXN1bHQgPSBtX3ZhcmlhYmxlTWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJh
bWV0ZXJzKClbaV0sIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMo
KVtpXSk7CiAgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3Vs
dC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZm9yIChjb25zdCBh
dXRvJiB2ZWN0b3IgOiBtX2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAg
ICAgICBmb3IgKGF1dG8gdmFyaWFibGUgOiB2ZWN0b3IpCisgICAgICAgICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywgdmFyaWFi
bGUubmFtZSwgIjtcbiIpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkpOwotICAgICAgICAgICAgQVNTRVJU
KG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICAgICAgfQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCJ9XG5cbiIpOwogCkBAIC0yNDgsMTcgKzI1MiwyNCBAQCB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2Fm
Zm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50
eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwgJygnKTsKICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0
aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRl
ck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRk
UmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUp
OwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7
CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgie1xuIik7CisgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgdmVjdG9yIDogbV9ob2lzdGVkVmFyaWFibGVzLnZhbHVlcygpKSB7CisgICAgICAgICAg
ICBmb3IgKGF1dG8gdmFyaWFibGUgOiB2ZWN0b3IpCisgICAgICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCwgdmFyaWFibGUudHlwZSwgJyAnLCB2YXJpYWJsZS5uYW1l
LCAiO1xuIik7CisgICAgICAgIH0KKwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rp
b25EZWZpbml0aW9uLmJsb2NrKCkpOwotICAgICAgICBBU1NFUlQobV9zdGFjay5pc0VtcHR5KCkp
OworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG4iKTsKICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKICAgICB9CiB9CkBAIC0zMDksOCArMzIwLDkgQEAgdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50JiBl
ZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChlZmZlY3RmdWxFeHByZXNzaW9u
U3RhdGVtZW50LmVmZmVjdGZ1bEV4cHJlc3Npb24oKSk7Ci0gICAgdGFrZUxhc3RWYWx1ZSgpOyAv
LyBUaGUgc3RhdGVtZW50IGlzIGFscmVhZHkgZWZmZWN0ZnVsLCBzbyB3ZSBkb24ndCBuZWVkIHRv
IGRvIGFueXRoaW5nIHdpdGggdGhlIHJlc3VsdC4KKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCI7XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6
RmFsbHRocm91Z2gmKQpAQCAtMzMwLDEwICszNDIsMTIgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHdoaWxlU2NvcGUo
bV9pbmRlbnQpOwogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENv
bmRpdGlvbkxvY2F0aW9uOjpCZWZvcmVCb2R5ICYmIGNvbmRpdGlvbkV4cHJlc3Npb24pIHsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgbV9pbmRl
bnQsICJpZiAoISgiKTsKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqY29uZGl0aW9u
RXhwcmVzc2lvbik7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEiLCB0YWtlTGFzdFZhbHVlKCksICIpXG4iLAotICAg
ICAgICAgICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xuIik7CisgICAgICAgICAgICAgICAg
IikpXG4iLAorICAgICAgICAgICAgICAgICIgICAgYnJlYWs7XG4iKTsKICAgICAgICAgfQogCiAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJkbyB7XG4iKTsKQEAgLTM1
MCwxNyArMzY0LDE4IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCgK
ICAgICAgICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xuIik7CiAKICAgICAgICAgaWYgKGlu
Y3JlbWVudCkgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKCIpOwogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppbmNyZW1lbnQpOwotICAgICAgICAgICAgLy8g
RXhwcmVzc2lvbiByZXN1bHRzIGdldCBwdXNoZWQgdG8gbV9zdGFjay4gV2UgZG9uJ3QgdXNlIHRo
ZSByZXN1bHQKLSAgICAgICAgICAgIC8vIG9mIGluY3JlbWVudCwgc28gd2UgZGlzcGVuc2Ugb2Yg
dGhhdCBub3cuCi0gICAgICAgICAgICB0YWtlTGFzdFZhbHVlKCk7CisgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobG9v
cENvbmRpdGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlvbjo6QWZ0ZXJCb2R5ICYm
IGNvbmRpdGlvbkV4cHJlc3Npb24pIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoCisgICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISgiKTsKICAgICAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdCgqY29uZGl0aW9uRXhwcmVzc2lvbik7CiAgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEiLCB0
YWtlTGFzdFZhbHVlKCksICIpXG4iLAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAiICAgIGJy
ZWFrO1xuIik7CisgICAgICAgICAgICAgICAgIikpXG4iLAorICAgICAgICAgICAgICAgICIgICAg
YnJlYWs7XG4iKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzkwLDEyICs0MDUsMTUgQEAgdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpJZlN0YXRlbWVudCYgaWZTdGF0ZW1lbnQpCiB7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgImlmICgiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoaWZTdGF0ZW1lbnQuY29uZGl0aW9uYWwoKSk7Ci0gICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgImlmICgiLCB0YWtlTGFzdFZhbHVlKCksICIpIHtcbiIpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikge1xuIik7CisKICAgICB7CiAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgaWZTY29wZShtX2luZGVudCk7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChpZlN0YXRlbWVudC5ib2R5KCkpOwogICAgIH0KKwogICAgIGlmIChpZlN0YXRlbWVudC5l
bHNlQm9keSgpKSB7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
IGVsc2Uge1xuIik7CiAgICAgICAgIHsKQEAgLTQwMywyOSArNDIxLDM0IEBAIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdCgqaWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSk7CiAgICAgICAgIH0KICAgICB9CisKICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifVxuIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJldHVybiYgcmV0dXJuU3RhdGVtZW50KQog
ewogICAgIGlmIChyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKSkgeworICAgICAgICBhdXRvIHRlbXBS
ZXR1cm5OYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7IAorICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
cmV0dXJuU3RhdGVtZW50LnZhbHVlKCktPnJlc29sdmVkVHlwZSgpKSwgJyAnLCB0ZW1wUmV0dXJu
TmFtZSwgIiA9ICIpOyAKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpyZXR1cm5TdGF0ZW1l
bnQudmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAg
ICAgICAgIGlmIChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZykgewogICAgICAgICAgICAgYXV0byB2
YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1f
ZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1aWxkZXIsIHRha2VMYXN0
VmFsdWUoKSwgdmFyaWFibGVOYW1lLCBtX2luZGVudCk7CisgICAgICAgICAgICBtX2VudHJ5UG9p
bnRTY2FmZm9sZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0ZW1wUmV0dXJuTmFtZSwg
dmFyaWFibGVOYW1lLCBtX2luZGVudCk7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOwogICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1
cm4gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRlbXBSZXR1cm5OYW1lLCAiO1xuIik7CiAg
ICAgfSBlbHNlCiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1
cm47XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6
U3dpdGNoU3RhdGVtZW50JiBzd2l0Y2hTdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInN3aXRjaCAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHN3
aXRjaFN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIHsi
KTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJzd2l0Y2ggKCIsIHRh
a2VMYXN0VmFsdWUoKSwgIikgeyIpOwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBz
d2l0Y2hTY29wZShtX2luZGVudCk7CiAgICAgICAgIGZvciAoYXV0byYgc3dpdGNoQ2FzZSA6IHN3
aXRjaFN0YXRlbWVudC5zd2l0Y2hDYXNlcygpKQpAQCAtNDU0LDMwICs0NzcsMjkgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYgaW50ZWdlckxpdGVyYWwpCiB7
Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAg
ICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShp
bnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRp
Y19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgaW50ZWdlckxpdGVyYWwudmFsdWUoKSwg
Iik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5h
bWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRU
eXBlTmFtZSwgIj4oIiwgaW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bCYgdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWwucmVzb2x2
ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRU
eXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlw
ZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIik7XG4iKTsKLSAg
ICBhcHBlbmRSaWdodFZhbHVlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVO
YW1lLCAiPigiLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxv
YXRMaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFi
bGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUoZmxvYXRMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1l
LCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwu
dmFsdWUoKSwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGZsb2F0TGl0ZXJhbCwgdmFy
aWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBt
YW5nbGVkVHlwZU5hbWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVs
bExpdGVyYWwpCiB7CisgICAgVU5VU0VEX1BBUkFNKG51bGxMaXRlcmFsKTsKKyAgICBib29sIGIg
PSB0cnVlOworICAgIGlmIChiKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIC8qCiAgICAgYXV0byYgdW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBl
KCkudW5pZnlOb2RlKCk7CiAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVu
bmFtZWRUeXBlPih1bmlmeU5vZGUpOwogICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBp
czxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwpAQCAtNDg5LDI0ICs1MTEs
MjEgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIGVsc2UK
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwogICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobnVsbExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgKi8KIH0KIAogdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJv
b2xlYW5MaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUoYm9vbGVhbkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJs
ZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGJvb2xlYW5M
aXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwotICAgIGFwcGVuZFJp
Z2h0VmFsdWUoYm9vbGVhbkxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFu
TGl0ZXJhbC52YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIikiKTsKIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
JiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7CiAgICAgQVNTRVJUKGVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0gICAgYXV0byB2YXJp
YWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRU
eXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShlbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBtYW5nbGVk
VHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVyYXRpb25NZW1i
ZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigpKSwgIjtcbiIp
OwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLCB2YXJpYWJs
ZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiOjoi
LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSkpOwogfQogCiB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uKQpAQCAt
NTE0LDUwICs1MzMsODMgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFT
VAogICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwogfQogCi12b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQot
ewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRo
aXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IGFwcGVuZFJpZ2h0VmFsdWUoZG90RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCkpOwotfQotCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpHbG9i
YWxWYXJpYWJsZVJlZmVyZW5jZSYgZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UpCiB7Ci0gICAgYXV0
byB2YWx1ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBNYW5nbGVkVHlw
ZU5hbWUgbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGds
b2JhbFZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKLQotICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOwotICAgIE1hbmdsZWRWYXJp
YWJsZU5hbWUgc3RydWN0VmFyaWFibGUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0KICAgICBNYW5nbGVk
U3RydWN0dXJlRWxlbWVudE5hbWUgbWFuZ2xlZEZpZWxkTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5zdHJ1Y3RG
aWVsZCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJhc2UoKSk7CisgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKS0+IiwgbWFuZ2xlZEZpZWxkTmFtZSk7Cit9CiAKLSAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcs
IHZhbHVlTmFtZSwgIiA9ICIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1l
LCAiO1xuIik7Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RF
eHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQoreworICAgIGF1dG8mIHR5cGUgPSBkb3RFeHByZXNz
aW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKIAotICAgIGFwcGVuZExlZnRW
YWx1ZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSwgdmFsdWVOYW1lLCB7IH0sIE51bGxhYmlsaXR5
OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBzdHJ1Y3RWYXJpYWJs
ZSwgbWFuZ2xlZEZpZWxkTmFtZV0gewotICAgICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgInRocmVhZCAiLCBtYW5nbGVkVHlwZU5h
bWUsICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5n
bGVkRmllbGROYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0g
ICAgICAgIH0pOworICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7
CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KHR5cGUpOworICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0g
c3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpOworICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIGF1dG8gZWxlbWVudE5hbWUg
PSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVs
ZW1lbnQpOworCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgU3RyaW5nIGVsZW1lbnROYW1lID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKTsKKyAgICAg
ICAgaWYgKGVsZW1lbnROYW1lID09ICJsZW5ndGgiICYmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNl
VHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpIHx8IChpczxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpKSkgeworICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJy
YXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhw
cmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikubGVuZ3RoIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPih0
eXBlKSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAg
ICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOwor
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNU
OjpBcnJheVR5cGU+KHR5cGUpLm51bUVsZW1lbnRzKCksICIpIik7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAg
ICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAg
ICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclNpemUoKSwgIikiKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJh
c2UoKSk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnRO
YW1lKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCiB7Ci0gICAg
Ly8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRo
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5k
UmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsK
LX0KKyAgICBhdXRvJiB0eXBlID0gaW5kZXhFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUo
KS51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUp
IHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkK
KyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsiKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5kYXRhKClbIik7
CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNz
aW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCddJyk7CisgICAgfSBlbHNl
IGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgLy8g
T09QUzogRG9uJ3QgZG91YmxlIGdlbmVyYXRlIGluZGV4IGV4cHJlc3Npb24gaGVyZS4KKyAgICAg
ICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
Pih0eXBlKTsKKyAgICAgICAgdW5zaWduZWQgc2l6ZTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUu
aXNNYXRyaXgoKSkKKyAgICAgICAgICAgIHNpemUgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4
Q29sdW1ucygpOworICAgICAgICBlbHNlIGlmIChuYXRpdmVUeXBlLmlzVmVjdG9yKCkpCisgICAg
ICAgICAgICBzaXplID0gbmF0aXZlVHlwZS52ZWN0b3JTaXplKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLXZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQg
YWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpWygiKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Np
b24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA8ICIsIHNpemUsICIpID8g
KCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhw
cmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IDBdIik7Cisg
ICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IAogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0
aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uKQpAQCAtNTY4LDE4MSArNjIwLDE5NSBAQCB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgQVNTRVJUX1VOVVNFRChhZGRS
ZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2MCBJbXBsZW1lbnQgcXVhbGlmaWVycy4K
ICAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigpKSB7CisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
ICIpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKnZhcmlhYmxlRGVjbGFyYXRpb24uaW5p
dGlhbGl6ZXIoKSk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkp
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHRha2VMYXN0VmFsdWUoKSwgIjtcbiIpOworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAi
ID0geyB9O1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJiBhc3NpZ25tZW50RXhwcmVzc2lvbikKIHsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2ln
bm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0byBbcG9pbnRlck5hbWUsIG51bGxhYmls
aXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICgiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byBbcmlnaHRO
YW1lLCByaWdodE51bGxhYmlsaXR5XSA9IHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpOwot
Ci0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpCi0gICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBtX2luZGVudCwgImlmICgiLCBw
b2ludGVyTmFtZSwgIilcbiIsCi0gICAgICAgICAgICBtX2luZGVudCwgIiAgICAqIiwgcG9pbnRl
ck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBlbHNlCi0gICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICIqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdo
dE5hbWUsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlV2l0aE51bGxhYmlsaXR5KGFzc2ln
bm1lbnRFeHByZXNzaW9uLCByaWdodE5hbWUsIHJpZ2h0TnVsbGFiaWxpdHkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKQogeworICAgIGF1
dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5kKCZjYWxsRXhwcmVzc2lvbik7CisgICAg
UkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZW5kKCkpOworICAgIGF1
dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxFeHBy
ZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA8PSB2YXJpYWJsZXMuc2l6ZSgpKTsKICAgICBWZWN0
b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnROYW1lczsKLSAgICBmb3IgKGF1dG8mIGFy
Z3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKLSAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQodGFrZUxh
c3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlzVm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJl
c3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKLSAgICBNYW5n
bGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAgaWYgKCFpc1ZvaWQpIHsKLSAgICAgICAg
cmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
Y2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHJldHVybk5hbWUsICI7XG4iKTsK
KyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWU7CisgICAgaWYgKCFtYXRjaGVzKGNh
bGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBtX2ludHJpbnNpY3Mudm9pZFR5cGUoKSkpCisg
ICAgICAgIHJlc3VsdE5hbWUgPSB2YXJpYWJsZXMubGFzdCgpLm5hbWU7CisKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsRXhw
cmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoaSkKKyAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgIGFyZ3VtZW50TmFt
ZXMuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCh2YXJpYWJsZXNbaV0ubmFtZSwgIiA9ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlz
aXQoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKClbaV0pOwogICAgIH0KIAotICAgIGlmIChpczxB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkp
KSB7Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lID0gW3RoaXNdKCkgLT4g
TWFuZ2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy0+Z2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07CisgICAgaWYgKGNhbGxFeHByZXNzaW9uLmFy
Z3VtZW50cygpLnNpemUoKSkKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
IAotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwotICAgICAgICBpbmxpbmVO
YXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRvd25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSksIHJldHVybk5hbWUsIGFy
Z3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBlTmFtZXIsIFdURk1vdmUoZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKSwgbV9pbmRlbnQpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCdcbicpOworICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNh
bGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7CisgICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
PihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgYXJndW1lbnROYW1lcywgcmVzdWx0TmFtZSwg
bV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgbV9pbmRlbnQpOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQpOwotCiAgICAgICAgIGF1dG8gaXRl
cmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigp
KTsKICAgICAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fZnVuY3Rpb25NYXBwaW5nLmVuZCgpKTsK
LSAgICAgICAgaWYgKCFpc1ZvaWQpCi0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KHJldHVybk5hbWUsICIgPSAiKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChpdGVy
YXRvci0+dmFsdWUsICcoJyk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJndW1l
bnROYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNh
bGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBpZiAo
aSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwotICAgICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChhcmd1bWVudE5hbWVzW2ldKTsKKyAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFibGVzW2ldLm5hbWUpOwogICAgICAgICB9
Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0KIAotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY2Fs
bEV4cHJlc3Npb24sIHJldHVybk5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q29tbWFF
eHByZXNzaW9uJiBjb21tYUV4cHJlc3Npb24pCiB7Ci0gICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlh
YmxlTmFtZT4gcmVzdWx0OworICAgIGlmICghY29tbWFFeHByZXNzaW9uLmxpc3QoKS5zaXplKCkp
IHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbXB0eSBjb21tYSEiKTsKKyAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFuT25jZSA9IGZhbHNlOwogICAgIGZv
ciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lvbi5saXN0KCkpIHsKKyAgICAgICAg
aWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwor
ICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGV4cHJl
c3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgfQotICAgIEFT
U0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY29tbWFFeHByZXNzaW9uLCAqcmVz
dWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbiYgZGVy
ZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiooIik7
CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJlbmNlRXhwcmVzc2lvbi5wb2ludGVyKCkp
OwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFu
ZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRWYWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwotCi0gICAgaWYg
KG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKLSAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlICwgJyAn
LCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwgIiA/ICIsICcqJywgaW5wdXRQb2lu
dGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwotICAgIH0gZWxzZQotICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1
dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZShkZXJlZmVyZW5jZUV4cHJl
c3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uJiBsb2dpY2FsRXhwcmVzc2lvbikKIHsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAgIGF1dG8gbGVmdCA9IHRha2VMYXN0VmFs
dWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7
Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50
LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNhbEV4cHJlc3Npb24ucmVzb2x2
ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGxlZnQpOwogICAgIHN3aXRjaCAo
bG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNz
aW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiAmJiAiKTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUKGxvZ2ljYWxFeHBy
ZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcik7CisgICAg
Y2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcjoKICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9n
aWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0
KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHByZXNzaW9uJiBsb2dp
Y2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIhKCIpOwog
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwot
ICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShs
b2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAi
ID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RF
eHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZUFy
cmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbikKIHsK
LSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0
VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJ
dCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZhbHVlIHRvby4KICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODM4Ci0gICAgYXV0
byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQogICAgIGF1dG8g
bWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VBcnJh
eVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwogICAgIGlmIChpczxBU1Q6OlBv
aW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29s
dmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZhbHVlID0gdGFrZUxhc3RWYWx1ZSgpOwot
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIG1h
bmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBwdHJWYWx1ZSwgIiA/ICIs
IG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUsICIsIDEgfSA6ICIsIG1hbmdsZWRUeXBl
TmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1h
a2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5
cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBl
KCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsK
ICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KG1ha2VB
cnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcg
JywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUsICItPmRhdGEoKSwgIiwgYXJyYXlUeXBl
Lm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFr
ZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5VHlwZS5udW1FbGVtZW50cygpLCAiIH0i
KTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxWYWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVl
KCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmds
ZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xu
Iik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiIHsg
JiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgMSB9
Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uJiBtYWtlUG9pbnRlckV4cHJlc3Npb24p
CiB7CisgICAgLy8gT09QUworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiYoIik7CiAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KG1ha2VQb2ludGVyRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Ci0g
ICAgYXV0byBbcG9pbnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RMZWZ0VmFsdWUoKTsKLSAg
ICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShtYWtlUG9pbnRlckV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxl
TmFtZSwgIiA9ICIsIHBvaW50ZXIsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlV2l0aE51
bGxhYmlsaXR5KG1ha2VQb2ludGVyRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lLCBudWxsYWJpbGl0
eSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCi12b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikK
K3ZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24mIHJlYWRNb2RpZnlXcml0ZSkKIHsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBs
b3dlcmVkIGFscmVhZHkuCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoKKyAgICAg
KiAgMS4gRXZhbHVhdGUgbV9sZWZ0VmFsdWUKKyAgICAgKiAgMi4gQXNzaWduIHRoZSByZXN1bHQg
dG8gbV9vbGRWYWx1ZQorICAgICAqICAzLiBFdmFsdWF0ZSBtX25ld1ZhbHVlRXhwcmVzc2lvbgor
ICAgICAqICA0LiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX25ld1ZhbHVlCisgICAgICogIDUuIEFz
c2lnbiB0aGUgcmVzdWx0IHRvIG1fbGVmdFZhbHVlCisgICAgICogIDYuIEV2YWx1YXRlIG1fcmVz
dWx0RXhwcmVzc2lvbgorICAgICAqICA3LiBSZXR1cm4gdGhlIHJlc3VsdAorICAgICAqLworCisg
ICAgYXV0byBpdGVyID0gbV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJnJlYWRNb2RpZnlXcml0ZSk7
CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZW5kKCkpOwor
ICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAgIFJFTEVBU0VfQVNTRVJUKHZh
cmlhYmxlcy5zaXplKCkgPT0gMik7CisKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG9sZFZhbHVl
VmFyaWFibGUgPSB2YXJpYWJsZXNbMF0ubmFtZTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5l
d1ZhbHVlVmFyaWFibGUgPSB2YXJpYWJsZXNbMV0ubmFtZTsKKworICAgIG1fdmFyaWFibGVNYXBw
aW5nLmFkZCgmcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCksIG9sZFZhbHVlVmFyaWFibGUpOwor
ICAgIG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmcmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlKCksIG5l
d1ZhbHVlVmFyaWFibGUpOworCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworCisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChvbGRWYWx1ZVZhcmlhYmxlLCAiID0gIik7CisgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIG5ld1ZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlRXhwcmVzc2lvbigp
KTsKKworICAgIC8vIE9PUFM6IGRvbid0IGV2YWx1YXRlIGxlZnRWYWx1ZSB0d2ljZSEKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFk
TW9kaWZ5V3JpdGUubGVmdFZhbHVlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9
ICIsIG5ld1ZhbHVlVmFyaWFibGUsICIsICIpOworCisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJl
YWRNb2RpZnlXcml0ZS5yZXN1bHRFeHByZXNzaW9uKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFT
VDo6VGVybmFyeUV4cHJlc3Npb24mIHRlcm5hcnlFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJl
c3Npb24ucHJlZGljYXRlKCkpOwotICAgIGF1dG8gY2hlY2sgPSB0YWtlTGFzdFZhbHVlKCk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA/ICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlz
aXQodGVybmFyeUV4cHJlc3Npb24uYm9keUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBib2R5ID0g
dGFrZUxhc3RWYWx1ZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiAoIik7CiAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KHRlcm5hcnlFeHByZXNzaW9uLmVsc2VFeHByZXNzaW9uKCkp
OwotICAgIGF1dG8gZWxzZUJvZHkgPSB0YWtlTGFzdFZhbHVlKCk7Ci0KLSAgICBhdXRvIHZhcmlh
YmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh0ZXJuYXJ5
RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgY2hl
Y2ssICIgPyAiLCBib2R5LCAiIDogIiwgZWxzZUJvZHksICI7XG4iKTsKLSAgICBhcHBlbmRSaWdo
dFZhbHVlKHRlcm5hcnlFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlhYmxlUmVmZXJlbmNlKQpAQCAtNzUyLDEz
ICs4MTgsNyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
QVNTRVJUKGl0ZXJhdG9yICE9IG1fdmFyaWFibGVNYXBwaW5nLmVuZCgpKTsKIAogICAgIE1hbmds
ZWRWYXJpYWJsZU5hbWUgdmFyaWFibGVOYW1lID0gaXRlcmF0b3ItPnZhbHVlOwotCi0gICAgYXBw
ZW5kTGVmdFZhbHVlKHZhcmlhYmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5hbWUsIHsgfSwgTnVsbGFi
aWxpdHk6Ok5vdE51bGwsCi0gICAgICAgIFt0aGlzLCAmdmFyaWFibGVSZWZlcmVuY2UsIHZhcmlh
YmxlTmFtZV0gewotICAgICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgInRocmVhZCAiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodmFyaWFibGVSZWZl
cmVuY2UucmVzb2x2ZWRUeXBlKCkpLCAiKiAiLCBwb2ludGVyTmFtZSwgIiA9ICYiLCB2YXJpYWJs
ZU5hbWUsICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAg
fSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdENvbnN0YW50RXhwcmVzc2lvblN0cmluZyhB
U1Q6OkNvbnN0YW50RXhwcmVzc2lvbiYgY29uc3RhbnRFeHByZXNzaW9uKQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVH
ZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBN
ZXRhbCB7CiAKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxDb2RlID0gZmFsc2U7CiAK
LXN0YXRpYyBTdHJpbmdWaWV3IG1ldGFsQ29kZVByb2xvZygpCitzdGF0aWMgU3RyaW5nVmlldyBt
ZXRhbENvZGVQcm9sb2d1ZSgpCiB7CiAgICAgcmV0dXJuIFN0cmluZ1ZpZXcgewogICAgICAgICAi
I2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj5cbiIKQEAgLTUzLDcgKzUzLDE3MSBAQCBzdGF0aWMgU3Ry
aW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQogICAgICAgICAiXG4iCiAgICAgICAgICJ1c2luZyBu
YW1lc3BhY2UgbWV0YWw7XG4iCiAgICAgICAgICJcbiIKKyJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwg
aW50IENvbHMsIGludCBSb3dzPlxuIgorInN0cnVjdCBXU0xNYXRyaXhcbiIKKyJ7XG4iCisiICAg
IHZlYzxULCBSb3dzPiBjb2x1bW5zW0NvbHNdO1xuIgorIiAgICBwcml2YXRlOlxuIgorIiAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgaW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2ZWM8VCwgUm93
cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29sLCBfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIFIuLi4+KVxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4geyhSIDwgY29sLnNpemUo
KSA/ICooY29sLmJlZ2luKCkgKyBSKSA6IFUoKSkuLi59O1xuIgorIiAgICB9XG4iCisiICAgIHRl
bXBsYXRlIDxpbnQuLi4gUj5cbiIKKyIgICAgc3RhdGljIHZlYzxULCBSb3dzPiBidWlsZF9mdWxs
X2NvbChpbnQgYywgaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8
aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIHsqKGVsZW1zLmJlZ2lu
KCkgKyBjICogUm93cyArIFIpLi4ufTtcbiIKKyIgICAgfVxuIgorIiAgICBzdHJ1Y3QgY29sc19p
bml0X3RhZyB7IH07XG4iCisiICAgIHN0cnVjdCBjb2xzX2FsbF90YWcgeyB9O1xuIgorIiAgICBz
dHJ1Y3QgZWxlbXNfYWxsX3RhZyB7IH07XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIK
KyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnLCBpbml0aWFsaXpl
cl9saXN0PHZlYzxULCBSb3dzPj4gY29scywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikg
dGhyZWFkXG4iCisiICAgICAgICA6IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUoKSA/ICooY29scy5i
ZWdpbigpICsgQykgOiB2ZWM8VCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxu
IgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6
IGNvbHVtbnN7IGNvbHMuLi4gfVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxh
dGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxl
bXNfYWxsX3RhZywgVS4uLiBlbGVtcykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh7
VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIg
ICAgICAgIHtcbiIKKyIgICAgICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgor
IiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMs
IF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1
bW5ze2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1zLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwg
Um93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50
Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywg
aW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGlu
dCwgQy4uLj4pIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUo
KSA/ICooY29scy5iZWdpbigpICsgQykgOiB2ZWM8VCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtc
biIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5s
aW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgY29uc3RhbnRc
biIKKyIgICAgICAgIDogY29sdW1uc3sgY29scy4uLiB9XG4iCisiICAgIHtcbiIKKyIgICAgfVxu
IgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChlbGVtc19hbGxfdGFnLCBVLi4uIGVsZW1zKSBjb25zdGFudFxuIgorIiAgICAg
ICAgOiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRlbXBsYXRl
IDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXpl
cl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxu
IgorIiAgICAgICAgOiBjb2x1bW5ze2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1zLCBfbWFrZV9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgor
IiAgICBwdWJsaWM6XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSB0aHJlYWQgPSBkZWZhdWx0
O1xuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+
PiBjb2xzKSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbHNfaW5pdF90YWcoKSwg
Y29scywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIK
KyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5l
IGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xN
YXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4oVSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBl
bGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAg
aW5saW5lIFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdT
TE1hdHJpeChpbml0aWFsaXplcl9saXN0PHZlYzxULCBSb3dzPj4gY29scykgY29uc3RhbnRcbiIK
KyIgICAgICAgIDogV1NMTWF0cml4KGNvbHNfaW5pdF90YWcoKSwgY29scywgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBp
bmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KFQgdmFsKSBjb25zdGFudFxuIgorIiAgICAgICAgOiBX
U0xNYXRyaXgodmFsLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIg
ICAge1xuIgorIiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KFUuLi4gdmFscykgY29uc3RhbnRcbiIKKyIgICAg
ICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09IENvbHMsIGNvbHNf
YWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAge1xuIgorIiAgICB9
XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdT
TE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1h
dHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAg
e1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1h
dHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29u
c3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAg
ICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4o
KSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3Qg
Y29uc3RhbnQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWQgPSBkZWZhdWx0
O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQp
IHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1
ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUg
V1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhh
dCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4
PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRo
YXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFQs
IENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAg
ICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlc
biIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgZGV2
aWNlIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xu
IgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdT
TE1hdHJpeChjb25zdCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25z
dGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NM
TWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29u
c3RhbnQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAg
aW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VSwgQ29s
cywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9
XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFQs
IENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIg
ICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xz
PigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxp
bmUgdGhyZWFkIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisiICAg
IHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlu
bGluZSBkZXZpY2UgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBkZXZpY2VcbiIKKyIg
ICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAg
aW5saW5lIHRocmVhZGdyb3VwIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFk
Z3JvdXBcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIGNvbnN0IHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIGNvbnN0IHRocmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1u
c1tyXTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgZGV2aWNlIHZlYzxULCBSb3dz
PiAmb3BlcmF0b3JbXShpbnQgcikgY29uc3QgZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAg
IHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCBjb25z
dGFudCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGNvbnN0YW50XG4iCisi
ICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAg
IGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIp
IGNvbnN0IHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5z
W3JdO1xuIgorIiAgICB9XG4iCisifTtcbiIKKworCiAgICAgfTsKKwogfQogCiBzdGF0aWMgdm9p
ZCBkdW1wTWV0YWxDb2RlSWZOZWVkZWQoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlcikKQEAg
LTY3LDcgKzIzMSw3IEBAIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5lZWRlZChTdHJpbmcK
IFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRj
aGVkUmVuZGVyU2VtYW50aWNzJiYgbWF0Y2hlZFNlbWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7
CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWlsZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENv
ZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1lciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAg
dHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmluZ0J1aWxkZXIpOwpAQCAtODIsNyArMjQ2LDcg
QEAgUmVuZGVyTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYQogQ29tcHV0ZU1ldGFs
Q29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRjaGVkQ29tcHV0ZVNl
bWFudGljcyYmIG1hdGNoZWRTZW1hbnRpY3MsIExheW91dCYgbGF5b3V0KQogewogICAgIFN0cmlu
Z0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENv
ZGVQcm9sb2coKSk7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9ndWUo
KSk7CiAKICAgICBUeXBlTmFtZXIgdHlwZU5hbWVyKHByb2dyYW0pOwogICAgIHR5cGVOYW1lci5l
bWl0TWV0YWxUeXBlcyhzdHJpbmdCdWlsZGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNM
TmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBzdGF0aWMgaW50IHZlY3Rvckxl
bmd0aChBU1Q6Ok5hdGl2ZVR5cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAorLyoK
IHN0YXRpYyBBU1Q6Ok5hbWVkVHlwZSYgdmVjdG9ySW5uZXJUeXBlKEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uJiBuYXRpdmVUeXBlRGVjbGFyYXRpb24pCiB7CiAgICAgaWYgKG5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuaXNFbXB0eSgpKQpAQCAtMTE5LDggKzEyMCw5IEBA
IHN0YXRpYyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3QKICAgICAgICAgcmV0dXJu
ICI0IjsKICAgICB9CiB9CisqLwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1
aWxkZXImIHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBj
b25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJp
bnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJs
ZU5hbWUoKT4mJiBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVu
dCkKK3ZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRl
ciwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIE1hbmdsZWRWYXJp
YWJsZU5hbWUgcmVzdWx0TmFtZSwgSW50cmluc2ljcyYgLyppbnRyaW5zaWNzKi8sIFR5cGVOYW1l
ciYgdHlwZU5hbWVyLCBJbmRlbnRhdGlvbjw0PikKIHsKICAgICBhdXRvIGFzTWF0cml4VHlwZSA9
IFsmXSAoQVNUOjpVbm5hbWVkVHlwZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uKiB7CiAgICAgICAgIGF1dG8mIHJlYWxUeXBlID0gdW5uYW1lZFR5cGUudW5pZnlO
b2RlKCk7CkBAIC0xMzksNTEgKzE0MSw1NCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0
cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlTmFtZSA9IHR5cGVOYW1l
ci5tYW5nbGVkTmFtZUZvclR5cGUocmV0dXJuVHlwZSk7CiAKICAgICAgICAgaWYgKCFuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpIHsKLSAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHsgfTtcbiIpOworICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgIiB7IH0i
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgewogICAgICAgICAg
ICAgYXV0byYgcGFyYW1ldGVyVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKVswXS0+dHlwZSgpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlclR5cGVO
YW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJUeXBlKTsKKyAgICAg
ICAgICAgIC8vYXV0byBtZXRhbFBhcmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWRO
YW1lRm9yVHlwZShwYXJhbWV0ZXJUeXBlKTsKIAogICAgICAgICAgICAgYXV0byBpc0VudW1lcmF0
aW9uRGVmaW5pdGlvbiA9IFtdIChhdXRvJiB0eXBlKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGlzPEFTVDo6TmFtZWRUeXBlPih0eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlv
bj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHR5cGUpKTsKICAgICAgICAgICAgIH07CiAgICAg
ICAgICAgICBhdXRvJiB1bmlmaWVkUmV0dXJuVHlwZSA9IHJldHVyblR5cGUudW5pZnlOb2RlKCk7
CiAgICAgICAgICAgICBpZiAoaXNFbnVtZXJhdGlvbkRlZmluaXRpb24odW5pZmllZFJldHVyblR5
cGUpICYmICFpc0VudW1lcmF0aW9uRGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBlLnVuaWZ5Tm9kZSgp
KSkgewotICAgICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lKCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCBtZXRhbFBhcmFtZXRlclR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICI7XG4iKTsKICAgICAgICAgICAgICAgICBhdXRvJiBlbnVtZXJhdGlvbkRlZmluaXRpb24g
PSBkb3duY2FzdDxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1l
ZFR5cGU+KHVuaWZpZWRSZXR1cm5UeXBlKSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAic3dpdGNoICgiLCB2YXJpYWJsZU5hbWUsICIpIHtcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0
Y2hTY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBib29sIGhhc1plcm9DYXNlID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbWVtYmVyIDogZW51bWVyYXRp
b25EZWZpbml0aW9uLmVudW1lcmF0aW9uTWVtYmVycygpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBoYXNaZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJjYXNlICIsIG1lbWJlci5nZXQoKS52YWx1ZSgpLCAiOlxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9D
YXNlLCBoYXNaZXJvQ2FzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZGVmYXVsdDpcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgdmFyaWFibGVOYW1lLCAiID0gMDtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+
KCgiKTsKKyAgICAgICAgICAgICAgICBib29sIGxvb3BlZE9uY2UgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChh
dXRvJiBtZW1iZXIgOiBlbnVtZXJhdGlvbkRlZmluaXRpb24uZW51bWVyYXRpb25NZW1iZXJzKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxvb3BlZE9uY2UpCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOworICAgICAgICAgICAgICAgICAg
ICBoYXNaZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7CisgICAgICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMF0sICIgPT0gIiwgbWVtYmVyLmdldCgpLnZh
bHVlKCkpOworICAgICAgICAgICAgICAgICAgICBsb29wZWRPbmNlID0gdHJ1ZTsKICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwg
dmFyaWFibGVOYW1lLCAiKTtcbiIpOworICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFz
WmVyb0Nhc2UsIGhhc1plcm9DYXNlKTsKKworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpID8gIiwgYXJnc1swXSwgIiA6IDApIik7CiAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIg
PSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKTtc
biIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwi
LCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKSIpOwogCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFz
TWF0cml4VHlwZShyZXR1cm5UeXBlKSkgeworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJncy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisKKyAgICAgICAgICAgIC8vIE9PUFM6
IHRlc3QgdGhpcworCisgICAgICAgICAgICAvKgogICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93
cyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbnVtQ29sdW1ucyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOwogICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MgKiBudW1Db2x1bW5zKTsKLQogICAgICAgICAgICAg
YXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKIAogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFJldHVyblR5cGVOYW1lLCAn
ICcsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOwpAQCAtMjA3LDI2NSArMjEyLDM3IEBAIHZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgdmFy
aWFibGVOYW1lLCAiO1xuIik7CisgICAgICAgICAgICAqLwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gIiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIigiKTsKKyAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBpZiAoaSkK
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICB9Ci0gICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBB
dXRob3JzIGNhbiBtYWtlIGEgc3RydWN0IGZpZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dl
bmVyYXRlZCBnZXR0ZXJzIGZvciB0aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgot
ICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVu
Z3RoIikgewotICAgICAgICBBU1NFUlRfVU5VU0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCksIGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAg
ICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDEpOwotICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1
dG8mIHVubmFtZWRQYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFy
YW1ldGVyVHlwZSk7Ci0gICAgICAgIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFt
ZXRlclR5cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3du
Y2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gIiwgYXJyYXlQYXJhbWV0ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiLmxlbmd0aDtcbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yLiJfc3Ry
KSkgewotICAgICAgICBhdXRvIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUgPSBbJl0gKGNvbnN0IFN0
cmluZyYgZmllbGROYW1lKSB7Ci0gICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsK
LSAgICAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1
bmlmeU5vZGUpOwotICAgICAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4o
bmFtZWRUeXBlKSkgewotICAgICAgICAgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24g
PSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAg
ICAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmlu
ZChmaWVsZE5hbWUpOwotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsK
LSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJUKGlzPEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgaWYgKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLmVuZHNXaXRoKCI9IikpIHsKLSAgICAgICAgICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7
Ci0gICAgICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
bmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIubGVuZ3RoKCkpOwotICAgICAgICAgICAg
ZmllbGROYW1lID0gZmllbGROYW1lLnN1YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAx
KTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAg
ICAgaW5kZW50LCByZXR1cm5OYW1lLCAnLicpOwotICAgICAgICAgICAgYXBwZW5kTWFuZ2xlZEZp
ZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9
ICIsIGFyZ3NbMV0sICI7XG4iKTsKLQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0K
LSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKSA9PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSAiLCBhcmdzWzBdLCAnLicpOwotICAgICAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZp
ZWxkTmFtZSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUo
KS5zdGFydHNXaXRoKCJvcGVyYXRvciYuIl9zdHIpKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1
dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5n
KCJvcGVyYXRvciYuIl9zdHIubGVuZ3RoKCkpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/
ICYoIiwgYXJnc1swXSwgIi0+Iik7Ci0KLSAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSAqbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAg
YXV0byYgdW5pZnlOb2RlID0gZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUp
LmVsZW1lbnRUeXBlKCkudW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRv
d25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICBpZiAoaXM8QVNUOjpT
dHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBzdHJ1
Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1l
ZFR5cGUpOwotICAgICAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURl
ZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVs
ZW1lbnQpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0KLSAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiBudWxscHRyO1xuIik7Ci0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUo
KSA9PSAib3BlcmF0b3ImW10iKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6
OkFycmF5UmVmZXJlbmNlVHlwZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKTsKLQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICgiLCBhcmdzWzFdLCAiIDwgIiwgYXJnc1sw
XSwgIi5sZW5ndGgpID8gIiwgIiAmKCIsIGFyZ3NbMF0sICIucG9pbnRlclsiLCBhcmdzWzFdLCAi
XSkgOiBudWxscHRyO1xuIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGF1dG8gdmVjdG9yU2l6ZSA9IFsmXSAoKSAtPiB1bnNpZ25lZCB7Ci0gICAgICAgIGF1
dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0
byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3du
Y2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5
cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAg
ICAgICBBU1NFUlQodmVjdG9yVHlwZS5uYW1lKCkgPT0gInZlY3RvciIpOwotICAgICAgICBBU1NF
UlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICByZXR1
cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3Vt
ZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7Ci0gICAgfTsKLQotICAgIGF1dG8g
Z2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgewot
ICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
PigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0g
ICAgICAgIGF1dG8mIHJlc3VsdCA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
Pihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRp
b24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkp
OwotICAgICAgICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOwotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIH07Ci0KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkg
PT0gIm9wZXJhdG9yW10iKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVu
Y2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1
bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJl
bmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRz
KCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAg
ICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25l
ZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVt
YmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFs
UmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5O
YW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAicmVzdWx0WzBdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiXTtcbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdb
JywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cywgIl07XG4iKTsKLQotICAgICAgICAgICAg
ICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzJdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdz
WzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICBp
ZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFszXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwg
IiArICIsIG51bWJlck9mUm93cyAqIDMsICJdO1xuIik7Ci0gICAgCi0gICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGls
ZSAoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50
cyA9IHZlY3RvclNpemUoKTsKLQotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlw
ZSgpKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1FbGVt
ZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVy
bk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBd
LCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1
cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9Ci0K
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVu
Y2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1
bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJl
bmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRz
KCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAg
ICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
OwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCku
bnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVt
bnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sx
XSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51bWJl
ck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJl
dHVybk5hbWUsICIgPSBtO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1sy
XSwgIlsxXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykK
LSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsg
IiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0gICAgICAg
ICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAi
XSA9ICIsIGFyZ3NbMl0sICJbM107XG4iKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBtO1xuIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0g
d2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0KLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAg
ICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVu
c2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRh
bFJldHVybk5hbWUsICIgdiA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikg
e1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIg
PSB2O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAidltpXSA9ICIsIGFyZ3NbMl0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSB2O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0K
LQorICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7
CiAgICAgICAgIGF1dG8gb3BlcmF0b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5u
YW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBt
ZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKwogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKKyAgICAgICAgICAgIC8vIFRoaXMg
aXMgb2sgdG8gZG8gc2luY2UgdGhlIGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBhcmUgYWxsIHRlbXBz
LgorICAgICAgICAgICAgLy8gU28gdGhpbmdzIGxpa2UgKysgYW5kIC0tIGFyZSBvayB0byBkby4K
KwogICAgICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsg
KytpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwg
b3BlcmF0b3JOYW1lLCAieFtpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0
cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHRO
YW1lLCAnWycsIGksICJdID0gIiwgb3BlcmF0b3JOYW1lLCBhcmdzWzBdLCAnWycsIGksICddJyk7
CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRv
ck5hbWUsICJ4O1xuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CisgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChvcGVy
YXRvck5hbWUsIGFyZ3NbMF0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAg
LTQ3Myw0OSArMjUwLDQwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgaWYgKGF1dG8qIGxlZnRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAg
ICBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICAgICAgLy8g
bWF0cml4IDxvcD4gbWF0cml4Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJ
bmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJl
dHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFt
ZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZWZ0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3Vs
dE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFt
ZSwgJyAnLCBhcmdzWzFdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IHNjYWxhcgot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4
LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4
W2ldID0gIiwgYXJnc1swXSwgIltpXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIjtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xu
Iik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRy
aXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwg
YXJnc1swXSwgJ1snLCBpLCAiXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSk7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJl
c3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byog
cmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzFdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIWFzTWF0cml4VHlw
ZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwog
ICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4gbWF0cml4Ci0gICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5U
eXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0s
ICJbaV07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4
O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJpZ2h0TWF0cml4LT5udW1iZXJPZk1hdHJpeENv
bHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnICcsIG9w
ZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiBzY2FsYXIKICAgICAgICAgICAg
IC8vIHZlY3RvciA8b3A+IHZlY3RvcgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gc2NhbGFy
CiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiB2ZWN0b3IKICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKKyAgICAg
ICAgICAgICAgICAnKCcsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0s
ICcpJyk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm47CkBAIC01NDgsNzUgKzMxNiw4MCBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7
CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1
cm5OYW1lLCAiID0gIiwgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
bmFtZSgpKSwgJygnLCBhcmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25O
YW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpID09ICJwb3ciIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJhdGFuMiIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKSwgIigiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOwor
ICAgICAgICAgICAgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1sw
XSwgIiwgIiwgYXJnc1sxXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
IChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAg
IEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
Myk7Ci0gICAgICAgIGlmIChhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4i
KTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3Bl
KGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kp
IFxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBh
cmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAiW2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIs
ICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIpO1xuIik7Ci0gICAgICAgIH0KKworICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAnKScpOworCisgICAgICAgIC8vaWYgKGFzTWF0
cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgLy8g
ICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKyAgICAgICAgLy8gICAgCisgICAgICAg
IC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOworICAgICAgICAvLyAg
ICB7CisgICAgICAgIC8vICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Cisg
ICAgICAgIC8vICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKKyAgICAgICAgLy8gICAgICAg
ICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwK
KyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9IGNsYW1wKCIsIGFyZ3Nb
MF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIsIGFyZ3NbMl0sICJbaV0pOyIsCisgICAgICAg
IC8vICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAv
LyAgICB9CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIp
OworICAgICAgICAvL30gZWxzZSB7CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAorICAgICAgICAvLyAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwgYXJn
c1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIik7XG4iKTsKKyAgICAgICAgLy99
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkgPT0gIkFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAg
ICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7
CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIiwKLSAgICAgICAgICAg
IGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXAp
O1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdz
OjptZW1fdGV4dHVyZSk7XG4iKTsKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1l
bV9mbGFnczo6bWVtX2RldmljZSkiLAorICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIo
bWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIiwKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9i
YXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkRldmljZU1l
bW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1f
ZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIik7CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmll
cihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdyb3VwTWVtb3J5QmFy
cmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6
bWVtX3RocmVhZGdyb3VwKTtcbiIpOworICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIo
bWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgiSW50
ZXJsb2NrZWQiX3N0cikpIHsKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
bmFtZSgpID09ICJJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSIpIHsKICAgICAgICAgICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gNCk7
CisgICAgICAgICAgICAvLyBPT1BTOiBQb2ludGVycz8gSXMgdGhpcyBldmVuIHBvc3NpYmxlPwog
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50
LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAm
IiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9y
eV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAnKicsIGFyZ3Nb
M10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAgICAgICAgIihhdG9taWNfY29t
cGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICYiLCBhcmdzWzFdLCAi
LCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwgbWVtb3J5X29yZGVyX3JlbGF4
ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywgYXJnc1szXSwgIiA9ICIsIGFyZ3NbMV0sICcp
Jyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlQobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwogICAgICAg
ICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
LnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5sZW5ndGgoKSkpOwogICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzJdLCAiID0gYXRv
bWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVt
b3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAnKicsIGFyZ3NbMl0sICIgPSBh
dG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBt
ZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjMw
LDcgKzQwMyw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAg
ICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7
CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsKKyAg
ICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIsIGFyZ3NbMV0sICIsICIpOwogCiAgICAgICAg
IGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CiAgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAgLTY0MiwxNCArNDE1LDE2IEBAIHZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQog
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi4iLCAieHl6dyJfc3RyLnN1YnN0cmlu
ZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8v
IE9PUFMKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgCisg
ICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAg
ICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gbG9j
YXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsKQEAgLTcxNyw2
ICs0OTIsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAgICAgIH0KICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOworICAgICAgICAq
LwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MjQsMTggKzUwMCwyMSBAQCB2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJsb2FkIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGF0
b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtc
biIpOworICAgICAgICAgICAgImF0b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1l
bW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYg
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJzdG9yZSIpIHsKICAgICAgICAg
QVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAy
KTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJh
dG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5
X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRvbWljX3N0b3JlX2V4cGxpY2l0
KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJHZXREaW1lbnNpb25zIikgeworICAgICAgICAvLyBPT1BTOiBXZSBkb24n
dCBoYXZlIHBvaW50ZXJzLCB3aGF0IHRvIGRvIGhlcmU/CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0g
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRU
eXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51
bmlmeU5vZGUoKSkpOwogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IDE7CkBAIC03OTksNiArNTc4
LDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiKVxuIiwKICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpudW1iZXJPZkxldmVsc05hbWUsICIgPSAiLCBh
cmdzWzBdLCAiLmdldF9udW1fbWlwX2xldmVscygpO1xuIik7CiAgICAgICAgIH0KKyAgICAgICAg
Ki8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODM5LDYgKzYxOSwxMCBAQCB2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAKICAgICBpZiAobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIlN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOworICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgICAgIC8vIE9PUFMKKyAgICAgICAg
LyoKICAgICAgICAgCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwog
ICAgICAgICBhdXRvJiBpdGVtVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKQEAgLTg5Niw2ICs2ODAsNyBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgKi8KIAogICAg
ICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rp
b25Xcml0ZXIuaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBNZXRhbCB7CiAKIGNsYXNzIFR5cGVOYW1l
cjsKIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBj
b25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMsIEludHJpbnNp
Y3MmLCBUeXBlTmFtZXImLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiwg
SW5kZW50YXRpb248ND4pOwordm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVy
JiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgY29uc3QgVmVjdG9yPE1hbmdsZWRW
YXJpYWJsZU5hbWU+JiBhcmd1bWVudE5hbWVzLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5h
bWUsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBJbmRlbnRhdGlvbjw0Pik7CiAKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVU
eXBlV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2
ZVR5cGVXcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsMTggKzEwMywxMSBAQCBTdHJp
bmcgd3JpdGVOYXRpdmVUeXBlKEFTVDo6TmF0aXZlVHlwZURlCiAgICAgICAgICAgICByZXR1cm4g
ImZsb2F0IjsKICAgICAgICAgfSkoKTsKIAotICAgICAgICBBU1NFUlQoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5
cGVBcmd1bWVudHMoKVsxXSkpOwotICAgICAgICBhdXRvJiBjb25zdGFudEV4cHJlc3Npb24xID0g
V1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50
eXBlQXJndW1lbnRzKClbMV0pOwotICAgICAgICBhdXRvJiBpbnRlZ2VyTGl0ZXJhbDEgPSBjb25z
dGFudEV4cHJlc3Npb24xLmludGVnZXJMaXRlcmFsKCk7Ci0gICAgICAgIHVuc2lnbmVkIHJvd3Mg
PSBpbnRlZ2VyTGl0ZXJhbDEudmFsdWUoKTsKLSAgICAgICAgQVNTRVJUKHJvd3MgPT0gMiB8fCBy
b3dzID09IDMgfHwgcm93cyA9PSA0KTsKLQotICAgICAgICBBU1NFUlQoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5
cGVBcmd1bWVudHMoKVsyXSkpOwotICAgICAgICBhdXRvJiBjb25zdGFudEV4cHJlc3Npb24yID0g
V1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50
eXBlQXJndW1lbnRzKClbMl0pOwotICAgICAgICBhdXRvJiBpbnRlZ2VyTGl0ZXJhbDIgPSBjb25z
dGFudEV4cHJlc3Npb24yLmludGVnZXJMaXRlcmFsKCk7Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVt
bnMgPSBpbnRlZ2VyTGl0ZXJhbDIudmFsdWUoKTsKLSAgICAgICAgQVNTRVJUKGNvbHVtbnMgPT0g
MiB8fCBjb2x1bW5zID09IDMgfHwgY29sdW1ucyA9PSA0KTsKLSAgICAgICAgcmV0dXJuIG1ha2VT
dHJpbmcoImFycmF5PCIsIHByZWZpeCwgIiwgIiwgY29sdW1ucyAqIHJvd3MsICI+Iik7CisgICAg
ICAgIC8vUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgLy8gT09QUzogbWFr
ZSBNU0wgbWF0cml4IG5vdworICAgICAgICAvLyBPT1BTOiB0aGV5J3JlIHN0YXRpYyBhc3NlcnRp
bmcgbWF0cmljZXMgdXNlIGZsb2F0aW5nIHBvaW50IG51bXMuIFdURiEKKyAgICAgICAgcmV0dXJu
IG1ha2VTdHJpbmcoIldTTE1hdHJpeDwiLCBwcmVmaXgsICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJh
dGlvbi5udW1iZXJPZk1hdHJpeENvbHVtbnMoKSwgIiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9u
Lm51bWJlck9mTWF0cml4Um93cygpLCAiPiIpOworICAgICAgICAvL3JldHVybiBtYWtlU3RyaW5n
KCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOwogICAgIH0KICAg
ICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0g
MSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJlZmVy
ZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDI0ODk0MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODMxMCw2ICs4MzEwLDcgQEAKIAkJNTFG
QjY3REExQUU2QjVFNDAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMxRTVBMUM0RjE1NjEwMDMzRjgw
MiAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTU4NjJDMjI5Mzc3QjcwMDU5MjVFRiAvKiBXSExT
TEFTVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFTVC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3BhY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0hMU0xOYW1lU3BhY2UuaDsgcGF0aCA9IEFTVC9XSExTTE5hbWVTcGFjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJCQUI5NjIyRTZBMzYyMDBDNTRDRTkg
LyogV0hMU0xDb2RlTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xDb2RlTG9jYXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyRDA3QTMyMkZCQUI0MzAwQjkwNUJF
IC8qIFdITFNMRXhwcmVzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTEV4cHJlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJEQTNEMzIyOUUxRDM5MDA0
MkQxNTEgLyogV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
SExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yNTUzMiw2ICsyNTUzMyw3IEBACiAJCQkJQzIxMEU5MTIyMUI0QkQxMDAwQjdGODNEIC8q
IFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJFQzIxRUVENkY2MDBBMTE4NjAgLyogV0hMU0xM
aXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJCTFDQTBDMkVBMjFFRUQ2RjUwMEExMTg2MCAv
KiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAorCQkJCTUyMjU2Q0FBMjMwRjE0QUQwMDQz
RTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAogCQkJCUMyMzRBOThEMjFFODg4ODQwMDNDOTg0
RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0QTk4RTIxRTg4ODg1MDAzQzk4
NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRBOThBMjFFODg4M0UwMDNDOTg0
RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVsaW5lTWV0YWwubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNv
bXB1dGVQaXBlbGluZU1ldGFsLm1tCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVsaW5lTWV0YWwubW0J
KHdvcmtpbmcgY29weSkKQEAgLTkzLDEwICs5MywxMCBAQCBzdGF0aWMgT3B0aW9uYWw8V0hMU0w6
OkNvbXB1dGVEaW1lbnNpb25zCiAgICAgICAgIGlmIChXSExTTDo6ZHVtcE1ldGFsQ29tcGlsZVRp
bWVzKQogICAgICAgICAgICAgZGF0YUxvZ0xuKCJNZXRhbCBjb21waWxlIHRpbWVzOiAiLCAoTW9u
b3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWUpLm1pbGxpc2Vjb25kcygpLCAiIG1zIik7CiAg
ICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jaWZuZGVmIE5ERUJVRworLy8jaWZu
ZGVmIE5ERUJVRwogICAgICAgICBpZiAoIWNvbXB1dGVMaWJyYXJ5KQogICAgICAgICAgICAgTlNM
b2coQCIlQCIsIGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAgICAgICAgQVNTRVJUKGNvbXB1
dGVMaWJyYXJ5KTsKICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTU3NzEgT25jZSB3ZSB6ZXJvLWZpbGwgdmFyaWFibGVzLCB0aGVyZSBz
aG91bGQgYmUgbm8gd2FybmluZ3MsIHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIEFTU0VSVCghZXJy
b3IpIGhlcmUuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9j
b2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1t
CShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQkod29ya2luZyBjb3B5KQpAQCAtNDA5
LDkgKzQwOSw5IEBAIHN0YXRpYyBib29sIHRyeVNldEZ1bmN0aW9ucyhjb25zdCBHUFVQaXAKIAog
ICAgICAgICBpZiAoIXZlcnRleExpYnJhcnkgJiYgZXJyb3IpIHsKICAgICAgICAgICAgIGVycm9y
U2NvcGVzLmdlbmVyYXRlUHJlZml4ZWRFcnJvcihlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbi5V
VEY4U3RyaW5nKTsKLSNpZm5kZWYgTkRFQlVHCisvLyNpZm5kZWYgTkRFQlVHCiAgICAgICAgICAg
ICBOU0xvZyhAIiVAIiwgZXJyb3IpOwotI2VuZGlmCisvLyNlbmRpZgogICAgICAgICB9CiAKICAg
ICAgICAgQVNTRVJUKHZlcnRleExpYnJhcnkpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRvZXNudFJldHVyblBvaW50ZXIg
Ci1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRlckRvZXNudFJl
dHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSAKLVBBU1MgYW5kZXJX
aXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9uZyAKLVBBU1MgYW5kZXJXaXRo
V3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9i
YWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVmaXgvcG9zdGZpeC48L3RpdGxl
PgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNv
bnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9lc250UmV0dXJu
UG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBg
Ci0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVp
bnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+eDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlckRvZXNudFRh
a2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAg
ICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXShGb28gZm9v
LCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLng7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250UmV0
dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAg
IGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9v
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28tPng7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250VGFrZVJlZmVy
ZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0g
ICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oRm9vIGZvbykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby54OwotICAgICAgICAgICAg
fQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldpdGhCYWRJbmRleCA9IGFzeW5j
ICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7
IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVh
ZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChg
aW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJuIHhbeV07IH1gKTsKLQotICAg
IGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgZmxvYXQgeSkgeyByZXR1
cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aE5vdGhpbmdXcm9uZyA9IGFz
eW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewot
ICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0
b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAm
Zm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAgICAgICAgICAgcmV0dXJuIHgu
Zm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJX
aXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVj
a0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28o
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAg
IHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0KLSAgICBhd2FpdCBjaGVj
a0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAg
ICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0
b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0K
LQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbAkocmV2aXNpb24g
MjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTUsMjIgKzE1LDE3IEBAIHdobHNsVGVzdHMuaW5jcmVtZW50
U2V0dGVyID0gYXN5bmMgKCkgPT4KICAgICBsZXQgcHJvZ3JhbSA9IGAKICAgICAgICAgc3RydWN0
IEZvbyB7CiAgICAgICAgICAgICBpbnQgejsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0
b3IudyhGb28gZm9vKSB7Ci0gICAgICAgICAgICByZXR1cm4gODsKLSAgICAgICAgfQotICAgICAg
ICBGb28gb3BlcmF0b3Iudz0oRm9vIGZvbywgaW50IHZhbHVlKSB7Ci0gICAgICAgICAgICBmb28u
eiA9IHZhbHVlOwotICAgICAgICAgICAgcmV0dXJuIGZvbzsKKyAgICAgICAgICAgIGludCB3Owog
ICAgICAgICB9CiAgICAgICAgIGludCBiYXIoKSB7CiAgICAgICAgICAgICBGb28gZm9vOwogICAg
ICAgICAgICAgZm9vLnogPSAzOworICAgICAgICAgICAgZm9vLncgPSAxOwogICAgICAgICAgICAg
aW50IHZhbHVlID0gZm9vLncrKzsKICAgICAgICAgICAgIHJldHVybiB2YWx1ZSoxMDAgKyBmb28u
eioxMCArIGZvby53OwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA4OTgpOworICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDEwMCArIDMw
ICsgMik7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg5
NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlcldpdGhOb3Ro
aW5nV3JvbmcgCi1QQVNTIGluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLmh0bWwJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsNjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
LTx0aXRsZT5UZXN0IHN0cnVjdHMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNs
VGVzdHMuaW5kZXhBbmRlcldpdGhOb3RoaW5nV3JvbmcgPSBhc3luYyAoKSA9PgotewotICAgIGxl
dCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4Owot
ICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZv
bywgdWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAg
IH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyB4OwotICAg
ICAgICAgICAgeC54ID0gMTM7Ci0gICAgICAgICAgICByZXR1cm4geFs2NjZdOwotICAgICAgICB9
Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlcldpdGhXcm9uZ051
bWJlck9mQXJndW1lbnRzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0g
ICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgICAgICByZXR1cm4gJng7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLSAgICBhd2FpdCBjaGVja0Zh
aWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAg
IGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3Im
W10odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVy
biAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAg
ICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQq
IG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCwgdWludCkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
YCk7Ci19Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1n
ZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpA
QCAtMSw3ICswLDAgQEAKLQotUEFTUyBpbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkIAot
UEFTUyBpbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkRml4ZWQgCi1QQVNTIG5vdExvbmVJ
bmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyIAotUEFTUyBsb25lSW5kZXhTZXR0ZXJQ
b2ludGVyIAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdl
dHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1z
ZXR0ZXItZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDUg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHN0cnVjdHMu
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRo
Tm9HZXR0ZXJPdmVybG9hZCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAot
ICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsgfQotICAgICAgICAgICAgc3RydWN0
IEJhciB7IH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvcltdKEZvbywgdWludCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gNTM0OwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJldHVybiBCYXIoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0g
ICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5pbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2Fk
Rml4ZWQgPSBhc3luYyAoKSA9PgotewotICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0
cnVjdCBCYXIgeyB9Ci0gICAgICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkKLSAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAgICAgfQotICAgICAgICBCYXIgb3BlcmF0
b3JbXT0oQmFyLCB1aW50LCBpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBCYXIo
KTsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgeyByZXR1cm4gQmFyKClbMF07IH0KLSAg
ICAgICAgaW50IGJhcigpIHsKLSAgICAgICAgICAgIEJhciBiOwotICAgICAgICAgICAgYlswXSA9
IDQwMDsKLSAgICAgICAgICAgIHJldHVybiBiWzBdOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA1
MzQpOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJi
YXIiLCBbXSksIDUzNCk7Ci19OwotCi13aGxzbFRlc3RzLm5vdExvbmVJbmRleFNldHRlciA9IGFz
eW5jICgpID0+Ci17Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAgICAgICAgaW50IG9wZXJhdG9y
W10oaW50LCB1aW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gNjU7Ci0gICAgICAg
IH0KLSAgICAgICAgaW50IG9wZXJhdG9yW109KGludCwgdWludCwgaW50KQotICAgICAgICB7Ci0g
ICAgICAgICAgICByZXR1cm4gNTQzOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKSB7Ci0g
ICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIHJldHVybiB4WzBdOwotICAgICAgICB9Ci0g
ICAgICAgIGludCBiYXIoKSB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIHhbMF0g
PSA0MjsKLSAgICAgICAgICAgIHJldHVybiB4OwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA2NSk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIs
IFtdKSwgNTQzKTsKLX07Ci0KLXdobHNsVGVzdHMubG9uZUluZGV4U2V0dGVyID0gYXN5bmMgKCkg
PT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIGludCBv
cGVyYXRvcltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gNTQzOwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi19Owot
Ci13aGxzbFRlc3RzLmxvbmVJbmRleFNldHRlclBvaW50ZXIgPSBhc3luYyAoKSA9PgotewotICAg
IGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgdGhyZWFkIGludCogb3Bl
cmF0b3JbXT0odGhyZWFkIGludCogcHRyLCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHB0cjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAg
ICAgIAotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91
dC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0
cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNjAsMjAgKzYwLDIwIEBA
IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgIGNvbnN0IGJ1ZmZlckFycmF5QnVm
ZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKICAgICBjb25zdCBidWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlckFycmF5QnVmZmVyKTsKICAgICBidWZm
ZXJGbG9hdDMyQXJyYXlbMF0gPSAwOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDQ7Ci0g
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0gODsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAxOworICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVsxXSA9IDE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMjsKKyAgICBidWZmZXJG
bG9hdDMyQXJyYXlbM10gPSAzOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IDQ7CiAgICAg
YnVmZmVyRmxvYXQzMkFycmF5WzVdID0gNTsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA5
OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDEzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVs4XSA9IDI7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzldID0gNjsKKyAgICBidWZmZXJGbG9h
dDMyQXJyYXlbNl0gPSA2OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDc7CisgICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzhdID0gODsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA5Owog
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxMDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDM7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDExOworICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJd
ID0gMTI7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDEzOworICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVsxNF0gPSAxNDsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTU7CiAgICAg
YnVmZmVyLnVubWFwKCk7CiAKQEAgLTk4LDIzICs5OCwyMyBAQCBhc3luYyBmdW5jdGlvbiBzdGFy
dChkZXZpY2UpIHsKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCByZXN1bHRz
QnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7CiAgICAgaWYgKHJlc3VsdHNGbG9h
dDMyQXJyYXlbMF0gPT09IDEKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PT0g
NQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09PSA5Ci0gICAgICAgICYmIHJl
c3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbMV0gPT09IDIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsyXSA9PT0gMworICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09PSA0CiAKLSAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVs0XSA9PT0gMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzRd
ID09PSA1CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNV0gPT09IDYKLSAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0gMTAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVs3XSA9PT0gMTQKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0g
NworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzddID09PSA4CiAKLSAgICAgICAgJiYg
cmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9PT0gMwotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzldID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbOF0gPT09IDkKKyAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs5XSA9PT0gMTAKICAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVsxMF0gPT09IDExCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
MTFdID09PSAxNQorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzExXSA9PT0gMTIKIAot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEyXSA9PT0gNAotICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzEzXSA9PT0gOAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzE0XSA9PT0gMTIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMl0gPT09IDEzCisg
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09PSAxNAorICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTUKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVsxNV0gPT09IDE2KQogICAgICAgICB0ZXN0UGFzc2VkKCIiKTsKICAgICBlbHNlCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY2LDIy
ICs2NiwyNCBAQCBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbCiAgICAg
aWYgKCFhbGxFcXVhbChmb28sIDQyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm91cnR5VHdv
WzEzMzddID0gNTA7Ci0gICAgZm9vWzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxsRXF1YWwo
Zm9vLCA0MikpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUw
OwotICAgIGZvb1sxXSA9IGZvdXJ0eVR3bzsKLSAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQot
ICAgICAgICByZXR1cm47CisgICAgLy8gT09QUzogd2hhdCBzZW1hbnRpY3MgYXJlIHdlIGNob29z
aW5nPwogCi0gICAgZmxvYXQzIHNob3VsZEJlWmVybyA9IGZvb1sxMDAwMDBdOwotICAgIGlmIChz
aG91bGRCZVplcm8ueCAhPSAwIHx8IHNob3VsZEJlWmVyby55ICE9IDAgfHwgc2hvdWxkQmVaZXJv
LnogIT0gMCkKLSAgICAgICAgcmV0dXJuOworICAgIC8vZm91cnR5VHdvWzEzMzddID0gNTA7Cisg
ICAgLy9mb29bMV0gPSBmb3VydHlUd287CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQor
ICAgIC8vICAgIHJldHVybjsKKworICAgIC8vZm91cnR5VHdvWzEwMDAwMDBdID0gNTA7CisgICAg
Ly9mb29bMV0gPSBmb3VydHlUd287CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQorICAg
IC8vICAgIHJldHVybjsKKworICAgIC8vZmxvYXQzIHNob3VsZEJlWmVybyA9IGZvb1sxMDAwMDBd
OworICAgIC8vaWYgKHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8
fCBzaG91bGRCZVplcm8ueiAhPSAwKQorICAgIC8vICAgIHJldHVybjsKIAotICAgIGlmIChmb3Vy
dHlUd29bMTAwMDAwMDBdICE9IDApCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmIChmb3VydHlU
d29bMTAwMDAwMDBdICE9IDApCisgICAgLy8gICAgcmV0dXJuOwogCiAgICAgYnVmZmVyW3VpbnQo
dGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwogfQpAQCAtMTQ1
LDcgKzE0Nyw3IEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzddID09IDgpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAg
IGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7CisgICAgICAgIHRlc3RGYWlsZWQoIm5vdCBj
b3JyZWN0Iik7CiAgICAgcmVzdWx0c0J1ZmZlci51bm1hcCgpOwogfQogd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZl
cmVuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1QQVNTIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWRlcmVmZXJlbmNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL251bGwtZGVyZWZlcmVuY2UuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXR5cGVkZWYgRm9vID0gdGhyZWFk
IGludCo7Ci1Gb28gZ2V0TnVsbFB0cigpCi17Ci0gICAgcmV0dXJuIG51bGw7Ci19Ci0KLXN0cnVj
dCBYWVogewotICAgIGZsb2F0IHg7Ci0gICAgZmxvYXQgeTsKLSAgICBmbG9hdCB6OwotfQotCi1b
bnVtdGhyZWFkcygyLCAxLCAxKV0KLWNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBm
bG9hdFtdIGJ1ZmZlciA6IHJlZ2lzdGVyKHUwKSwgZmxvYXQzIHRocmVhZElEIDogU1ZfRGlzcGF0
Y2hUaHJlYWRJRCkgewotICAgIEZvbyBwdHIgPSBudWxsOwotICAgICpwdHIgPSA0MjsKLSAgICAq
Z2V0TnVsbFB0cigpID0gNDI7Ci0gICAgaWYgKCpwdHIgPT0gMCkgewotICAgICAgICBpZiAocHRy
ID09IGdldE51bGxQdHIoKSkgewotICAgICAgICAgICAgaWYgKCpnZXROdWxsUHRyKCkgPT0gMCkg
ewotICAgICAgICAgICAgICAgIHRocmVhZCBYWVoqIHh5elB0ciA9IG51bGw7Ci0gICAgICAgICAg
ICAgICAgWFlaIHh5ejsKLSAgICAgICAgICAgICAgICB4eXoueCA9IDE7Ci0gICAgICAgICAgICAg
ICAgeHl6LnkgPSAxOwotICAgICAgICAgICAgICAgIHh5ei56ID0gMTsKLSAgICAgICAgICAgICAg
ICBpZiAoeHl6LnogPT0gMS4wICYmIHh5ei55ID09IDEuMCAmJiB4eXoueiA9PSAxLjApIHsKLSAg
ICAgICAgICAgICAgICAgICAgKnh5elB0ciA9IHh5ejsKLSAgICAgICAgICAgICAgICAgICAgeHl6
ID0gKnh5elB0cjsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHh5ei56ID09IDAuMCAmJiB4eXou
eSA9PSAwLjAgJiYgeHl6LnogPT0gMC4wKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
JipnZXROdWxsUHRyKCkgPT0gbnVsbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICgmKigmKmdldE51bGxQdHIoKSkgPT0gbnVsbCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54
KV0gKiAyLjA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotfQotYDsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3Qg
Y29tcHV0ZVN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiY29tcHV0
ZVNoYWRlciJ9OwotCi0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5k
aW5nczogW3tiaW5kaW5nOiAwLCB2aXNpYmlsaXR5OiA3LCB0eXBlOiAic3RvcmFnZS1idWZmZXIi
fV19OwotICAgIGNvbnN0IGJpbmRHcm91cExheW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBM
YXlvdXQoYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdfTsKLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBl
bGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tcHV0ZVBpcGVsaW5lRGVzY3Jp
cHRvciA9IHtjb21wdXRlU3RhZ2UsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0
IGNvbXB1dGVQaXBlbGluZSA9IGRldmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUoY29tcHV0ZVBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBzaXplID0gRmxvYXQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogODsKLQotICAgIGNvbnN0IGJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZSwg
dXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURSB8IEdQVUJ1ZmZlclVzYWdlLlRSQU5TRkVS
X1NSQ307Ci0gICAgY29uc3QgYnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcihidWZmZXJEZXNj
cmlwdG9yKTsKLSAgICBjb25zdCBidWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IGJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgYnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJB
cnJheShidWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzBdID0gMTsK
LSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAyOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsy
XSA9IDM7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzNdID0gNDsKLSAgICBidWZmZXJGbG9hdDMy
QXJyYXlbNF0gPSA1OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDY7Ci0gICAgYnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gNzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbN10gPSA4OwotICAg
IGJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgcmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IgPSB7
c2l6ZSwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlNUT1JBR0UgfCBHUFVCdWZmZXJVc2FnZS5UUkFO
U0ZFUl9EU1QgfCBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRH07Ci0gICAgY29uc3QgcmVzdWx0c0J1
ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIocmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgYnVmZmVyQmluZGluZyA9IHtidWZmZXI6IHJlc3VsdHNCdWZmZXIsIHNpemV9Owot
ICAgIGNvbnN0IGJpbmRHcm91cEJpbmRpbmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZl
ckJpbmRpbmd9OwotICAgIGNvbnN0IGJpbmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5k
R3JvdXBMYXlvdXQsIGJpbmRpbmdzOiBbYmluZEdyb3VwQmluZGluZ119OwotICAgIGNvbnN0IGJp
bmRHcm91cCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbW1hbmRFbmNvZGVyLmNvcHlCdWZmZXJUb0J1ZmZlcihidWZmZXIsIDAs
IHJlc3VsdHNCdWZmZXIsIDAsIHNpemUpOwotICAgIGNvbnN0IGNvbXB1dGVQYXNzRW5jb2RlciA9
IGNvbW1hbmRFbmNvZGVyLmJlZ2luQ29tcHV0ZVBhc3MoKTsKLSAgICBjb21wdXRlUGFzc0VuY29k
ZXIuc2V0UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIu
c2V0QmluZEdyb3VwKDAsIGJpbmRHcm91cCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLmRpc3Bh
dGNoKDIsIDEsIDEpOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotCi0gICAgY29uc3QgcmVzdWx0c0Fy
cmF5QnVmZmVyID0gYXdhaXQgcmVzdWx0c0J1ZmZlci5tYXBSZWFkQXN5bmMoKTsKLSAgICBjb25z
dCByZXN1bHRzRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1bHRzQXJyYXlCdWZm
ZXIpOwotICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDIKLSAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
Ml0gPT0gNgotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09IDgKLSAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PSA1Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbNV0gPT0gNgotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzZdID09IDcKLSAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PSA4KQotICAgICAgICB0ZXN0UGFzc2Vk
KCIiKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQoIiIpOwotICAgIHJlc3VsdHNCdWZm
ZXIudW5tYXAoKTsKLX0KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewot
ICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7
Ci19LCBmdW5jdGlvbigpIHsKLSAgICB0ZXN0UGFzc2VkKCIiKTsKLSAgICBmaW5pc2hKU1Rlc3Qo
KTsKLX0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWFzc2lnbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwJKHJldmlz
aW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3It
YXNzaWduLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDExICsxNywxMSBAQCB3aGxzbFRlc3Rz
LnZlY3RvckluZGV4QXNzaWduID0gYXN5bmMgKCkgCiAgICAgICAgICAgICBpbnQyIHg7CiAgICAg
ICAgICAgICB4WzBdID0gMjA7CiAgICAgICAgICAgICB4WzFdID0gMTA7Ci0gICAgICAgICAgICB4
WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICByZXR1
cm4geC54IC8geC55ICsgeFs1MDAwXTsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDIpOworICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10p
LCA0MCAvIDEwICsgNDApOwogfTsKIAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAko
cmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZl
Y3Rvci1sb2FkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3LDExICsxNywxMSBAQCB3aGxzbFRl
c3RzLnZlY3RvckluZGV4TG9hZCA9IGFzeW5jICgpID0+CiAgICAgICAgICAgICBpbnQyIHg7CiAg
ICAgICAgICAgICB4LnggPSAyMDsKICAgICAgICAgICAgIHgueSA9IDEwOwotICAgICAgICAgICAg
eFs1MDAwXSA9IDIwOworICAgICAgICAgICAgeFs1MDAwXSA9IDQwOwogICAgICAgICAgICAgcmV0
dXJuIHhbMF0gLyB4WzFdICsgeFs1MDAwXTsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDIpOwor
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwg
W10pLCA0MC8xMCArIDQwKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9vdmVycmlkZS1zdWJzY3JpcHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiAr
MCwwIEBACi0KLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgCi1QQVNTIG92ZXJyaWRlU3Vi
c2NyaXB0U3RydWN0QW5kRG9TdG9yZXMgCi1QQVNTIG92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5k
VXNlUG9pbnRlcnMgCi1QQVNTIG92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJ
bmNvcnJlY3RseSAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1
YnNjcmlwdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vdmVy
cmlkZS1zdWJzY3JpcHQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI4
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04Pgot
PG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBvdmVycmlk
ZSBzdWJzY3JpcHRzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLm92
ZXJyaWRlU3Vic2NyaXB0U3RydWN0ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9
IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAg
IGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVh
ZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4
ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAo
aW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAg
IHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAg
ICBmb28ueSA9IDE5OwotICAgICAgICAgICAgcmV0dXJuIGZvb1swXSArIGZvb1sxXSAqIDM7Ci0g
ICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSksIDQ5OCArIDE5ICogMyk7Ci19Ci0KLXdobHNsVGVzdHMub3Zl
cnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0
IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0g
ICAgICAgICAgICBpbnQgeTsKLSAgICAgICAgfQotICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRv
ciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQgaW5kZXgpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAg
ICAgICAgaWYgKGluZGV4ID09IDEpCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0g
ICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkKLSAg
ICAgICAgewotICAgICAgICAgICAgRm9vIGZvbzsKLSAgICAgICAgICAgIGZvb1swXSA9IDQ5ODsK
LSAgICAgICAgICAgIGZvb1sxXSA9IDE5OwotICAgICAgICAgICAgcmV0dXJuIGZvby54ICsgZm9v
Lnk7Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQ5OCArIDE5KTsKLX0KLQotd2hsc2xUZXN0cy5v
dmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZFVzZVBvaW50ZXJzID0gYXN5bmMgKCkgPT4KLXsKLSAg
ICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQg
eDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9w
ZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAg
ICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0g
ICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+
eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXIo
dGhyZWFkIEZvbyogZm9vKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gKCpmb28pWzBd
ICsgKCpmb28pWzFdOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAg
ICBmb28ueSA9IDE5OwotICAgICAgICAgICAgcmV0dXJuIGJhcigmZm9vKTsKLSAgICAgICAgfQot
ICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0
U3RydWN0QW5kVXNlUG9pbnRlcnNJbmNvcnJlY3RseSA9IGFzeW5jICgpID0+Ci17Ci0gICAgY2hl
Y2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAg
ICAgICBpbnQgeDsKLSAgICAgICAgICAgICAgICBpbnQgeTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRl
eCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICAgICAgaWYgKGluZGV4
ID09IDEpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAg
ICAgIHJldHVybiBudWxsOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IGJhcih0aHJl
YWQgRm9vKiBmb28pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvb1sw
XSArIGZvb1sxXTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBmb28oKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICAgICAgZm9vLngg
PSA0OTg7Ci0gICAgICAgICAgICAgICAgZm9vLnkgPSAxOTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gYmFyKCZmb28pOwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMo
d2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0
MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFi
c3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+
Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3
V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFs
dWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2Nh
bnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZl
cnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24g
ewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsK
LX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0
dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJh
dG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iudz0oQmFy
IGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
Yi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlz
V0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1v
ZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9
OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBj
b25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5v
bmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9
IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxw
aGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0
cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29u
c3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0g
ICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBd
fTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9
IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91
dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBm
cmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xv
clN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwg
bGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZp
Y2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVC
dWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5j
cmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVm
ZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4
QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1h
cCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAg
ICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9y
bSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3
YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4u
Z2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1
dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVy
ID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0g
e3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBb
e2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2Fk
T3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NE
ZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9Owot
ICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQ
YXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBl
bGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVm
ZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3
KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25z
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdl
dFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRo
ZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7
Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5T
b2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhw
ZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1s
ZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVy
LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28q
IGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6Owot
fQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJu
ICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciog
b3BlcmF0b3ImLnEodGhyZWFkIEJheiogYikgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJh
Z21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7
Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53Lnks
IGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21v
ZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29u
c3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZy
YWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUt
c3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIs
IGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25z
dCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJn
YmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQ
VUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsK
LSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6
ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0
OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0
IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBl
bGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0
IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7
dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0
aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNh
bXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQ
aXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9h
dDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdl
LlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVm
ZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0
ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0
MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9
IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
NF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVy
dGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRl
eHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3Jt
YXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1
cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVy
ZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1
cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3Qg
Y29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAg
ICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JB
dHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJn
ZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjog
cmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2ls
QXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rl
ci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NF
bmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFz
cygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsK
LSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJh
c2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRo
ZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1
ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgot
PHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShy
ZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9hbmRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBw
b3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0
aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQq
IG9wZXJhdG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0
cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJl
YWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJh
Z21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEu
MDsKLSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwot
Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFz
eW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRl
dmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0
bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2FuZGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTUgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9z
aXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlv
bjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBv
cGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1Gb28g
Z2VuZXJhdGVGb28oKSB7Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBm
OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsK
LSAgICByZXR1cm4gZmxvYXQ0KGdlbmVyYXRlRm9vKCkueSwgZ2VuZXJhdGVGb28oKS55LCBnZW5l
cmF0ZUZvbygpLnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
Z2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2dldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDExMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAi
PjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9h
dDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3Np
dGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9h
dCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsKLX0K
LQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAg
Rm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoZi55LCBmLnksIGYueSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
LCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0
cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1s
dmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2Fu
dmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1
YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3Ry
YWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAot
dmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDAp
KSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28g
ewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZv
byogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7
Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBG
b28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0
NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMl1b
M10gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAx
LjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFk
ZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2Us
IGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRl
ciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAg
ICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTog
Im5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVu
ZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwg
YWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRl
Qml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAg
Y29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07
Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0
ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1
dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0
b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdl
LCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBj
b2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDog
MSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBk
ZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBH
UFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmlj
ZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVy
dGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9
IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51
bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsK
LSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1
bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWlu
KHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hh
aW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91
dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNv
ZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVk
ID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMg
PSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBs
b2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBh
c3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9
OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5k
ZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQ
aXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4
QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5k
cmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBj
b25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNl
LmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgp
LnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
fSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1hbmRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+
Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3
V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0
MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgot
PHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFs
dWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJh
dG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19
Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZb
XSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1z
dHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3ImW10odGhy
ZWFkIEJheiogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21l
bnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0g
ICAgYlsxXVsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMV1bMl1bM10sIGJbMV1b
Ml1bM10sIGJbMV1bMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07
Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQ
b2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAi
dHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZh
Y2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsK
LSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zv
cm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1
fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRl
ID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAw
LCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0
cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwot
ICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBj
b25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119Owot
ICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCBy
YXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4
SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtz
aXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9y
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZl
ci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0g
bmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFz
LmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2
aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4
dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91
dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0g
ICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsg
Ly8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29u
c3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJl
c29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xl
YXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVw
dGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21t
YW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5m
aW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsK
LX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChk
ZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4
cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1
ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24g
MjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1hbmRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBw
b3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0
aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQq
IG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYt
Png7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVy
YXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56Owot
fQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAg
ICBCYXIgYjsKLSAgICBiWzFdWzJdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXSwg
YlsxXVsyXSwgYlsxXVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsK
LSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0
cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFj
ZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9y
bWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9
XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUg
PSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAs
IGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRy
aWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0g
ICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0g
ICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJh
c3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJ
bnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0
IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3Np
emU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVy
Lm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMu
Z2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZp
Y2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0
LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAg
ICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAv
LyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25z
dCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVz
b2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVh
ckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsK
LSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1h
bmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZp
bmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwot
fQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRl
dmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1
YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0bWwJKHJldmlz
aW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3Np
dGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9u
OwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9w
ZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7
Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0g
ICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1Zf
VGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2VuZXJhdGVGb28oKVswXSwgZ2VuZXJhdGVG
b28oKVsxXSwgZ2VuZXJhdGVGb28oKVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3Qg
dmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhT
aGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3Bv
bG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0g
e2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVu
ZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRl
cyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRl
TWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9j
YXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6
IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lu
cHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsK
LQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRz
OiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVM
YXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9w
b2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRl
LCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9Owot
ICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2Fn
ZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVy
dGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQg
PSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRv
ciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4g
PSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBj
b25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAg
Y29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3
KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5j
b2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsK
LSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJl
VmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3Rv
cmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1l
bnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2Rl
ciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFsw
XSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRF
bmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1
ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAg
IHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXIu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLWdldHRlci5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsMTEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9
IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4
IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNW
X1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAg
IGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAg
ICByZXR1cm4gZmxvYXQoaW5kZXgpOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFk
ZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICByZXR1cm4gZmxvYXQ0KGZbMV0s
IGZbMV0sIGZbMV0sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVk
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0
dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0
LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFs
dWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZv
byBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yW109
KEZvbyBmLCB1aW50IGluZGV4LCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4g
ZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJh
ciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109
KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7
Ci19Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3JbXShCYXog
YiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvcltdPShC
YXogYiwgdWludCBpbmRleCwgQmFyIGEpIHsKLSAgICBiLnAgPSBhOwotICAgIHJldHVybiBiOwot
fQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAg
ICBCYXogYjsKLSAgICBiWzJdWzNdWzRdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVsz
XVs0XSwgYlsyXVszXVs0XSwgYlsyXVszXVs0XSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24g
c3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNo
YWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29u
c3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVU
b3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRl
ID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0
YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdy
aXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhT
dGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVy
TG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJp
ZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0g
W2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRz
fTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxp
bmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZl
VG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0
YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQg
dmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3Jp
cHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hh
aW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0g
ICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRW
aWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5k
RW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAx
fTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0
dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAi
c3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFj
aG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5j
b2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRv
cik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0s
IFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewot
ICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9
IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlz
aW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54Owot
fQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBm
LnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0K
LQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56Owot
fQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56
ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVy
KCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICBy
ZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5j
IGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmlj
ZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0p
OwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3Qg
cHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6
YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNv
bnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xv
ckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUw
ID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1
dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0
IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZl
cnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7Ymlu
ZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNy
ZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2Us
IHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0
aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVs
aW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5k
ZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4
QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1B
UF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBj
b25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBD
aGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29u
c3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4
dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVh
dGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwg
YjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDog
b3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwg
c3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7
Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFz
c0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0
ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9u
KCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVy
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZh
bHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVy
LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVy
U291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDog
YXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0K
LXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9v
IGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3Im
W10odGhyZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFy
IGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1b
M10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItc2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBz
aGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRp
b24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsK
LX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVy
YXRvciZbXSh0aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54Owot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFy
IGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0K
LQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAg
QmFyIGI7Ci0gICAgRm9vIGZvbzsKLSAgICBmb28ueCA9IDEuMDsKLSAgICBiWzFdID0gZm9vOwot
ICAgIGZvbyA9IGJbMV07Ci0gICAgcmV0dXJuIGZsb2F0NChmb28ueCwgZm9vLngsIGZvby54LCAx
LjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFk
ZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2Us
IGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRl
ciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAg
ICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTog
Im5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVu
ZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwg
YWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRl
Qml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAg
Y29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07
Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0
ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1
dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0
b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdl
LCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBj
b2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDog
MSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBk
ZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBH
UFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmlj
ZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVy
dGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9
IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51
bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsK
LSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1
bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWlu
KHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hh
aW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91
dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNv
ZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVk
ID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMg
PSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBs
b2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBh
c3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9
OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5k
ZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQ
aXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4
QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5k
cmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBj
b25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNl
LmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgp
LnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
fSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVy
LWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1s
dmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1
ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMt
bGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJT
b3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBh
dHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQot
c3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikg
ewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkg
ewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZv
byB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19Ci0K
LUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVy
biBiOwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotQmFyIG9wZXJhdG9yLnEo
QmF6IGIpIHsKLSAgICByZXR1cm4gYi5wOwotfQotCi1CYXogb3BlcmF0b3IucT0oQmF6IGIsIEJh
ciBhKSB7Ci0gICAgYi5wID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0
IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncu
eSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53LnksIGIucS53LnksIDEu
MCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRl
ck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwg
aXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRT
dGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVy
In07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAg
IGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAi
bm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBh
bHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVC
aXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBj
b25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsK
LSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRl
MF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0
ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERl
c2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2Us
IGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNv
bG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAx
LCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQ
VUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNl
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVu
bWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwot
ICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVu
b3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4o
c3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFp
bi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0
cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQg
PSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9
IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxv
YWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRl
clBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhC
dWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRy
YXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNv
bnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2Uu
Z2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCku
dGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNv
ZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFs
dWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFj
dC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRl
clNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6
IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQot
Ci1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBm
KSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4
KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAg
Rm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0K
LQotQmFyIG9wZXJhdG9yLnc9KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0
dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0
IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi53
LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsK
LSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0
cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFj
ZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9y
bWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9
XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUg
PSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAs
IGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRy
aWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0g
ICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0g
ICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJh
c3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJ
bnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0
IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3Np
emU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVy
Lm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMu
Z2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZp
Y2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0
LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAg
ICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAv
LyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25z
dCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVz
b2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVh
ckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsK
LSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1h
bmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZp
bmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwot
fQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRl
dmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1
YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4
cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+
PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUo
Y2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1s
dmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3Bl
cmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3Im
LncodGhyZWFkIEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53
LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwot
fQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1
bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hM
U0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVs
ZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2Ug
PSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9Owot
ICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25z
dCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUi
fTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFC
bGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5B
TEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3Qg
YXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAg
Y29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsK
LSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2
ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9
IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwot
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFn
bWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0
YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5
b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2Uu
Y3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNv
bnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BF
Ul9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZm
ZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVh
dGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVy
QXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNv
bnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVm
ZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEz
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgp
OwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBj
b25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9
OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBD
aGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0
Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRl
eHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0g
ZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6
IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0
dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6
ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0
IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNj
cmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAg
IGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNz
KHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGlu
ZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVy
cygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQs
IDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBj
b21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1
ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4o
ZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19
LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0
d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRl
ci1zZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQgKzEsMyBAQAogCi1QQVNTIHNpbXBsZUdldHRlciAKLVBBU1Mgc2ltcGxlU2V0
dGVyIAorUEFTUyBzaW1wbGVQcm9wZXJ0eUdldCAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0
MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xMCw0MyArMTAsMTUgQEAKIDxzY3JpcHQ+CiBjb25zdCB3aGxz
bFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMuc2ltcGxlR2V0dGVyID0gYXN5bmMgKCkgPT4gewor
d2hsc2xUZXN0cy5zaW1wbGVQcm9wZXJ0eUdldCA9IGFzeW5jICgpID0+IHsKICAgICBsZXQgcHJv
Z3JhbSA9IGAKICAgICAgICAgc3RydWN0IEZvbyB7CiAgICAgICAgICAgICBpbnQgeDsKICAgICAg
ICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KICAgICAgICAgaW50IGZvbygpCiAgICAgICAg
IHsKICAgICAgICAgICAgIEZvbyBmb287CiAgICAgICAgICAgICBmb28ueCA9IDc4MDQ7Ci0gICAg
ICAgICAgICByZXR1cm4gZm9vLnk7Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDc4MDQpOwotfTsK
LQotd2hsc2xUZXN0cy5zaW1wbGVTZXR0ZXIgPSBhc3luYyAoKSA9PiB7Ci0gICAgbGV0IHByb2dy
YW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAg
IH0KLSAgICAgICAgaW50IG9wZXJhdG9yLnkoRm9vIGZvbykKLSAgICAgICAgewotICAgICAgICAg
ICAgcmV0dXJuIGZvby54OwotICAgICAgICB9Ci0gICAgICAgIEZvbyBvcGVyYXRvci55PShGb28g
Zm9vLCBpbnQgdmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvby54ID0gdmFsdWU7Ci0g
ICAgICAgICAgICByZXR1cm4gZm9vOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vLnkgPSA3ODA0Owog
ICAgICAgICAgICAgcmV0dXJuIGZvby54OwogICAgICAgICB9CiAgICAgYDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377416</attachid>
            <date>2019-08-27 19:30:07 -0700</date>
            <delta_ts>2019-08-27 23:07:22 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>834732</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMzMSw2ICszMzEsNyBAQCBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFZpc2l0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAorTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xUeXBlTmFtZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5l
cmF0b3IuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0LDYgKzY0LDggQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpbmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CkBAIC02MDAsNiArNjAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gcmVjdXJzZUFuZFdyYXBCYXNl
VHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwogICAgIGJvb2wgcmVjdXJzZUFu
ZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAgICB2b2lkIGFzc2lnbkNvbmNy
ZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5hbWVkVHlwZT4sIEFTVDo6VHlw
ZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lv
biYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlvbik7CiAgICAgdm9pZCBhc3Np
Z25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4s
IEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2FyZFR5cGUoQVNUOjpFeHByZXNz
aW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwogCkBAIC02MzUsOCAr
NjM4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0K
ICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3Rk
OjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcm
IG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVs
bHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5k
T3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsK
QEAgLTY1NSw2ICs2NTYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQ
b2ludGVyVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6OlVubmFtZWRUeXBlJiB3cmFwcGVkVWludFR5
cGUoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAg
IG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRy
aW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwor
ICAgIH0KKwogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25L
ZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKICAgICB7CiAgICAgICAgIGF1dG8qIHVuaWZ5Tm9k
ZSA9ICZ0eXBlLnVuaWZ5Tm9kZSgpOwpAQCAtNjY4LDYgKzY3Niw3IEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVkRmxvYXRUeXBlOwor
ICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVuY2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIFJl
ZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVyVHlwZTsKICAgICBIYXNoTWFw
PEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdUeXBlPj4gbV90eXBl
TWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNw
YWNlQ291bnRdOwpAQCAtNzkwLDYgKzc5OSwxNyBAQCBzdGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1hdGNoQW5kCiAgICAgfSkpOwogfQogCitzdGF0aWMgYm9vbCBtYXRjaEFuZENvbW1p
dChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlLCBBU1Q6Ok5hbWVkVHlwZSYgbmFtZWRUeXBl
KQoreworICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoWyZd
KFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgcmVzb2x2aW5nVHlwZSkgeworICAgICAgICBpZiAobWF0
Y2hlcyhyZXNvbHZpbmdUeXBlLCBuYW1lZFR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LCBbJl0oUmVmUHRyPFJlc29sdmFibGVUeXBl
UmVmZXJlbmNlPiYgcmVzb2x2aW5nVHlwZSkgLT4gYm9vbCB7CisgICAgICAgIHJldHVybiBtYXRj
aEFuZENvbW1pdChuYW1lZFR5cGUsIHJlc29sdmluZ1R5cGUtPnJlc29sdmFibGVUeXBlKCkpOwor
ICAgIH0pKTsKK30KKwogc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBjb21taXQoUmVz
b2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKIHsKICAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52
aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRU
eXBlKSAtPiBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gewpAQCAtOTY4LDYgKzk4OCwxMSBAQCB2
b2lkIENoZWNrZXI6OmFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4CiAgICAgZXhwcmVzc2lvbi5z
ZXRUeXBlQW5ub3RhdGlvbihXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7CiB9CiAKK3ZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgQVNU
OjpOYW1lZFR5cGUmIHR5cGUsIEFTVDo6VHlwZUFubm90YXRpb24gYW5ub3RhdGlvbikKK3sKKyAg
ICBhc3NpZ25Db25jcmV0ZVR5cGUoZXhwcmVzc2lvbiwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KHR5cGUuY29kZUxvY2F0aW9uKCksIHR5cGUpLCBhbm5vdGF0aW9uKTsKK30KKwogdm9pZCBDaGVj
a2VyOjphc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgUmVmUHRyPFJlc29s
dmFibGVUeXBlUmVmZXJlbmNlPiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSwgQVNUOjpUeXBlQW5u
b3RhdGlvbiB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6UmlnaHRWYWx1ZSgpKQogewogICAgIGF1dG8g
YWRkUmVzdWx0ID0gbV90eXBlTWFwLmFkZCgmZXhwcmVzc2lvbiwgbWFrZVVuaXF1ZTxSZXNvbHZp
bmdUeXBlPihXVEZNb3ZlKHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSkpOwpAQCAtMTAyOSw3ICsx
MDU0LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZQogICAgIGlm
ICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yd2FyZFR5cGUocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5nVHlwZSk7CisgICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNUOjpVbm5hbWVkVHlwZSog
Z2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKQEAgLTExNzAsMTQ0
ICsxMTk1LDExMiBAQCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gQ2hlY2tlcjo6YXJndW1lCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGluZyhBU1Q6
OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBSZXNv
bHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNlSW5mbyA9
IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOworICAg
IGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJhc2UoKSk7
CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBiYXNlVW5u
YW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlmICghYmFz
ZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0
aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9uLiIsIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBkb3QgZXhw
cmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9u
ID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0dXJuVHlw
ZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAg
ICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwot
ICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVy
RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9u
KGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5
cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9IGRvd25j
YXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBpZiAoQVNU
OjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhwcmVzc2lv
bi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVz
c2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZpZWxkIG5h
bWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlzdCBvbiBz
dHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5cGUoKTsK
LSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24gPSBu
dWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5cGUgPSBu
dWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UpIHsKLSAg
ICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVu
dFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NTcGFjZSkp
IHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpV
bm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVyQXJndW1l
bnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1
bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRk
aXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAgICAgYW5k
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFuZGVyTmFt
ZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgICAg
IGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGlm
IChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9ICZkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBl
KCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVy
CiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVh
ZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB0
aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3VtZW50VHlw
ZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VV
bm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAgUmVzb2x2
aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6OlBvaW50
ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVhZEFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5hcHBlbmQo
KmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0aHJlYWRB
bmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcywg
YW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAg
ICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpCisgICAg
ICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkgeworICAg
ICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRVaW50VHlw
ZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBz
ZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBhcnJheXMs
IGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5kZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2FzdDxBU1Q6
OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCk7
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY0
IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVyCi0g
ICAgfQotCi0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UgJiYgIWFuZGVyRnVuY3Rpb24gJiYgIWdl
dHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3Mg
aW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhbiBhbmRlciBvciBhIGdldHRlci4iLCBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBl
KS5pc1ZlY3RvcigpKSB7CisgICAgICAgIGlmICghbV9wcm9ncmFtLmlzVmFsaWRWZWN0b3JQcm9w
ZXJ0eShkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkgeworICAgICAgICAgICAgc2V0RXJyb3Io
RXJyb3IobWFrZVN0cmluZygiJy4iLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBwcm9wZXJ0eSBvbiBhIHZlY3Rvci4iKSwgZG90RXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLmxlbmd0aCgp
OworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7CisgICAgICAgIGlmIChmaWVsZExl
bmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24s
IGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgp
KSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9p
bnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50
eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwg
bV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVU
eXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVpbnRUeXBlKCkpKQorICAgICAgICAg
ICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MudWlu
dFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3Mu
ZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCks
IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQogICAgIH0KK30K
IAotICAgIGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBh
IGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJl
c3Npb24mIGluZGV4RXhwcmVzc2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZv
ID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsK
KyAgICAgICAgaWYgKCFpbmRleEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
YW5kZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJl
dHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVy
cm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0
aGUgdGhyZWFkIGFuZGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUg
YSB1aW50LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5
cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5k
R2V0SW5mbyhpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAg
ICAgICByZXR1cm47Ci0gICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFu
ZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJl
dHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUg
dGhyZWFkIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwg
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNl
VW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICgh
YmFzZVVubmFtZWRUeXBlKSB7CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2
ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0
dGVyUmV0dXJuVHlwZSA6IGFuZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhy
ZWFkQW5kZXJSZXR1cm5UeXBlOwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJu
VHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2
aW5nVHlwZShmaWVsZFR5cGUuY29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJl
bmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5m
by0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkK
LSAgICAgICAgICAgIHNldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1l
bnRUeXBlKTsKLSAgICAgICAgc2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZp
bmdUeXBlKTsKLSAgICAgICAgYXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29s
dmVGdW5jdGlvbihzZXR0ZXJBcmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAg
ICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVm
ZXJlbmNlVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VU
eXBlLmVsZW1lbnRUeXBlKCksIEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFk
ZHJlc3NTcGFjZSgpIH0pOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
KQorICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxB
U1Q6OkFycmF5VHlwZT4odHlwZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAg
ICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KHR5cGUpOworICAgICAgICBhdXRvIGFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5u
b3RhdGlvbi5pc1JpZ2h0VmFsdWUoKSA/IEFTVDo6VHlwZUFubm90YXRpb24geyBBU1Q6OlJpZ2h0
VmFsdWUoKSB9IDogQVNUOjpUeXBlQW5ub3RhdGlvbiB7IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUo
KSB9OworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAgICAgYXNz
aWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJn
dW1lbnQoKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01h
dHJpeCgpKSB7CisgICAgICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJp
eFR5cGVBcmd1bWVudCgpOworICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5
cGUubnVtYmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5
cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JT
aXplKG51bVJvd3MpKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNo
ZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAg
IGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZl
Y3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24g
b24gdW5rbm93biB0eXBlLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAg
ICBzZXR0ZXJSZXR1cm5UeXBlID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0g
ICAgaWYgKHNldHRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRF
cnJvcihFcnJvcigiQ2Fubm90IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEgY29y
cmVzcG9uZGluZyBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJvcigi
SW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVM
b2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uc2V0R2V0dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwotICAg
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVhZEFu
ZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJGdW5j
dGlvbihzZXR0ZXJGdW5jdGlvbik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5v
dGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NTcGFj
ZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAg
ICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6
TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9uLT50
eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0aW9u
KQotICAgICAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7
Ci0gICAgfSBlbHNlIGlmICghYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1ZSgp
ICYmIChzZXR0ZXJGdW5jdGlvbiB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAgdHlw
ZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29uY3Jl
dGVUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBXVEZN
b3ZlKHR5cGVBbm5vdGF0aW9uKSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RF
eHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4cHJl
c3Npb24pOwotfQotCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBp
bmRleEV4cHJlc3Npb24pCi17Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZv
KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5mbykK
LSAgICAgICAgcmV0dXJuOwotICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwgJmJh
c2VJbmZvLT5yZXNvbHZpbmdUeXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlZh
cmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmll
RmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQsMzQgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewog
Ci0jaWYgIUFTU0VSVF9ESVNBQkxFRAotLy8gSWYgYSBoaWdoLWxldmVsIGNvbnN0cnVjdCBzb21l
aG93IG1hbmFnZXMgdG8gbGl2ZSBvbiB3aGVuIHdlJ3JlIGxvd2VyZWQsIGl0J3MgYSBoaWdoIHpv
bWJpZS4KLWNsYXNzIEhpZ2hab21iaWVGaW5kZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wcml2YXRl
OgotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQoQVNU
OjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4
cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgfQotfTsKLSNlbmRpZgotCi12b2lkIGZpbmRIaWdoWm9tYmllcyhQcm9ncmFtJiBwcm9n
cmFtKQordm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYpCiB7Ci0jaWYgQVNTRVJUX0RJU0FC
TEVECi0gICAgVU5VU0VEX1BBUkFNKHByb2dyYW0pOwotI2Vsc2UKLSAgICBIaWdoWm9tYmllRmlu
ZGVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7Ci0jZW5kaWYKIH0KIAogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5z
aWNzLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwxMiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNp
emUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6
ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3NpemUg
LSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5cGUo
KSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtODIsNiArODgs
MTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsyXTsKICAgICB9CiAK
KyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5cGVGb3JTaXplKHVu
c2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09
IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JV
aW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYg
aW50MlR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVjdG9ySW50WzBdKTsK
QEAgLTk0LDYgKzEwNiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRb
Ml07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGludFZlY3RvclR5
cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVy
biAqbV92ZWN0b3JJbnRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uJiBzYW1wbGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV9z
YW1wbGVyVHlwZSk7CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
ICptX3ZlY3RvckZsb2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uJiBmbG9hdFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgewor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0g
NCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07CisgICAgfQorCiAg
ICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZyb20gdGhlIEFTVCBp
ZiB0aGV5IGFyZSB1bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKiBk
ZHgoKSBjb25zdAogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMUHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0
ZXhwciBib29sIGR1bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhw
ciBib29sIGR1bXBBU1RBZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9v
bCBkdW1wQVNUQXRFbmQgPSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1w
UGFzc0ZhaWx1cmVzID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBh
c3NGYWlsdXJlcyA9IHRydWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJl
ID0gZHVtcEFTVEJlZm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFT
VEF0RW5kIHx8IGFsd2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wg
ZHVtcFBoYXNlVGltZXMgPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgJKHJldmlzaW9uIDI0OTAyMCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNw
YWNlIFdITFNMIHsKIAotY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29tcGlsZVRpbWVzID0gZmFs
c2U7Citjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxDb21waWxlVGltZXMgPSB0cnVlOwogCiBVbmlx
dWVSZWY8U2hhZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU3RyaW5nJiB3aGxz
bFNvdXJjZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNzMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldITFNMUHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCituYW1lc3BhY2UgV0hMU0wgeworCitib29sIFByb2dyYW06OmlzVmFsaWRWZWN0
b3JQcm9wZXJ0eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAgaWYgKG1fdmVjdG9yUHJvcGVydGll
cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eHd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3p3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp3enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
d3h4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6
eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gbV92ZWN0b3JQcm9wZXJ0aWVzLmNvbnRhaW5zKHByb3BlcnR5KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQkdQVSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2luZyBjb3B5KQpAQCAt
ODUsNiArODUsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVDb250ZXh0LmFkZCht
X25hdGl2ZVR5cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAgICBib29sIGlzVmFs
aWRWZWN0b3JQcm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0
KCkgeyByZXR1cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3MmIGludHJpbnNpY3Mo
KSB7IHJldHVybiBtX2ludHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5z
aWNzKCkgY29uc3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkBAIC0xMDYsNiArMTA4LDcgQEAg
cHJpdmF0ZToKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPj4g
bV9mdW5jdGlvbkRlZmluaXRpb25zOwogICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uPj4gbV9uYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uczsKICAgICBW
ZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPj4gbV9uYXRpdmVUeXBl
RGVjbGFyYXRpb25zOworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlY3RvclByb3BlcnRpZXM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3Bw
CShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xh
c3MgUHJvcGVydHlSZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6
CkBAIC04MjgsNiArODMwLDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJv
Z3JhbSkKIHsKICAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7
CiB9CisqLworCit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8v
IG5hbWVzcGFjZSBXSExTTAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1
bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTAy
MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJl
YWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUx
LDIzICs1MSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVu
Y3Rpb25EZWZpbml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0g
ICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikg
b3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpG
dW5jdGlvbkRlY2xhcmF0aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlv
bikKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5j
dGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNh
c3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0g
ICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAg
ICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZp
c2l0RnVuY3Rpb24oZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2
aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlz
aXRvcjo6dmlzaXQoZXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0
aW9uRGVmaW5pdGlvbio+IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3Zl
KG1fcmVhY2hhYmxlRnVuY3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRM
aWJyYXJ5LnR4dAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02
ODksMTE3ICs2ODksMTE3IEBAIGZsb2F0IHRyYW5zcG9zZShmbG9hdCB4KSB7CiBmbG9hdDJ4MiB0
cmFuc3Bvc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0
WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRyYW5z
cG9zZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJd
WzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMV0gPSB4WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cmFuc3Bv
c2UoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJd
ID0geFsyXVswXTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbM11b
MF0gPSB4WzBdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwotICAgIHJlc3VsdFsx
XVszXSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRb
M11bMV0gPSB4WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiB0cmFuc3Bv
c2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBd
ID0geFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKLSAgICByZXN1bHRbMl1b
MV0gPSB4WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFd
WzJdID0geFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdHJhbnNwb3Nl
KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
eFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9
IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0g
PSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBd
ID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJd
WzJdID0geFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJhbnNwb3Nl
KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
eFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9
IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0g
PSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVsw
XSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJd
WzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFsw
XVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRb
Ml1bMl0gPSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CisgICAgcmVzdWx0
WzNdWzJdID0geFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJhbnNw
b3NlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJd
WzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFsz
XVsxXSA9IHhbMV1bM107CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRb
MV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0
WzFdWzNdID0geFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgdHJhbnNw
b3NlKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsy
XSA9IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJd
WzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRb
MF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0
WzJdWzJdID0geFsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3Vs
dFszXVsxXSA9IHhbMV1bM107Ci0gICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKKyAgICByZXN1
bHRbMF1bM10gPSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmVz
dWx0WzJdWzNdID0geFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJh
bnNwb3NlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFsw
XVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRb
MV1bMF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3Vs
dFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1
bHRbMl1bMl0gPSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVz
dWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICBy
ZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAg
cmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwogICAg
IHJlc3VsdFszXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAg
ICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAg
ICAgcmVzdWx0WzNdWzNdID0geFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTE2
NSwxMTcgKzExNjUsMTE3IEBAIGZsb2F0NCBzYXR1cmF0ZShmbG9hdDQgeCkgewogZmxvYXQyeDIg
c2F0dXJhdGUoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2F0dXJhdGUoZmxv
YXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1
cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBz
YXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgc2F0dXJhdGUoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBz
YXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2F0dXJhdGUoZmxvYXQzeDIgeCkgewog
ICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDMgc2F0dXJhdGUoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1
cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBz
YXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgc2F0dXJhdGUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
YXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1
cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBz
YXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
c2F0dXJhdGUoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1
cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
YXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDQgc2F0dXJhdGUoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
YXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0
ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBzYXR1
cmF0ZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTMwOSwxMTcgKzEzMDks
MTE3IEBAIGZsb2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0Mngy
IG1hZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7
CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBtYWQoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1h
ZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1hZChmbG9hdDN4MiB4
LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1h
ZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxv
YXQzeDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
bWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4
WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFk
KHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwg
eVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1b
M10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYWQoZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFk
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBt
YWQoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhb
MF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsy
XVszXSwgelsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9h
dDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBt
YWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhb
MV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0s
IHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYWQo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJl
c3VsdFszXVszXSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtMTQ4MSwxMiArMTQ4MSwxMiBAQCBmbG9hdDJ4MiBtb2RmKGZsb2F0Mngy
IHgsIHRocmVhZCBmbG9hdDJ4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBt
b2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAgLTE0OTgsMjEgKzE0OTgsMjEgQEAg
ZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeAogICAgIHJlc3VsdFswXVsw
XSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZm
ZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVsx
XSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4
NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHkpIHsKQEAgLTE1MjEsMjcgKzE1MjEsMjcgQEAgZmxvYXQy
eDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeAogICAgIHJlc3VsdFswXVswXSA9IG1v
ZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsw
XVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIp
OworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0g
PSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBt
b2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAg
IHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2Rm
KHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1b
MV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZm
ZXI7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7CkBAIC0xNTUw
LDIxICsxNTUwLDIxIEBAIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gK
ICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0g
YnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgs
IHRocmVhZCBmbG9hdDN4MyogeSkgewpAQCAtMTU3MywyNyArMTU3MywyNyBAQCBmbG9hdDN4MyBt
b2RmKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4
WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0g
PSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwpA
QCAtMTYwNSwzOSArMTYwNSwzOSBAQCBmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBm
bG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwor
ICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZm
ZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5KSB7CkBAIC0xNjQ2
LDI3ICsxNjQ2LDI3IEBAIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgK
ICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1v
ZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYo
eFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVh
ZCBmbG9hdDR4MyogeSkgewpAQCAtMTY3NSwzOSArMTY3NSwzOSBAQCBmbG9hdDR4MyBtb2RmKGZs
b2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0g
PSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJl
c3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzNdID0g
bW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJd
ID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSkgewpA
QCAtMTcxNiw0OCArMTcxNiw0OCBAQCBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZCBm
bG9hdDR4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwor
ICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAg
KCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsx
XVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAg
ICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gYnVm
ZmVyOwpAQCAtMTgxOSwxMiArMTgxOSwxMiBAQCBmbG9hdDJ4MiBtb2RmKGZsb2F0MngyIHgsIGRl
dmljZSBmbG9hdDJ4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAgLTE4MzYsMjEgKzE4MzYsMjEgQEAgZmxvYXQy
eDMgbW9kZihmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeAogICAgIHJlc3VsdFswXVswXSA9IG1v
ZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsw
XVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBk
ZXZpY2UgZmxvYXQyeDQqIHkpIHsKQEAgLTE4NTksMjcgKzE4NTksMjcgQEAgZmxvYXQyeDQgbW9k
ZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhb
MF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9k
Zih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Cisg
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5KSB7CkBAIC0xODg4LDIxICsx
ODg4LDIxIEBAIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gKICAgICBy
ZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFd
WzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIGRldmlj
ZSBmbG9hdDN4MyogeSkgewpAQCAtMTkxMSwyNyArMTkxMSwyNyBAQCBmbG9hdDN4MyBtb2RmKGZs
b2F0M3gzIHgsIGRldmljZSBmbG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0g
PSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwpAQCAtMTk0
MywzOSArMTk0MywzOSBAQCBmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIGRldmljZSBmbG9hdDN4
CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhb
MV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7Cisg
ICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7CkBAIC0xOTg0LDI3ICsx
OTg0LDI3IEBAIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgKICAgICBy
ZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFd
WzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFsz
XVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsx
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFd
WzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIGRldmljZSBmbG9h
dDR4MyogeSkgewpAQCAtMjAxMywzOSArMjAxMywzOSBAQCBmbG9hdDR4MyBtb2RmKGZsb2F0NHgz
IHgsIGRldmljZSBmbG9hdDR4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBt
b2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsz
XVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4
WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVm
ZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSkgewpAQCAtMjA1
NCw0OCArMjA1NCw0OCBAQCBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4
CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhb
MV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsz
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgICAgICgq
eSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwpA
QCAtMjE1NywxMiArMjE1NywxMiBAQCBmbG9hdDJ4MiBtb2RmKGZsb2F0MngyIHgsIHRocmVhZGdy
b3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKQEAgLTIxNzQsMjEgKzIxNzQsMjEgQEAgZmxvYXQyeDMgbW9k
ZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3Vs
dFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWRn
cm91cCBmbG9hdDJ4NCogeSkgewpAQCAtMjE5NywyNyArMjE5NywyNyBAQCBmbG9hdDJ4NCBtb2Rm
KGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYo
eFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFsw
XVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2Rm
KHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAg
ICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgbW9kZihmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSkgewpAQCAtMjIyNiwy
MSArMjIyNiwyMSBAQCBmbG9hdDN4MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsCiAg
ICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1v
ZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwor
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBt
b2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAg
IHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1
ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbW9kZihmbG9hdDN4MyB4LCB0
aHJlYWRncm91cCBmbG9hdDN4MyogeSkgewpAQCAtMjI0OSwyNyArMjI0OSwyNyBAQCBmbG9hdDN4
MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OwpAQCAtMjI4MSwzOSArMjI4MSwzOSBAQCBmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVh
ZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9k
Zih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4
WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBt
b2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBi
dWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHkpIHsK
QEAgLTIzMjIsMjcgKzIzMjIsMjcgQEAgZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCB0aHJlYWRn
cm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNd
WzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bM10g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHkpIHsKQEAgLTIzNTEsMzkgKzIzNTEsMzkgQEAgZmxv
YXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1v
ZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYo
eFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsy
XVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgIHJl
c3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhb
M11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsy
XVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJlYWRncm91
cCBmbG9hdDR4NCogeSkgewpAQCAtMjM5Miw0OCArMjM5Miw0OCBAQCBmbG9hdDR4NCBtb2RmKGZs
b2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVsz
XSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNd
WzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwg
JmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10g
PSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVy
KTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2Rm
KHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNd
WzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzNdWzNdID0gYnVmZmVyOwpAQCAtMzM0MCwxMTcgKzMzNDAsMTE3IEBAIGZsb2F0NCBl
eHAyKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAyKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBleHAyKGZsb2F0
MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGV4cDIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4
cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGV4cDIoZmxvYXQyeDQgeCkgewog
ICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhw
Mih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBleHAyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBleHAy
KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
ZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIo
eFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGV4cDIoZmxvYXQzeDMg
eCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZXhwMih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBleHAyKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhw
Mih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9
IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAy
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gZXhwMih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
ZXhwMihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBl
eHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgzIGV4cDIoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4
cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhw
Mih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwogICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKICAgICByZXN1bHRb
M11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBl
eHAyKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNd
ID0gZXhwMih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDQ3MSwxMTcgKzQ0
NzEsMTE3IEBAIGZsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhdGFuKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGF0
YW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRh
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBhdGFuKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
YXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGF0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBh
dGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBhdGFuKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRh
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYXRhbihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGF0YW4oZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0
YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFuKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhdGFuKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
YXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGF0YW4o
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gYXRhbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtNDcxMiwxMTcgKzQ3MTIsMTE3IEBAIGZsb2F0NCBsb2coZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIGxvZyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGxvZyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBs
b2coZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
bG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGxvZyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsb2coZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxvZyhmbG9hdDN4NCB4KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9n
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2co
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgbG9nKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxv
Zyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9n
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2co
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBs
b2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9n
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxv
ZyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbG9n
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtNTMwNSwxMTcgKzUzMDUsMTE3IEBAIGZsb2F0NCBzaW4oZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IHNpbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBzaW4o
ZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
aW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNp
bih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2lu
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBzaW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHNp
bihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
c2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzaW4oZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHNpbihmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2luKHhbMl1b
M10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDIgc2luKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBzaW4oZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2lu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW4o
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNpbihm
bG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2lu
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzaW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW4o
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gc2luKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luKHhbMl1bM10pOwogICAg
IHJlc3VsdFszXVszXSA9IHNpbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAt
NjA1MCwxNiArNjA1MCwxNiBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQy
eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKQEAgLTYwNzQsMzEgKzYwNzQsMzEgQEAgdm9pZCBzaW5jb3MoZmxv
YXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSwg
dGhyZWFkIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjEwOCw0MSAr
NjEwOCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9p
ZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02MTUyLDMxICs2MTUyLDMxIEBAIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MioKICAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVh
ZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTYxODYsNDEgKzYxODYs
NDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKgogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKQEAgLTYyMzUsNjEgKzYyMzUsNjEgQEAgdm9p
ZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KgogICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5
LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02Mjk5LDQx
ICs2Mjk5LDQxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MioKICAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewogICAgIGZs
b2F0IHNpblJlc3VsdDsKQEAgLTYzNDMsNjEgKzYzNDMsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0
eDMgeCwgdGhyZWFkIGZsb2F0NHgzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0
eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02NDA3LDc2ICs2NDA3LDc2IEBAIHZv
aWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCoKICAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKQEAgLTY1NTQs
MTYgKzY1NTQsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKgog
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CkBAIC02NTc4LDMxICs2NTc4LDMxIEBAIHZvaWQgc2luY29zKGZsb2F0Mngz
IHgsIHRocmVhZCBmbG9hdDJ4MyoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIGRldmlj
ZSBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTY2MTIsNDEgKzY2MTIs
NDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KgogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjY1NiwzMSArNjY1NiwzMSBAQCB2b2lkIHNpbmNv
cyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxv
YXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC02NjkwLDQxICs2NjkwLDQxIEBA
IHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyoKICAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CkBAIC02NzM5LDYxICs2NzM5LDYxIEBAIHZvaWQgc2lu
Y29zKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgZGV2
aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjgwMyw0MSArNjgw
Myw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqCiAgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMg
eCwgdGhyZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBz
aW5SZXN1bHQ7CkBAIC02ODQ3LDYxICs2ODQ3LDYxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgzIHgs
IHRocmVhZCBmbG9hdDR4MyoKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNjkxMSw3NiArNjkxMSw3NiBAQCB2b2lkIHNp
bmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CkBAIC03MDU4LDE2ICs3
MDU4LDE2IEBAIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4MioKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwpAQCAtNzA4MiwzMSArNzA4MiwzMSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0
aHJlYWQgZmxvYXQyeDMqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTcxMTYsNDEgKzcxMTYs
NDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KgogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC03MTYwLDMxICs3MTYwLDMxIEBAIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MioKICAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtNzE5NCw0MSAr
NzE5NCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwpAQCAtNzI0Myw2MSArNzI0Myw2MSBA
QCB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqCiAgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0
eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpA
QCAtNzMwNyw0MSArNzMwNyw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxv
YXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4
MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTczNTEsNjEgKzczNTEsNjEgQEAgdm9p
ZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKgogICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5
LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTc0
MTUsNzYgKzc0MTUsNzYgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0
KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OwpAQCAtNzU2MiwxNiArNzU2MiwxNiBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCBkZXZpY2UgZmxvYXQyeDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKQEAgLTc1ODYsMzEgKzc1ODYsMzEgQEAg
dm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0MngzKgogICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIGRldmlj
ZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwpAQCAtNzYyMCw0MSArNzYyMCw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2Ug
ZmxvYXQyeDQqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0
aHJlYWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC03NjY0LDMxICs3
NjY0LDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MioKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxv
YXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAg
LTc2OTgsNDEgKzc2OTgsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0
M3gzKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKQEAgLTc3NDcsNjEg
Kzc3NDcsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KgogICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2
aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CkBAIC03ODExLDQxICs3ODExLDQxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmlj
ZSBmbG9hdDR4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4
MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTc4NTUsNjEgKzc4NTUsNjEgQEAgdm9p
ZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKgogICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5
LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC03OTE5LDc2
ICs3OTE5LDc2IEBAIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCoKICAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9IHNpblJl
c3VsdDsKQEAgLTgwNjYsMTYgKzgwNjYsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2
aWNlIGZsb2F0MngyKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CkBAIC04MDkwLDMxICs4MDkwLDMxIEBAIHZvaWQg
c2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyoKICAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxv
YXQyeDQqIHksIGRldmljZSBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAg
LTgxMjQsNDEgKzgxMjQsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0
Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwgZGV2aWNl
IGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtODE2OCwzMSArODE2OCwz
MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqCiAgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gz
KiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC04MjAy
LDQxICs4MjAyLDQxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyoK
ICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CkBAIC04MjUxLDYxICs4MjUx
LDYxIEBAIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmljZSBmbG9hdDN4NCoKICAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
M10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBm
bG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpA
QCAtODMxNSw0MSArODMxNSw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxv
YXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC04MzU5LDYxICs4MzU5LDYxIEBAIHZvaWQgc2lu
Y29zKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyoKICAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgZGV2
aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtODQyMyw3NiArODQy
Myw3NiBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqCiAgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1b
M10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
CkBAIC04NTcwLDE2ICs4NTcwLDE2IEBAIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIGRldmljZSBm
bG9hdDJ4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBu
dWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwpAQCAtODU5NCwzMSArODU5NCwzMSBAQCB2b2lkIHNpbmNv
cyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0
KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAg
LTg2MjgsNDEgKzg2MjgsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0
Mng0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC04NjcyLDMxICs4
NjcyLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MioKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxv
YXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwpAQCAtODcwNiw0MSArODcwNiw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2Ug
ZmxvYXQzeDMqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwpAQCAtODc1
NSw2MSArODc1NSw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQq
CiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4
LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwpAQCAtODgxOSw0MSArODgxOSw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4
MiB4LCBkZXZpY2UgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJl
YWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTg4NjMsNjEg
Kzg4NjMsNjEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKgogICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2
aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKQEAgLTg5MjcsNzYgKzg5MjcsNzYgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
ZGV2aWNlIGZsb2F0NHg0KgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsz
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVszXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwpAQCAtOTA3NCwxNiArOTA3NCwxNiBAQCB2b2lkIHNp
bmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKQEAgLTkwOTgs
MzEgKzkwOTgsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYQog
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05MTMyLDQxICs5MTMyLDQxIEBAIHZvaWQgc2luY29z
KGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0
aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwpAQCAtOTE3NiwzMSArOTE3NiwzMSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4
LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4Myog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTkyMTAsNDEgKzkyMTAsNDEgQEAgdm9pZCBz
aW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKQEAgLTkyNTksNjEgKzkyNTksNjEgQEAgdm9pZCBzaW5jb3MoZmxv
YXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVh
ZCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTkzMjMsNDEgKzkzMjMs
NDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgs
IHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9h
dCBzaW5SZXN1bHQ7CkBAIC05MzY3LDYxICs5MzY3LDYxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgz
IHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxv
YXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05NDMxLDc2ICs5NDMxLDc2IEBA
IHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKQEAgLTk1
NzgsMTYgKzk1NzgsMTYgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxv
YQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CkBAIC05NjAyLDMxICs5NjAyLDMxIEBAIHZvaWQgc2luY29zKGZsb2F0
MngzIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCog
eSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtOTYzNiw0
MSArOTYzNiw0MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHksIGRldmljZSBm
bG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTk2ODAsMzEgKzk2ODAsMzEg
QEAgdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0
M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC05
NzE0LDQxICs5NzE0LDQxIEBAIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZs
b2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQog
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CkBAIC05NzYzLDYxICs5
NzYzLDYxIEBAIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAg
KCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CkBAIC05ODI3LDQxICs5ODI3LDQxIEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwgZGV2aWNl
IGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtOTg3MSw2MSArOTg3MSw2
MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91
cCBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwpAQCAtOTkzNSw3NiArOTkzNSw3NiBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRn
cm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAg
ICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNp
bmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
M11bM10gPSBzaW5SZXN1bHQ7CkBAIC0xMDA4MiwxNiArMTAwODIsMTYgQEAgdm9pZCBzaW5jb3Mo
ZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CkBAIC0xMDEwNiwzMSAr
MTAxMDYsMzEgQEAgdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikg
ewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTEwMTQwLDQxICsxMDE0MCw0MSBAQCB2b2lkIHNp
bmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0Owor
ICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7CiAg
ICAgZmxvYXQgc2luUmVzdWx0OwpAQCAtMTAxODQsMzEgKzEwMTg0LDMxIEBAIHZvaWQgc2luY29z
KGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2EKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CkBAIC0xMDIxOCw0MSAr
MTAyMTgsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKQEAgLTEwMjY3LDYxICsxMDI2Nyw2
MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hCiAgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91
cCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CkBAIC0xMDMzMSw0MSArMTAzMzEsNDEgQEAgdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwg
dGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJl
YWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKQEAgLTEwMzc1LDYx
ICsxMDM3NSw2MSBAQCB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0
aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CkBAIC0xMDQzOSw3NiArMTA0MzksNzYgQEAgdm9pZCBzaW5jb3MoZmxv
YXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYQogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwpAQCAtMTA4NTEsMTE3ICsxMDg1MSwx
MTcgQEAgZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbAogZmxvYXQyeDIg
c21vb3Roc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0s
IHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMg
c21vb3Roc3RlcChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJd
WzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3Rl
cCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhz
dGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsK
ICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3Rl
cCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhz
dGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290
aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21v
b3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
bW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc21vb3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5
LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzbW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZs
b2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJd
WzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc21vb3Roc3Rl
cChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFsz
XVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0
ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Ro
c3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9v
dGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNt
b290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
c21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgyIHNtb290aHN0ZXAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxv
YXQ0eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9v
dGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
c21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzbW9vdGhzdGVwKGZsb2F0NHgzIHgs
IGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1b
Ml0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5
WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNd
WzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhb
MF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc21vb3Roc3Rl
cCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgc21vb3Roc3RlcChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAo
eFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3Rl
cCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhz
dGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290
aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21v
b3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
bW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAg
cmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10s
IHpbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNtb290aHN0ZXAoeFszXVszXSwgeVszXVsz
XSwgelszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTExMTE4LDExNyArMTExMTgs
MTE3IEBAIGZsb2F0NCBleHAoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGV4cChmbG9hdDJ4MiB4KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBleHAoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGV4
cChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBleHAoZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGV4cChmbG9hdDN4MiB4KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4MyBleHAoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhw
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3g0IGV4cChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBl
eHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGV4cCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhw
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IGV4cCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZXhw
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
ZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBl
eHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4
cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gZXhwKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBl
eHAoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGV4cCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBl
eHAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGV4cChmbG9hdDR4NCB4KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGV4cCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBl
eHAoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZXhwKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGV4
cCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTIxMDcsMjM0ICsxMjEwNywy
MzQgQEAgYm9vbCBhbGwoZmxvYXQ0IHgpIHsKIGJvb2wgYWxsKGZsb2F0MngyIHgpIHsKICAgICBi
b29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFd
ICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQyeDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0g
dHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwo
ZmxvYXQyeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0M3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRy
dWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZs
b2F0M3gzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDN4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFszXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxv
YXQ0eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0NHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0g
IT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdWzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9h
dDR4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsz
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDJ4MiB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sMngz
IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wyeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbGwoYm9vbDN4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBd
WzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sM3gzIHgpIHsKICAgICBib29sIHJl
c3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wzeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsy
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsz
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDR4MiB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CiAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
M11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2w0eDQgeCkgewogICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsz
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKICAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsyXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTI4MDcsMTE3ICsxMjgwNywxMTcgQEAgZmxvYXQ0IGRkeF9maW5lKGZsb2F0
NCB4KSB7CiBmbG9hdDJ4MiBkZHhfZmluZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4MyBkZHhfZmluZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRk
eF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZHhfZmluZShmbG9hdDJ4NCB4KSB7
CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5l
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eF9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBkZHhfZmlu
ZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHhfZmluZShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9m
aW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBkZHhfZmluZShmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5l
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRk
eF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBkZHhfZmluZShmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5l
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9m
aW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRk
eF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5l
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9m
aW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeF9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGRkeF9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBkZHhfZmluZShmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5l
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9
IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9maW5lKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhb
Ml1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5l
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVszXSA9IGRkeF9maW5lKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBA
IC0xNDE2MCwxMTcgKzE0MTYwLDExNyBAQCBmbG9hdDQgcnNxcnQoZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIHJzcXJ0KGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJzcXJ0KGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQo
eFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHJzcXJ0KGZsb2F0Mng0IHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcnNx
cnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIHJzcXJ0KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIHJzcXJ0KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcnNx
cnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHJzcXJ0KGZsb2F0M3g0IHgpIHsKICAg
ICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNx
cnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gcnNxcnQoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gcnNxcnQoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHJzcXJ0
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNx
cnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHJzcXJ0KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
cnNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQo
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJzcXJ0KGZsb2F0NHg0
IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
cnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcnNx
cnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsy
XVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
cnNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE0NzM5LDExNyArMTQ3
MzksMTE3IEBAIGZsb2F0NCBzcXJ0KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBzcXJ0KGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBzcXJ0KGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNxcnQoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNx
cnQoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBzcXJ0KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
c3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIHNxcnQoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBz
cXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc3FydCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBzcXJ0KGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3Fy
dCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgc3FydChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNxcnQoZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzcXJ0KHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBzcXJ0KGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzcXJ0
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
c3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHNxcnQo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gc3FydCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTQ4ODAsMTE3ICsxNDg4MCwxMTcgQEAgZmxvYXQ0IGFjb3MoZmxvYXQ0IHgpIHsKIGZs
b2F0MngyIGFjb3MoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGFjb3MoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgYWNvcyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3Mo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGFjb3MoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFj
b3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYWNvcyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGFjb3MoZmxvYXQzeDQgeCkg
ewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
YWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3Mo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
Y29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhY29zKHhbM11b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBhY29zKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFj
b3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBhY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYWNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgYWNv
cyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29z
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
YWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGFjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGFjb3Mo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBh
Y29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gYWNvcyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBhY29zKHhbM11bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNTM5MywxMTcgKzE1MzkzLDExNyBAQCBmbG9hdDQg
dGFuaChmbG9hdDQgeCkgewogZmxvYXQyeDIgdGFuaChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
dGFuaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgdGFuaChmbG9h
dDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSB0YW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0YW5oKGZsb2F0Mng0IHgpIHsK
ICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gdGFuaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdGFu
aChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5o
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyB0YW5oKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRhbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDQgdGFuaChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRh
bmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gdGFu
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOworICAgIHJlc3Vs
dFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgy
IHRhbmgoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5o
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
dGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyB0YW5oKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRh
bmgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFu
aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHRhbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSB0YW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5o
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CiAgICAgcmVzdWx0
WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
dGFuaCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhbM11bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IHRhbmgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE1Njg1LDExNyAr
MTU2ODUsMTE3IEBAIGZsb2F0NCBjb3MoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNvcyhmbG9hdDJ4
MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGNvcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBjb3MoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNv
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3Mo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGNvcyhmbG9hdDN4MiB4
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Y29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBj
b3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjb3MoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvcyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjb3MoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MyBjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3Mo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNvcyhmbG9hdDR4NCB4KSB7
CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29z
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3Mo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGNvcyh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBjb3MoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTYyNTksMTE3ICsx
NjI1OSwxMTcgQEAgZmxvYXQ0IGxvZzIoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxvZzIoZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQg
bG9nMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBs
b2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gyIGxvZzIoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxv
ZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDMgbG9nMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cy
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxvZzIoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2cyKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9n
Mih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGxvZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbG9nMihmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cy
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZzIo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzIoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxvZzIoZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxv
ZzIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhb
Ml1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbG9n
Mih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBsb2cyKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xNjQxNywxMTcgKzE2NDE3LDExNyBAQCBmbG9hdDQgbGRleHAoZmxvYXQ0IHgsIGZs
b2F0NCB5KSB7CiBmbG9hdDJ4MiBsZGV4cChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAg
ZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBsZGV4cChmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhw
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsZGV4cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5KSB7
CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhw
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhb
MV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1b
M10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBsZGV4cChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQz
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhw
KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhb
MV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsZGV4cChm
bG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxk
ZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0s
IHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxkZXhw
KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhb
MV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBsZGV4cChmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxk
ZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhw
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhb
MF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1b
Ml0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3Vs
dFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MiBsZGV4cChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9
IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11b
MV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxk
ZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBs
ZGV4cChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhb
MF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxk
ZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0s
IHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhw
KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZGV4cChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxk
ZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0s
IHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhw
KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1b
MV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxk
ZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxkZXhwKHhbM11bM10s
IHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNjc4MCwxMTcgKzE2NzgwLDEx
NyBAQCBmbG9hdDQgYWJzKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhYnMoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFicyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhYnMo
ZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBh
YnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
YWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhYnMoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgYWJzKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJz
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBhYnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBhYnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGFicyhm
bG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFi
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWJz
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhYnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGFicyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgYWJz
KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBh
YnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFi
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWJz
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhYnMoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
YWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10p
OwogICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBh
YnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CiAgICAgcmVzdWx0
WzNdWzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJz
KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBhYnMo
eFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2OTU2LDExNyArMTY5NTYsMTE3
IEBAIGZsb2F0NCByb3VuZChmbG9hdDQgeCkgewogZmxvYXQyeDIgcm91bmQoZmxvYXQyeDIgeCkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgcm91bmQoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgcm91bmQoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3Vu
ZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgcm91bmQoZmxvYXQzeDIgeCkg
ewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3Vu
ZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
b3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSByb3VuZCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3Vu
ZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDMgcm91bmQoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
b3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBy
b3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3Vu
ZCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBy
b3VuZCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByb3VuZCh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMTcyMTAsMjM0ICsxNzIxMCwyMzQgQEAgZmxvYXQ0IG11bChm
bG9hdDQgeCwgZmxvYXQgeSkgewogZmxvYXQyeDIgbXVsKGZsb2F0IHgsIGZsb2F0MngyIHkpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngyIG11bChmbG9h
dDJ4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJl
c3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5
OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBtdWwoZmxvYXQgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKICAgICByZXN1bHRb
MV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMV0g
PSB4ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbXVsKGZsb2F0
MngzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVz
dWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7
CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFd
WzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdCB4LCBmbG9hdDJ4NCB5KSB7CiAg
ICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBd
WzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9
IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3Vs
dFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5
WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsx
XSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDQgeCwgZmxvYXQgeSkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICog
eTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1bHRb
M11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKICAg
ICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJd
ICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bMV0g
PSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0IHgsIGZsb2F0M3gyIHkpIHsKICAgICBm
bG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJd
WzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0g
KiB5OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9
IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3Vs
dFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5Owor
ICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1b
Ml0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQgeCwgZmxv
YXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICog
eVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB4ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsy
XTsKICAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXN1bHRb
Ml1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsy
XVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZs
b2F0IHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVz
dWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7
CiAgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CiAgICAgcmVzdWx0WzJd
WzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAg
cmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAq
IHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG11bChmbG9hdCB4LCBmbG9hdDN4
NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBd
WzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJlc3Vs
dFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVsw
XSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFd
OworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHgg
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsy
XVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10g
PSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
LSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzJd
WzBdICogeTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKICAgICBy
ZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICog
eTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4
WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRb
Ml1bM10gPSB4WzJdWzNdICogeTsKKyAgICByZXN1bHRbM11bMl0gPSB4WzNdWzJdICogeTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0IHgsIGZsb2F0NHgyIHkpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07
Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBd
WzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9hdDR4MiB4LCBmbG9hdCB5KSB7CiAg
ICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0g
KiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5Owot
ICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1b
Ml0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFswXVsz
XSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQgeCwgZmxvYXQ0eDMgeSkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsy
XTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRb
Ml1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsKLSAgICByZXN1
bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsK
LSAgICByZXN1bHRbM11bMl0gPSB4ICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSB4ICog
eVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSB4ICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1b
M10gPSB4ICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZs
b2F0NHgzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAg
cmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
eFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0
WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CiAg
ICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsy
XSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVz
dWx0WzNdWzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7
CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNdID0geFsx
XVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0geFsyXVszXSAqIHk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9
IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOwogICAgIHJlc3Vs
dFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHggKiB5
WzJdWzNdOwogICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHgg
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAgIHJlc3VsdFsz
XVsyXSA9IHggKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAg
IHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJd
WzNdOwogICAgIHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1
bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsK
LSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFd
WzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKICAgICByZXN1bHRbMl1b
MF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICog
eTsKICAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4
WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKKyAgICByZXN1bHRb
Ml1bMV0gPSB4WzJdWzFdICogeTsKICAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJd
ICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKICAgICByZXN1bHRbM11bMl0g
PSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKKyAgICByZXN1
bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICogeTsK
ICAgICByZXN1bHRbM11bM10gPSB4WzNdWzNdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMTc0NzIsOSArMTc0NzIsOSBAQCBmbG9hdDIgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MiB5KSB7
CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSAr
PSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KQEAgLTE3NDgyLDkgKzE3NDgyLDkgQEAgZmxvYXQyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDIg
eSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAg
IHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAq
IHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CkBAIC0xNzQ5Miw5NSArMTc0OTIsOTUgQEAgZmxvYXQzIG11bChmbG9hdDIgeCwgZmxv
YXQyeDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICBy
ZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFd
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwogICAgIHJlc3Vs
dFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsx
XVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5
WzBdWzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0g
eFsxXSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07
CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Ci0g
ICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFszXSArPSB4WzBdICog
eVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9hdDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0g
eFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAgIHJl
c3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlb
Ml07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9IDA7
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBd
WzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVszXTsK
KyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbM11b
MV0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDIgbXVsKGZsb2F0MyB4LCBm
bG9hdDN4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAg
IHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CiAgICAg
cmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdICs9IHhb
Ml0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbXVsKGZsb2F0M3gy
IHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwog
ICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsx
XSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwogICAgIHJlc3VsdFsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CiAgICAg
cmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVsw
XTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAg
cmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdID0g
MDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhb
MV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzU4OCwxNSArMTc1ODgsMTUgQEAgZmxvYXQz
IG11bChmbG9hdDN4MyB4LCBmbG9hdDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsK
KyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1b
MF0gKiB5WzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0g
KiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0g
Kz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOworICAg
IHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlb
MV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4
WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTE3NjA0LDEzMSArMTc2MDQsMTMxIEBAIGZsb2F0NCBtdWwoZmxv
YXQzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9
IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsy
XTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
MV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0g
Kz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlb
Ml1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwogICAgIHJlc3VsdFszXSA9
IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXSArPSB4
WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9hdDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAgIHJlc3VsdFsw
XSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07Cisg
ICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICog
eVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVszXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5
WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBd
OwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsw
XVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVszXSAqIHlbM107
CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDIgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJl
c3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1b
MF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsxXVsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11bChmbG9hdDR4MiB4LCBmbG9hdDIg
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAg
IHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAq
IHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSA9
IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVz
dWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0
WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzFdICogeVsxXTsK
KyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV1b
M10gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbXVsKGZsb2F0NCB4LCBm
bG9hdDR4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAg
IHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSAr
PSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhb
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMV0gKz0geFszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsxXVszXTsKICAgICByZXN1bHRbMl0gPSAwOwot
ICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICog
eVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11bChmbG9hdDR4MyB4LCBm
bG9hdDMgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICBy
ZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOwogICAgIHJl
c3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3Vs
dFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzJd
WzFdICogeVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJd
ICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAg
ICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICBy
ZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKKyAgICByZXN1bHRbM10gKz0g
eFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV1bM10gKiB5WzFdOworICAgIHJl
c3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF0gKz0geFszXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0g
Kz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbMV1bM107CiAgICAg
cmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhb
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsKKyAgICByZXN1
bHRbMl0gKz0geFszXSAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRb
M10gKz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFszXSArPSB4WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFswXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFsz
XSArPSB4WzJdICogeVszXVsyXTsKICAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NzM2LDIzICsxNzczNiwyMyBAQCBmbG9hdDQgbXVs
KGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1bHRb
MF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5WzJdOwotICAg
IHJlc3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAq
IHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFswXSAr
PSB4WzNdWzBdICogeVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4
WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CiAgICAgcmVz
dWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsy
XTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVszXSAqIHlbM107CisgICAgcmVzdWx0WzFdICs9IHhb
Ml1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdWzFdICogeVszXTsKICAgICByZXN1
bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRb
Ml0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOwor
ICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOworICAgIHJlc3VsdFsy
XSArPSB4WzNdWzJdICogeVszXTsKICAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSAr
PSB4WzNdWzBdICogeVswXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsxXSAqIHlbMV07Ci0gICAg
cmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICog
eVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9
IHhbMl1bM10gKiB5WzJdOwogICAgIHJlc3VsdFszXSArPSB4WzNdWzNdICogeVszXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3NjAsMTUgKzE3NzYwLDE1IEBAIGZsb2F0MngyIG11bChm
bG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAw
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xNzc3NiwxMDYzICsxNzc3NiwxMDYzIEBAIGZsb2F0MngzIG11bChmbG9hdDJ4MiB4
LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsx
XSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0MngyIHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9h
dDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
MDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICog
eVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFsw
XVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRb
MV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBd
ICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsx
XSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQyeDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAg
cmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4
WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1b
Ml0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1b
Ml0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFd
WzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDIgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICog
eVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNd
WzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsz
XVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
MV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzFd
ID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsx
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0g
eFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFszXVsxXSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0
IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNd
WzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsy
XVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBd
ICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bM107CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNd
WzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJl
c3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsx
XVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFd
ID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQz
eDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0
WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSAw
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gyIHgsIGZsb2F0Mng0IHkpIHsKICAg
ICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBd
WzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNd
WzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICBy
ZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0g
eFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5
WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0g
MDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1b
M107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJl
c3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsx
XVsyXSAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG11bChmbG9h
dDN4MyB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFd
WzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJd
WzJdICogeVsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbXVsKGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsw
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJl
c3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJd
WzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0
WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsx
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFd
WzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRb
Ml1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
ICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7
CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsx
XSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlb
M11bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsy
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAw
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5
WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG11bChmbG9hdDN4NCB4LCBmbG9h
dDR4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBd
WzNdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsx
XVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsz
XSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVsz
XTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNd
WzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBd
ID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsw
XSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5
WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsx
XTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJl
c3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVsw
XVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAg
IHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDN4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzBd
WzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bM107Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFd
WzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
M11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBd
ICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1
bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVszXVsz
XTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsx
XVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0g
PSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRb
M11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0g
KiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVsw
XVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5
WzNdWzNdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKKyAgICByZXN1
bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVszXVsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0
MngyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgyIHgsIGZsb2F0MngzIHkpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0g
MDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSA9
IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsx
XVszXSAqIHlbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9h
dDR4MiB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBd
ID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsw
XSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0g
eFsxXVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM11bMF0g
PSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKICAgICBy
ZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzNdWzFd
ICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAg
IHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0g
eFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1b
M10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICog
eVsyXVsxXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVs
KGZsb2F0NHgzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAw
OwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11b
MF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJl
c3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsyXVszXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG11
bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3Vs
dFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVsw
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
MDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsx
XVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsK
ICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3Vs
dFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1
bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1b
M10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFd
WzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdDR4MyB4LCBmbG9hdDN4NCB5
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwot
ICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBd
WzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRb
MF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAg
cmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4
WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0g
eFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJd
OwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFd
WzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJd
WzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAg
IHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0g
eFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNd
OwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsx
XTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBd
WzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVszXSA9
IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsw
XVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bM10g
PSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10g
KiB5WzJdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVszXTsK
LSAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzNd
ICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVszXSArPSB4WzFdWzNdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsyXVszXSAqIHlbM11bMl07CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9hdDR4NCB4LCBmbG9hdDR4MiB5KSB7CiAgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1
bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVsz
XTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0g
ICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5
WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1
bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHg0IHgsIGZsb2F0
NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0g
ICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAq
IHlbM11bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsz
XVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1
bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9
IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVsw
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsx
XVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0g
PSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICBy
ZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4
WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07
Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3Vs
dFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsy
XSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNdWzFdOwotICAg
IHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5
WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVsz
XTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNd
WzNdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzNdWzNdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsK
LSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsy
XVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bM107CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBd
ICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAg
cmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVsw
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1b
MF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMV1bM10g
PSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
MV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0g
KiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVszXVszXTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVsz
XVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4
WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAg
IHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0g
eFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJd
OworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1b
Ml0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAg
ICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICog
eVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1b
Ml07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsy
XVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJl
c3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsy
XVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzNdOwot
ICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10g
KiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsy
XVszXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4
WzNdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzJdWzJdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlb
M11bM107CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsz
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAg
IHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFszXVszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1b
M10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFszXVszXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAg
ICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9
IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsyXVsy
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFszXVszXSAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNd
WzNdID0gMDsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07Cisg
ICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzJdWzNdICogeVszXVsyXTsKICAgICByZXN1bHRbM11bM10gKz0geFszXVszXSAqIHlbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5MTI4LDExNyArMTkxMjgsMTE3IEBAIGZs
b2F0NCByYWRpYW5zKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiByYWRpYW5zKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4MyByYWRpYW5zKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHJhZGlhbnMoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gcmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiByYWRpYW5zKGZsb2F0M3gyIHgp
IHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsy
XVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gz
IHJhZGlhbnMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCByYWRpYW5zKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgzIHJhZGlhbnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCByYWRpYW5zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5z
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByYWRpYW5z
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5z
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5z
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSByYWRpYW5z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5z
KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRpYW5z
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzNdID0gcmFkaWFucyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAt
MTkyOTksMTE3ICsxOTI5OSwxMTcgQEAgZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IGNlaWwoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MngzIGNlaWwoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNl
aWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGNlaWwoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Y2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNlaWwoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNl
aWwoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gY2VpbCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjZWlsKGZsb2F0NHgyIHgpIHsKICAgICBm
bG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjZWls
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
Y2VpbCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgY2VpbChmbG9h
dDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBj
ZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IGNlaWwoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNl
aWwoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNlaWwoZmxvYXQ0
eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2Vp
bCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICBy
ZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjZWlsKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWls
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CiAgICAgcmVzdWx0
WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
Y2VpbCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBjZWlsKHhbM11bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CkBAIC0xOTUyNCwxMTcgKzE5NTI0LDExNyBAQCBmbG9hdDQgYXNpbihm
bG9hdDQgeCkgewogZmxvYXQyeDIgYXNpbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4
WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYXNpbihmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBhc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
YXNpbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgYXNpbihmbG9h
dDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4o
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
c2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBhc2luKGZsb2F0M3gzIHgpIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFz
aW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gYXNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgYXNp
bihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhc2lu
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
YXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IGFzaW4oeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGFzaW4o
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBh
c2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXNpbih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MyBhc2luKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXNp
bih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFzaW4oeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDQgYXNpbihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGFzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4o
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBh
c2luKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4
WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBhc2luKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGFz
aW4oeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5OTkxLDExNyArMTk5OTEs
MTE3IEBAIGZsb2F0NCBwb3coZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBwb3coZmxv
YXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBwb3coZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4
WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3co
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcG93KGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcG93
KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBwb3coZmxvYXQzeDIgeCwg
ZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBw
b3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
cG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
cG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwg
eVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVsz
XSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1b
M10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFd
WzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsx
XVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgyIHBvdyhmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3co
eFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcG93KGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93
KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBw
b3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4NCBwb3coZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10s
IHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNd
LCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsx
XSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJd
WzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBwb3coeFszXVszXSwgeVszXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNDU0LDExNyArMjA0NTQsMTE3IEBAIGZsb2F0
NCB0YW4oZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW4o
eFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRhbihmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0YW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9
IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHRhbihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyB0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRh
bih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gdGFu
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbih4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdGFuKGZsb2F0NHgyIHgp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0
YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRh
bih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFu
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0YW4oZmxvYXQ0eDMg
eCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
dGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0
YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRh
bih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHg0IHRhbihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
dGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0
YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7
CiAgICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRh
bih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gdGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHRhbih4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA1OTcsMTE3ICsyMDU5NywxMTcgQEAgZmxvYXQ0
IGZtYShmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6KQogZmxvYXQyeDIgZm1hKGZsb2F0Mngy
IHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDMgZm1hKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
Zm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGZt
YShmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CiAgICAgZmxvYXQyeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
Zm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtYSh4
WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHks
IGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Zm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZtYShmbG9hdDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9h
dDN4MyB6KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1h
KHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
Zm1hKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKICAgICBmbG9hdDN4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1h
KHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11b
MF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBm
bWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZm1hKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewogICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBm
bWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1hKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZtYShmbG9hdDR4MyB4LCBmbG9hdDR4
MyB5LCBmbG9hdDR4MyB6KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBm
bWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbWEo
eFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11b
MV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgsIGZsb2F0
NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBd
ID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
YSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNd
WzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsK
ICAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
Zm1hKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBA
IC0yMDcxNyw1OSArMjA3MTcsNTkgQEAgZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQgeCkgewogICAg
IHJldHVybiB4OwogfQogZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgewotICAgIHJldHVy
biB4WzBdWzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOworICAgIHJldHVybiB4WzBd
WzBdICogeFsxXVsxXSAtIHhbMV1bMF0gKiB4WzBdWzFdOwogfQogZmxvYXQgZGV0ZXJtaW5hbnQo
ZmxvYXQzeDMgeCkgewogICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAqIHhbMl1bMl0gKwot
ICAgICAgICAgICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1bMF0gKwotICAgICAgICAgICB4WzBd
WzJdICogeFsxXVswXSAqIHhbMl1bMV0gLQotICAgICAgICAgICB4WzJdWzBdICogeFsxXVsxXSAq
IHhbMF1bMl0gLQotICAgICAgICAgICB4WzJdWzFdICogeFsxXVsyXSAqIHhbMF1bMF0gLQotICAg
ICAgICAgICB4WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07CisgICAgICAgICAgIHhbMV1bMF0g
KiB4WzJdWzFdICogeFswXVsyXSArCisgICAgICAgICAgIHhbMl1bMF0gKiB4WzBdWzFdICogeFsx
XVsyXSAtCisgICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzFdICogeFsyXVswXSAtCisgICAgICAg
ICAgIHhbMV1bMl0gKiB4WzJdWzFdICogeFswXVswXSAtCisgICAgICAgICAgIHhbMl1bMl0gKiB4
WzBdWzFdICogeFsxXVswXTsKIH0KIGZsb2F0IGRldGVybWluYW50KGZsb2F0NHg0IHgpIHsKICAg
ICBmbG9hdCByZXN1bHQ7CiAgICAgZmxvYXQzeDMgbWlub3I7CiAgICAgbWlub3JbMF1bMF0gPSB4
WzFdWzFdOwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhb
MV1bM107CiAgICAgbWlub3JbMV1bMF0gPSB4WzJdWzFdOwotICAgIG1pbm9yWzFdWzFdID0geFsy
XVsyXTsKLSAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAgICAgbWlub3JbMl1bMF0gPSB4WzNd
WzFdOworICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMl1b
Ml07CiAgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFsxXVsz
XTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNd
OwogICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0g
ICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKLSAg
ICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJdWzBdOworICAg
IG1pbm9yWzBdWzBdID0geFswXVsxXTsKKyAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07CisgICAg
bWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKICAgICBt
aW5vclsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOwotICAgIG1p
bm9yWzJdWzBdID0geFszXVswXTsKICAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Ci0gICAgbWlu
b3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1bMV0gKiBkZXRl
cm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBd
WzFdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3JbMV1b
MF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKKyAgICBtaW5vclswXVsy
XSA9IHhbMF1bM107CiAgICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOwotICAgIG1pbm9yWzJdWzBd
ID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11bMV07CiAgICAgbWlub3JbMl1bMl0g
PSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMl0gKiBkZXRlcm1pbmFudCht
aW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBdWzFdID0geFsx
XVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bMl07Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJd
WzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKLSAgICBtaW5vclsxXVsyXSA9IHhbMl1b
Ml07Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0geFszXVsx
XTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IC0geFsw
XVszXSAqIGRldGVybWluYW50KG1pbm9yKTsKKyAgICByZXN1bHQgPSByZXN1bHQgLSB4WzFdWzBd
ICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBdID0geFswXVsxXTsKKyAgICBt
aW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1p
bm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMV1bMl07CisgICAgbWlu
b3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsKKyAgICBtaW5v
clsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCArIHhbMl1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAgbWlub3JbMF1b
MF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBtaW5vclsyXVsw
XSA9IHhbMl1bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1pbm9yWzFdWzFd
ID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbMl1bMl07CisgICAgbWlub3JbMF1bMl0g
PSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsyXVsyXSA9
IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFszXVswXSAqIGRldGVybWluYW50KG1p
bm9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0yMDgzNCwxMTcgKzIwODM0LDExNyBA
QCBmbG9hdDQgZmxvb3IoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGZsb29yKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
Zmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGZsb29yKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
Zmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3Io
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZsb29yKGZsb2F0M3gyIHgpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZsb29yKGZsb2F0M3gzIHgpIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
Zmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3Io
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3g0IGZsb29yKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3Io
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZmxv
b3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
Zmxvb3IoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZsb29yKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
Zmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3Io
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgz
IGZsb29yKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxv
b3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHg0IGZsb29yKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxv
b3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
Zmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3Io
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJd
ID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxv
b3IoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZmxvb3IoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTIxMjQ3LDExNyArMjEyNDcsMTE3IEBAIGZsb2F0NCBhdGFuMihm
bG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGF0YW4yKGZsb2F0MngyIHgsIGZsb2F0Mngy
IHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
YXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIo
eFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGF0YW4yKGZsb2F0Mng0IHgsIGZs
b2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRh
bjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwg
eVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIo
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsx
XVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGF0YW4yKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRh
bjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsy
XVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGF0YW4yKGZs
b2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRh
bjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIo
eFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsy
XSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgyIGF0YW4yKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAg
ICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
YXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsy
XSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgzIGF0YW4yKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsx
XVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsx
XSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXRh
bjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwg
eVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIo
eFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGF0YW4yKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRh
bjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbjIo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
YXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYXRh
bjIoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIyMzM3LDEx
NyArMjIzMzcsMTE3IEBAIGZsb2F0NCBmbW9kKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxvYXQy
eDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZm1vZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhb
Ml1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBmbW9kKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9k
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBd
LCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhb
MV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1vZChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhb
MV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBmbW9kKGZs
b2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9k
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZtb2QoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZt
b2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1b
M10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZtb2QoZmxvYXQ0eDIgeCwgZmxvYXQ0
eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhb
MF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZt
b2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyBmbW9kKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZt
b2QoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2Qo
eFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJd
WzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
Zm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZm1vZChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZtb2Qo
eFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
Zm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0s
IHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFsz
XVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZm1v
ZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0g
PSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGZtb2QoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTIzMDkzLDExNyArMjMwOTMsMTE3IEBAIGZsb2F0NCBtaW4oZmxvYXQ0IHgsIGZsb2F0NCB5KSB7
CiBmbG9hdDJ4MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1p
bih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtaW4oZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBt
aW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgs
IGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
bWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwg
eVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0s
IHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBd
LCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBd
WzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsx
XVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtaW4oZmxvYXQzeDQgeCwgZmxvYXQz
eDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IG1pbih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtaW4o
eFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWlu
KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1pbihmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAg
ICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBt
aW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
bWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5
WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbWluKGZsb2F0NHgzIHgs
IGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
bWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwg
eVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBd
LCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVsz
XSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtaW4oZmxvYXQ0eDQgeCwgZmxvYXQ0eDQg
eSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVsw
XSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBtaW4oeFsz
XVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbWluKHhb
M11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IG1pbih4
WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBtaW4o
eFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIzNTMyLDExNyAr
MjM1MzIsMTE3IEBAIGZsb2F0NCB0cnVuYyhmbG9hdDQgeCkgewogZmxvYXQyeDIgdHJ1bmMoZmxv
YXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVu
Yyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgdHJ1bmMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVu
Yyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVu
Yyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0
cnVuYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdHJ1bmMoZmxv
YXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVu
Yyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0
cnVuYyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdHJ1bmMoZmxv
YXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVu
Yyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVu
Yyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVu
Yyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDMgdHJ1bmMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0
cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSB0cnVuYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJ1bmMoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVu
Yyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSB0cnVuYyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0
cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKICAgICBy
ZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSB0cnVuYyh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjQ2NDUsMTE3ICsyNDY0NSwxMTcgQEAgZmxv
YXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIG1heChmbG9hdDJ4MiB4LCBm
bG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1h
eCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1h
eChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBtYXgoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0s
IHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1heChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1b
Ml0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYXgoZmxvYXQz
eDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3g0IG1heChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhb
MF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1h
eCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWF4
KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1h
eCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJd
LCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1b
Ml0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsy
XVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFd
KTsKICAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgo
eFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1b
M10pOwogICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQpAQCAtMjc0ODAsMTE3ICsyNzQ4MCwxMTcgQEAgZmxvYXQ0IGRlZ3JlZXMo
ZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRlZ3JlZXMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGRlZ3JlZXMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGVncmVlcyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVz
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVz
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVz
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVz
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRlZ3JlZXMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVl
cyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGVncmVl
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVl
cyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGVncmVlcyhmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3Jl
ZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRlZ3Jl
ZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3Jl
ZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3Jl
ZXMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRlZ3JlZXMoZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdy
ZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZWdy
ZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdy
ZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZWdy
ZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZWdy
ZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdy
ZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZWdy
ZWVzKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZWdyZWVzKGZs
b2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVn
cmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVn
cmVlcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGVncmVlcyhm
bG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRl
Z3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRl
Z3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRl
Z3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRl
Z3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRl
Z3JlZXMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRl
Z3JlZXMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRlZ3JlZXMo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZWdyZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBk
ZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBk
ZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBk
ZWdyZWVzKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBk
ZWdyZWVzKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yODExMiwxMTcgKzI4
MTEyLDExNyBAQCBmbG9hdDQgc2luaChmbG9hdDQgeCkgewogZmxvYXQyeDIgc2luaChmbG9hdDJ4
MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgc2luaChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBzaW5oKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBz
aW5oKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNp
bmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2lu
aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
c2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgc2luaChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNp
bmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgyIHNpbmgoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5o
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzaW5oKGZsb2F0NHgzIHgpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgo
eFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc2luaCh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2luaChmbG9hdDR4NCB4KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2lu
aCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9
IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsy
XVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBzaW5o
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KQEAgLTI4MjUzLDExNyArMjgyNTMsMTE3IEBAIGZsb2F0NCBkZHkoZmxvYXQ0IHgpIHsKIGZs
b2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MngzIGRkeShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBkZHkoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHkoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIGRkeShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHkoZmxvYXQzeDMgeCkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHko
eFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeShmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBk
ZHkoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5
KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0
IGRkeShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGRkeSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
ZGR5KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IGRkeSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMzMwODQsMTE3ICszMzA4NCwxMTcgQEAgZmxvYXQ0IGZyYWMoZmxvYXQ0IHgpIHsKIGZs
b2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGZyYWMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgZnJhYyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZyYWMoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZy
YWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZnJhYyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJh
Yyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGZyYWMoZmxvYXQzeDQgeCkg
ewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGZyYWMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
cmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmcmFjKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZy
YWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZnJh
YyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZnJhYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmcmFjKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGZyYWMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGZyYWMo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
cmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZy
YWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBmcmFjKHhbM11bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzQ1OSwxMTcgKzMzNDU5LDExNyBAQCBmbG9hdDQg
bG9nMTAoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxvZzEwKGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGxv
ZzEwKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
MTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nMTAoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxv
ZzEwKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9n
MTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZzEwKGZsb2F0M3gyIHgpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxvZzEwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IGxvZzEwKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9n
MTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgyIGxvZzEwKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9n
MTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
bG9nMTAoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxvZzEwKGZs
b2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9n
MTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHg0IGxvZzEwKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9n
MTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7
CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nMTAoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTMzODIzLDExNyArMzM4MjMsMTE3IEBAIGZsb2F0NCBkZHlfZmluZShmbG9hdDQg
eCkgewogZmxvYXQyeDIgZGR5X2ZpbmUoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDMgZGR5X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmlu
ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlf
ZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR5X2ZpbmUoZmxvYXQyeDQgeCkgewog
ICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmlu
ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlf
ZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR5X2ZpbmUo
ZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2ZpbmUoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmlu
ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlf
ZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR5X2ZpbmUoZmxvYXQzeDQgeCkg
ewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmlu
ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlf
ZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBk
ZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBkZHlfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
ZGR5X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmlu
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlf
ZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgZGR5X2ZpbmUoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmlu
ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
ZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBk
ZHlfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHlfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5X2ZpbmUoZmxvYXQ0eDQgeCkg
ewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmlu
ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlf
ZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBk
ZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBkZHlfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bM10gPSBkZHlfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAt
MzQxOTgsMjM0ICszNDE5OCwyMzQgQEAgYm9vbCBhbnkoZmxvYXQ0IHgpIHsKIGJvb2wgYW55KGZs
b2F0MngyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0MngzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsy
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0M3gyIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsy
XSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0M3g0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDR4MyB4KSB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0NHg0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0g
IT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogYm9vbCBhbnkoYm9vbDJ4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsx
XTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4NCB4
KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDN4MiB4KSB7CiAgICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbnkoYm9vbDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDN4
NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsy
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoYm9vbDR4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsx
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9v
bDR4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsz
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogYm9vbCBhbnkoYm9vbDR4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsy
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzQ2MzYsMTE3
ICszNDYzNiwxMTcgQEAgZmxvYXQ0IGRkeV9jb2Fyc2UoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRk
eV9jb2Fyc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fy
c2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGRk
eV9jb2Fyc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fy
c2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2Nv
YXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR5X2NvYXJz
ZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2Nv
YXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlf
Y29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeV9jb2Fyc2UoZmxvYXQzeDIgeCkg
ewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlf
Y29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2Uo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2Uo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRk
eV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJz
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IGRkeV9jb2Fyc2UoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJz
ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfY29h
cnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9j
b2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9j
b2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDMgZGR5X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5
X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNl
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHlfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fy
c2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGRkeV9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHg0IGRkeV9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2Nv
YXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBkZHlf
Y29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2Uo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRk
eV9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJz
ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNlKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNTA5NSwxMTcgKzM1MDk1LDExNyBAQCBmbG9hdDQgZGR4
KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHgoZmxvYXQyeDMgeCkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgZGR4KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRk
eCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZGR4KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBk
ZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
ZGR4KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBkZHgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHgoeFszXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeChmbG9hdDR4MiB4KSB7CiAg
ICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4KGZsb2F0NHgzIHgpIHsK
ICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgo
eFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhb
Ml1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBkZHgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4NCBkZHgoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4
WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwogICAg
IHJlc3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHgoeFszXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1Mzg0LDExNyArMzUzODQsMTE3IEBAIGZsb2F0NCBjb3No
KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBjb3NoKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBjb3NoKGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGNvc2goeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2go
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNv
c2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBjb3NoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBjb3NoKGZs
b2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29z
aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsx
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGNvc2goZmxvYXQzeDMgeCkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
Y29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2go
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBjb3NoKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBj
b3NoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zaCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGNv
c2goeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gY29zaCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgY29z
aChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjb3No
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIGNvc2goZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2go
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBj
b3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zaCh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4NCBjb3NoKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gY29zaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29z
aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGNvc2goeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11b
MV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3No
KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGNvc2goeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
Y29zaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzU1MjcsMTE3ICszNTUy
NywxMTcgQEAgZmxvYXQ0IGRkeF9jb2Fyc2UoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRkeF9jb2Fy
c2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9j
b2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGRkeF9jb2Fy
c2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4X2NvYXJzZShmbG9h
dDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9j
b2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNl
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeF9jb2Fyc2UoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNl
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBk
ZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2NvYXJzZShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fy
c2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3g0IGRkeF9jb2Fyc2UoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2Nv
YXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhf
Y29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2Uo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2Uo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eF9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJz
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR4X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4
X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJz
ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29h
cnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeF9j
b2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0
IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9j
b2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4
X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNl
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBk
ZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fy
c2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGRkeF9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJd
WzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC0zNTk4MiwxMTcgKzM1OTgyLDExNyBAQCBmbG9hdDQgcmNwKGZsb2F0
NCB4KSB7CiBmbG9hdDJ4MiByY3AoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByY3AoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgcmNwKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gcmNwKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiByY3AoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcmNwKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmNw
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSByY3AoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3Ao
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gcmNwKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByY3Ao
ZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBy
Y3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJj
cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3Ao
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByY3AoeFszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHJjcChmbG9hdDR4MiB4KSB7CiAgICAgZmxv
YXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBy
Y3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmNwKGZsb2F0NHgzIHgpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
cmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0p
OwotICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
Y3AoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9
IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBy
Y3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwogICAgIHJlc3Vs
dFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJj
cCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTM2NDg0LDExNyArMzY0ODQsMTE3IEBAIGZsb2F0NCBmd2lkdGgoZmxv
YXQ0IHgpIHsKIGZsb2F0MngyIGZ3aWR0aChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGZ3aWR0
aChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3
aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBmd2lkdGgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBm
d2lkdGgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZ3aWR0aChm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3
aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0
aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBmd2lkdGgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBm
d2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmd2lk
dGgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGZ3aWR0aChmbG9h
dDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0
aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZndpZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZndp
ZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZndpZHRoKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBmd2lkdGgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndp
ZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRo
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGZ3aWR0
aChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZ3
aWR0aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0
aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFd
KTsKICAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZndp
ZHRoKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGZ3aWR0aCh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMzcyNDIsMTE3ICszNzI0MiwxMTcgQEAgZmxvYXQ0IGxlcnAo
ZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgegogZmxvYXQyeDIgbGVycChmbG9hdDJ4MiB4LCBm
bG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxl
cnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDMgbGVycChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxvYXQy
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
ZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBsZXJwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZXJw
KHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbGVy
cChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVy
cCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBsZXJwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJd
WzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbGVycChmbG9h
dDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBs
ZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVsz
XVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgyIGxlcnAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewog
ICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVy
cCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBsZXJwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJd
WzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0s
IHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbGVycChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9h
dDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVsw
XVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVsw
XSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0sIHpbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJl
c3VsdFszXVszXSA9IGxlcnAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0aWxpdGllcy5j
cHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjYsMTQgKzY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoY2FsbEV4cHJl
c3Npb24pOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAg
IG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1bmN0
aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFtZXMu
YWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAg
ICAgVmlzaXRvcjo6dmlzaXQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICB9Ci0KICAg
ICBIYXNoU2V0PFN0cmluZz4gbV9mdW5jdGlvbk5hbWVzOwogfTsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5j
dGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjQ5
MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVz
aXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxNSArNTYs
NiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUVudW1lcmF0CiAgICAgICAgICAg
ICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVE
ZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBBU1Q6OlR5cGVSZWZlcmVu
Y2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiksIFN0cmluZygpLCBudWxs
cHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFy
YW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVE
ZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKGxvY2F0
aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgZW51bWVyYXRpb25EZWZp
bml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMp
LCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7Ci0g
ICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigi
Q2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51bSB0eXBlLiIpKTsKLSAgICAgICAg
fQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1h
a2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFs
aWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25E
ZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAgICAgICAgQVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgcGFyYW1ldGVy
cy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7CiAgICAgICAgICAgICBBU1Q6
Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6
OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RG
OjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yIGNhc3Qi
X3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01v
ZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAgaWYgKCFwcm9ncmFtLmFwcGVuZChX
VEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkKICAgICAgICAgICAgICAgICByZXR1
cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVhdGUgY29weSBjb25zdHJ1Y3RvciBm
b3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9uLmgJKHJldmlzaW9u
IDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6
CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpEb3Qs
IFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92ZShmaWVsZE5hbWUp
KQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAgICAgfQogCiAgICAg
fkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEgQEAgcHVibGljOgog
ICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIERv
dEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0
dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5n
KCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3Bl
cmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVyRnVu
Y3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJvcGVy
YXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYgZmllbGROYW1lKCkg
eyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9maWVsZE5h
bWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNz
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE2OCwzMyArMTY4LDYgQEAgdm9pZCBFeHByZXNzaW9uOjpkZXN0cnVjdChF
eHByZXNzaW9uJiBleAogICAgIH0KIH0KIAotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bjo6Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lv
bj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMp
LmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0aGlz
KSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLmdldHRl
ckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0K
LVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNldHRlckZ1bmN0aW9uTmFtZSgpIGNv
bnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJu
IGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAg
ICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2Fz
dDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uOjphbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJl
c3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0
aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLmFu
ZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0K
LQogfSAvLyBuYW1lc3BhY2UgQVNUCiAKIH0gLy8gbmFtZXNwYWNlIFdITFNMCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xJbmRleEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTUyLDIxICs1Miw2IEBAIHB1YmxpYzoKICAgICBJbmRleEV4cHJlc3Npb24o
Y29uc3QgSW5kZXhFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAgSW5kZXhFeHByZXNzaW9uKElu
ZGV4RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25O
YW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3JbXSJfc3RyOwotICAg
IH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuICJvcGVyYXRvcltdPSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yJltdIl9z
dHI7Ci0gICAgfQotCiAgICAgRXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKCkgeyByZXR1cm4g
bV9pbmRleDsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiB0YWtlSW5kZXgoKSB7IHJldHVy
biBXVEZNb3ZlKG1faW5kZXgpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtODYsMTEgKzg2LDI5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgdW5zaWduZWQg
bnVtYmVyT2ZNYXRyaXhSb3dzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNp
b24oMSk7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMik7CiAgICAgfQogICAgIHVu
c2lnbmVkIG51bWJlck9mTWF0cml4Q29sdW1ucygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0
cml4RGltZW5zaW9uKDIpOworICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAg
IH0KKworICAgIFR5cGVSZWZlcmVuY2UmIHZlY3RvclR5cGVBcmd1bWVudCgpCisgICAgeworICAg
ICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNU
OjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKKyAgICB9CisKKyAgICB1bnNp
Z25lZCB2ZWN0b3JTaXplKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAg
ICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPih0eXBlQXJndW1l
bnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKKyAgICB9CisKKyAgICBUeXBlUmVm
ZXJlbmNlJiBtYXRyaXhUeXBlQXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzTWF0
cml4KCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+
KHR5cGVBcmd1bWVudHMoKVswXSk7CiAgICAgfQogCiAgICAgdm9pZCBzZXRJc0ludCgpIHsgbV9p
c0ludCA9IHRydWU7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTMsNDUgKzUzLDEyIEBAIHB1YmxpYzoKICAgICBQcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24oY29uc3QgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAgUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYmKSA9IGRlZmF1
bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0gICAgU3RyaW5n
IHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFt
ZSgpIGNvbnN0OwotCi0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24oKSB7
IHJldHVybiBtX2dldHRlckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fYW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVj
bGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3RocmVhZEFuZGVyRnVu
Y3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbigpIHsgcmV0
dXJuIG1fc2V0dGVyRnVuY3Rpb247IH0KLQotICAgIHZvaWQgc2V0R2V0dGVyRnVuY3Rpb24oRnVu
Y3Rpb25EZWNsYXJhdGlvbiogZ2V0dGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX2dldHRl
ckZ1bmN0aW9uID0gZ2V0dGVyRnVuY3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRBbmRlckZ1
bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24pCi0gICAgewotICAgICAg
ICBtX2FuZGVyRnVuY3Rpb24gPSBhbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0
VGhyZWFkQW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0
aW9uKQotICAgIHsKLSAgICAgICAgbV90aHJlYWRBbmRlckZ1bmN0aW9uID0gdGhyZWFkQW5kZXJG
dW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFNldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVj
bGFyYXRpb24qIHNldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9zZXR0ZXJGdW5jdGlv
biA9IHNldHRlckZ1bmN0aW9uOwotICAgIH0KLQogICAgIEV4cHJlc3Npb24mIGJhc2UoKSB7IHJl
dHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4mIGJhc2VSZWZlcmVuY2Uo
KSB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBVbmlxdWVSZWY8RXhwcmVzc2lvbj4gdGFrZUJhc2Uo
KSB7IHJldHVybiBXVEZNb3ZlKG1fYmFzZSk7IH0KIAogcHJpdmF0ZToKICAgICBVbmlxdWVSZWY8
RXhwcmVzc2lvbj4gbV9iYXNlOwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fZ2V0dGVyRnVu
Y3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9hbmRlckZ1bmN0
aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fdGhyZWFkQW5kZXJG
dW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3NldHRlckZ1
bmN0aW9uIHsgbnVsbHB0ciB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9N
ZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDx3dGYvU2V0Rm9y
U2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpbmNsdWRl
IDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExT
TCB7CkBAIC02Myw3ICs2NSw1NyBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3RydWN0IFZh
cmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xlZFR5cGVO
YW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBwdWJsaWMg
VmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVibGljIFZp
c2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3Rv
cihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcikKKyAg
ICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChBU1Q6OkNh
bGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAg
ICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICBzaXplX3Qgc2l6
ZSA9IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgICAgIGJvb2wg
aXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgZnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKKyAgICAgICAgICAgIGlm
ICghaXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsKKyAgICAgICAgICAgIHZhcmlhYmxl
cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgICAgICAgICBmb3IgKGF1dG8m
IGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKKyAgICAgICAgICAgICAg
ICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUoKSk7CisgICAgICAgICAgICAgICAg
YXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQoVmFyaWFi
bGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIWlz
Vm9pZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZhcmlhYmxl
IHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBm
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGNh
bGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9Ib2lzdC5h
ZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAgICAgICBW
aXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAgICAgICB2b2lk
IHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKSBv
dmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZhcmlhYmxl
czsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5v
bGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5kKFZhcmlh
YmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgp
LCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0pOworCisgICAgICAgICAgICB0
b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAg
ICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUpOworICAgICAgICB9CisKKyAg
ICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI7
CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxlPj4gdG9I
b2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKFN0
cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVO
YW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1hbmds
ZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91dCYgbGF5b3V0KQogICAgICAg
ICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAtMTA0LDEwICsxNTYsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2
aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHZpc2l0KEFTVDo6
RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJl
c3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24m
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKQEAgLTEzMSw2NSArMTgyLDYgQEAgcHJvdGVjdGVkOgogCiAgICAgTWFuZ2xlZFZhcmlhYmxl
TmFtZSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7IHJldHVybiB7IG1fdmFyaWFibGVDb3Vu
dCsrIH07IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFiaWxpdHkgOiB1aW50OF90IHsKLSAgICAg
ICAgTm90TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0gICAgfTsKLQotICAgIHN0cnVjdCBTdGFj
a0l0ZW0gewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBNYW5n
bGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAgICAgTnVsbGFiaWxpdHkgdmFsdWVOdWxs
YWJpbGl0eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVmdFZhbHVlTnVsbGFiaWxpdHk7Ci0gICAg
ICAgIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1
ZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFsdWUgewotICAgICAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0eSBudWxsYWJpbGl0eTsKLSAgICB9
OwotCi0gICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50IGRhdGEgZmxvdyBzdGVwIHdoZXJlIHdl
IGNhbiB0YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBsdmFsdWUKLSAgICAvLyBhbmQgdHJhbnNm
ZXIgaXQgaW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gcnZhbHVlLiBUaGlzIGlzIGNvbnZleWVk
IGluIE1ha2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8vIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Np
b24uIE1ha2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRyeSB0byBwcm9kdWNlIHJ2YWx1ZXMgd2hp
Y2ggYXJlCi0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24gd2lsbCB0
YWtlIGEgbm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8gcHJvZHVjZQotICAgIC8vIGEgbm9uLW51
bGwgbHZhbHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShBU1Q6
OkV4cHJlc3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBOdWxsYWJpbGl0eSBudWxs
YWJpbGl0eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBwZW5kKHsgV1RGTW92ZSh2YWx1ZSks
IHsgfSwgbnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIHsgfSB9KTsKLSAgICB9
Ci0KLSAgICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9u
LCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAgIHsKLSAgICAgICAgYXBwZW5kUmlnaHRW
YWx1ZVdpdGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBXVEZNb3ZlKHZhbHVlKSwgTnVsbGFiaWxp
dHk6OkNhbkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRMZWZ0VmFsdWUoQVNUOjpF
eHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBNYW5nbGVk
VmFyaWFibGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHksIHN0ZDo6ZnVu
Y3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZSA9IHsgfSkKLSAg
ICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi50eXBlQW5u
b3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0gICAgICAgIEFTU0VSVChsZWZ0VmFsdWUg
fHwgZ2VuZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBtX3N0YWNrLmFwcGVuZCh7IFdURk1vdmUo
dmFsdWUpLCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIG51bGxh
YmlsaXR5LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVlKSB9KTsKLSAgICB9Ci0KLSAgICBNYW5n
bGVkVmFyaWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1f
c3RhY2sudGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0KLSAgICBTdGFja1ZhbHVlIHRha2VMYXN0
VmFsdWVBbmROdWxsYWJpbGl0eSgpCi0gICAgewotICAgICAgICBhdXRvIGxhc3QgPSBtX3N0YWNr
LnRha2VMYXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QudmFsdWUsIGxhc3QudmFsdWVOdWxs
YWJpbGl0eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFsdWUgdGFrZUxhc3RMZWZ0VmFsdWUoKQot
ICAgIHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICBp
ZiAoIWxhc3QubGVmdFZhbHVlKQotICAgICAgICAgICAgbGFzdC5sZWZ0VmFsdWUgPSBsYXN0Lmdl
bmVyYXRlTGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QubGVmdFZhbHVlLCBsYXN0
LmxlZnRWYWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCiAgICAgZW51bSBjbGFzcyBCcmVha0Nv
bnRleHQgewogICAgICAgICBMb29wLAogICAgICAgICBTd2l0Y2gKQEAgLTIwMywxMiArMTk1LDEy
IEBAIHByb3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1h
bmdsZWRGdW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFwcGluZzsKICAgICBIYXNoTWFwPEFTVDo6
VmFyaWFibGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJpYWJsZU5hbWU+IG1fdmFyaWFibGVNYXBw
aW5nOwogCi0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9zdGFjazsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8RW50cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5UG9pbnRTY2FmZm9sZGluZzsKICAgICBM
YXlvdXQmIG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1fdmFyaWFibGVDb3VudCB7IDAgfTsKICAg
ICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2JyZWFrT3V0T2ZDdXJyZW50TG9vcEVh
cmx5VmFyaWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9pbmRlbnQgeyAwIH07CisgICAgSGFz
aE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiBtX2hvaXN0ZWRWYXJpYWJs
ZXM7CiB9OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsyMTAsMTMgQEAgdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9uRGVmaW5pdGlvbikK
IHsKKworICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIGNvbGxlY3Rvcigq
dGhpcyk7CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2aXNpdChmdW5jdGlvbkRlZmluaXRp
b24pOworICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBXVEZNb3ZlKGNvbGxlY3Rvci50b0hv
aXN0KTsKKyAgICB9CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1hcHBpbmcuZmlu
ZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlv
bk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50cnlQb2ludFR5
cGUoKSkgewpAQCAtMjM4LDggKzIzNywxMyBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3ZhcmlhYmxl
TWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0sIG1fZW50cnlQ
b2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAgICAgICAgICAg
ICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2ZWN0b3IgOiBtX2hvaXN0
ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8gdmFyaWFi
bGUgOiB2ZWN0b3IpCisgICAgICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywgdmFyaWFibGUubmFtZSwgIjtcbiIpOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZp
bml0aW9uLmJsb2NrKCkpOwotICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsK
ICAgICAgICAgfQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG5cbiIpOwogCkBA
IC0yNDgsMTcgKzI1MiwyNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAgICAgICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsK
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9y
LT52YWx1ZSwgJygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRl
ZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBw
YXJhbWV0ZXIgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAg
ICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
KyAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0
ZXJzKClbaV07CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRW
YXJpYWJsZU5hbWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1h
cHBpbmcuYWRkKCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJU
X1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJh
bWV0ZXItPnR5cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgie1xuIik7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgdmVjdG9yIDogbV9ob2lz
dGVkVmFyaWFibGVzLnZhbHVlcygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gdmFyaWFibGUg
OiB2ZWN0b3IpCisgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgdmFyaWFibGUudHlwZSwgJyAnLCB2YXJpYWJsZS5uYW1lLCAiO1xuIik7CisgICAgICAgIH0K
KwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkp
OwotICAgICAgICBBU1NFUlQobV9zdGFjay5pc0VtcHR5KCkpOworICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCJ9XG4iKTsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4n
KTsKICAgICB9CiB9CkBAIC0zMDksOCArMzIwLDkgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpFZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50JiBlZmZlY3RmdWxFeHByZXNzaW9uU3Rh
dGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQpOwogICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChlZmZlY3RmdWxFeHByZXNzaW9uU3RhdGVtZW50LmVmZmVjdGZ1bEV4
cHJlc3Npb24oKSk7Ci0gICAgdGFrZUxhc3RWYWx1ZSgpOyAvLyBUaGUgc3RhdGVtZW50IGlzIGFs
cmVhZHkgZWZmZWN0ZnVsLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIHdpdGggdGhl
IHJlc3VsdC4KKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RmFsbHRocm91Z2gmKQpAQCAtMzMw
LDEwICszNDIsMTIgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRMb29wKAog
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHdoaWxlU2NvcGUobV9pbmRlbnQpOwogCiAgICAgICAg
IGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlvbkxvY2F0aW9uOjpCZWZv
cmVCb2R5ICYmIGNvbmRpdGlvbkV4cHJlc3Npb24pIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISgiKTsKICAgICAg
ICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqY29uZGl0aW9uRXhwcmVzc2lvbik7CiAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAi
aWYgKCEiLCB0YWtlTGFzdFZhbHVlKCksICIpXG4iLAotICAgICAgICAgICAgICAgIG1faW5kZW50
LCAiICAgIGJyZWFrO1xuIik7CisgICAgICAgICAgICAgICAgIikpXG4iLAorICAgICAgICAgICAg
ICAgICIgICAgYnJlYWs7XG4iKTsKICAgICAgICAgfQogCiAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsICJkbyB7XG4iKTsKQEAgLTM1MCwxNyArMzY0LDE4IEBAIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCgKICAgICAgICAgICAgIG1faW5kZW50
LCAiICAgIGJyZWFrO1xuIik7CiAKICAgICAgICAgaWYgKGluY3JlbWVudCkgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KCppbmNyZW1lbnQpOwotICAgICAgICAgICAgLy8gRXhwcmVzc2lvbiByZXN1bHRzIGdl
dCBwdXNoZWQgdG8gbV9zdGFjay4gV2UgZG9uJ3QgdXNlIHRoZSByZXN1bHQKLSAgICAgICAgICAg
IC8vIG9mIGluY3JlbWVudCwgc28gd2UgZGlzcGVuc2Ugb2YgdGhhdCBub3cuCi0gICAgICAgICAg
ICB0YWtlTGFzdFZhbHVlKCk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIp
O1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09
IExvb3BDb25kaXRpb25Mb2NhdGlvbjo6QWZ0ZXJCb2R5ICYmIGNvbmRpdGlvbkV4cHJlc3Npb24p
IHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAg
bV9pbmRlbnQsICJpZiAoISgiKTsKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqY29u
ZGl0aW9uRXhwcmVzc2lvbik7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEiLCB0YWtlTGFzdFZhbHVlKCksICIpXG4i
LAotICAgICAgICAgICAgICAgIG1faW5kZW50LCAiICAgIGJyZWFrO1xuIik7CisgICAgICAgICAg
ICAgICAgIikpXG4iLAorICAgICAgICAgICAgICAgICIgICAgYnJlYWs7XG4iKTsKICAgICAgICAg
fQogICAgIH0KIApAQCAtMzkwLDEyICs0MDUsMTUgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpJZlN0YXRlbWVudCYgaWZTdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgImlmICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaWZTdGF0ZW1l
bnQuY29uZGl0aW9uYWwoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
ImlmICgiLCB0YWtlTGFzdFZhbHVlKCksICIpIHtcbiIpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikge1xuIik7CisKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgaWZTY29w
ZShtX2luZGVudCk7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5ib2R5
KCkpOwogICAgIH0KKwogICAgIGlmIChpZlN0YXRlbWVudC5lbHNlQm9keSgpKSB7CiAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9IGVsc2Uge1xuIik7CiAgICAgICAg
IHsKQEAgLTQwMywyOSArNDIxLDM0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1QKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqaWZTdGF0ZW1lbnQuZWxz
ZUJvZHkoKSk7CiAgICAgICAgIH0KICAgICB9CisKICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1faW5kZW50LCAifVxuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1Q6OlJldHVybiYgcmV0dXJuU3RhdGVtZW50KQogewogICAgIGlmIChyZXR1cm5TdGF0
ZW1lbnQudmFsdWUoKSkgeworICAgICAgICBhdXRvIHRlbXBSZXR1cm5OYW1lID0gZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7IAorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5k
ZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0dXJuU3RhdGVtZW50LnZhbHVl
KCktPnJlc29sdmVkVHlwZSgpKSwgJyAnLCB0ZW1wUmV0dXJuTmFtZSwgIiA9ICIpOyAKICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KCpyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKSk7CisgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIGlmIChtX2VudHJ5UG9p
bnRTY2FmZm9sZGluZykgewogICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0
ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
LT5lbWl0UGFjayhtX3N0cmluZ0J1aWxkZXIsIHRha2VMYXN0VmFsdWUoKSwgdmFyaWFibGVOYW1l
LCBtX2luZGVudCk7CisgICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2FmZm9sZGluZy0+ZW1pdFBh
Y2sobV9zdHJpbmdCdWlsZGVyLCB0ZW1wUmV0dXJuTmFtZSwgdmFyaWFibGVOYW1lLCBtX2luZGVu
dCk7CiAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJu
ICIsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGFrZUxhc3RWYWx1ZSgp
LCAiO1xuIik7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAi
cmV0dXJuICIsIHRlbXBSZXR1cm5OYW1lLCAiO1xuIik7CiAgICAgfSBlbHNlCiAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm47XG4iKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6U3dpdGNoU3RhdGVtZW50JiBzd2l0
Y2hTdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInN3
aXRjaCAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHN3aXRjaFN0YXRlbWVudC52YWx1ZSgp
KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIHsiKTsKIAotICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJzd2l0Y2ggKCIsIHRha2VMYXN0VmFsdWUoKSwgIikgeyIp
OwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0Y2hTY29wZShtX2luZGVudCk7
CiAgICAgICAgIGZvciAoYXV0byYgc3dpdGNoQ2FzZSA6IHN3aXRjaFN0YXRlbWVudC5zd2l0Y2hD
YXNlcygpKQpAQCAtNDU0LDMwICs0NzcsMjkgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpJbnRlZ2VyTGl0ZXJhbCYgaW50ZWdlckxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShpbnRlZ2VyTGl0ZXJhbC5yZXNvbHZl
ZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5
cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBl
TmFtZSwgIj4oIiwgaW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIik7XG4iKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgaW50ZWdl
ckxpdGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYgdW5zaWduZWRJbnRlZ2VyTGl0
ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJs
ZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVk
SW50ZWdlckxpdGVyYWwudmFsdWUoKSwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKHVu
c2lnbmVkSW50ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCB1bnNpZ25lZElu
dGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKQogewotICAgIGF1
dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBt
YW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZmxvYXRMaXRl
cmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8Iiwg
bWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwudmFsdWUoKSwgIik7XG4iKTsKLSAg
ICBhcHBlbmRSaWdodFZhbHVlKGZsb2F0TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCiB7CisgICAgVU5V
U0VEX1BBUkFNKG51bGxMaXRlcmFsKTsKKyAgICBib29sIGIgPSB0cnVlOworICAgIGlmIChiKQor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8qCiAgICAgYXV0byYg
dW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAgICAg
YXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUp
OwogICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6OkFycmF5UmVmZXJlbmNl
VHlwZT4odW5uYW1lZFR5cGUpOwpAQCAtNDg5LDI0ICs1MTEsMjEgQEAgdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwogICAgIGFwcGVuZFJpZ2h0VmFsdWUobnVsbExpdGVy
YWwsIHZhcmlhYmxlTmFtZSk7CisgICAgKi8KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYm9vbGVh
bkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2Fz
dDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1
ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoYm9vbGVhbkxpdGVy
YWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nh
c3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRy
dWUiIDogImZhbHNlIiwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwpCiB7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlv
bkRlZmluaXRpb24oKSk7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVt
ZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZShlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwucmVzb2x2ZWRUeXBl
KCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFt
ZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVyYXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigpKSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVy
YXRpb25NZW1iZXIoKSkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uKQpAQCAtNTE0LDUwICs1MzMsODMgQEAgdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIFZpc2l0b3I6OnZpc2l0
KGV4cHJlc3Npb24pOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxk
IGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JF
QUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZG90
RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOwotfQotCiB2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYg
Z2xvYmFsVmFyaWFibGVSZWZlcmVuY2UpCiB7Ci0gICAgYXV0byB2YWx1ZU5hbWUgPSBnZW5lcmF0
ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBNYW5nbGVkVHlwZU5hbWUgbWFuZ2xlZFR5cGVOYW1l
ID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LnJlc29sdmVkVHlwZSgpKTsKLQotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJpYWJs
ZVJlZmVyZW5jZS5iYXNlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgc3RydWN0VmFyaWFi
bGUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0KICAgICBNYW5nbGVkU3RydWN0dXJlRWxlbWVudE5hbWUg
bWFuZ2xlZEZpZWxkTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxl
bWVudChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5zdHJ1Y3RGaWVsZCgpKTsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlh
YmxlUmVmZXJlbmNlLmJhc2UoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS0+Iiwg
bWFuZ2xlZEZpZWxkTmFtZSk7Cit9CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICBtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhbHVlTmFtZSwgIiA9ICIsIHN0
cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7Cit2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNz
aW9uKQoreworICAgIGF1dG8mIHR5cGUgPSBkb3RFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5
cGUoKS51bmlmeU5vZGUoKTsKIAotICAgIGFwcGVuZExlZnRWYWx1ZShnbG9iYWxWYXJpYWJsZVJl
ZmVyZW5jZSwgdmFsdWVOYW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBb
dGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBzdHJ1Y3RWYXJpYWJsZSwgbWFuZ2xlZEZpZWxkTmFtZV0g
ewotICAgICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICBtX2luZGVudCwgInRocmVhZCAiLCBtYW5nbGVkVHlwZU5hbWUsICIqICIsIHBvaW50ZXJOYW1l
LCAiID0gJiIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7
Ci0gICAgICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIGlmIChp
czxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVj
dHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUp
OworICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5m
aW5kKGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJl
RWxlbWVudCk7CisgICAgICAgIGF1dG8gZWxlbWVudE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpOworCisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRv
dEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4i
LCBlbGVtZW50TmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgU3RyaW5nIGVsZW1lbnROYW1l
ID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKTsKKyAgICAgICAgaWYgKGVsZW1lbnROYW1lID09
ICJsZW5ndGgiICYmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNU
OjpBcnJheVR5cGU+KHR5cGUpIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlw
ZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVjdG9y
KCkpKSkgeworICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBl
KSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAg
ICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAg
ICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikubGVuZ3RoIik7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51
bUVsZW1lbnRzKCksICIpIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpLnZlY3RvclNpemUoKSwgIikiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnROYW1lKTsKKyAgICAgICAgfQorICAg
IH0KIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5kZXhF
eHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93
ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
LgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShpbmRleEV4cHJl
c3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0KKyAgICBhdXRvJiB0eXBlID0g
aW5kZXhFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKKyAgICBp
ZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBl
Pih0eXBlKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgaWYg
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkKKyAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5kYXRhKClbIik7CisgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCddJyk7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgLy8gT09QUzogRG9uJ3QgZG91YmxlIGdl
bmVyYXRlIGluZGV4IGV4cHJlc3Npb24gaGVyZS4KKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgdW5z
aWduZWQgc2l6ZTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkKKyAgICAgICAg
ICAgIHNpemUgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICBl
bHNlIGlmIChuYXRpdmVUeXBlLmlzVmVjdG9yKCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZl
VHlwZS52ZWN0b3JTaXplKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
KQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNl
IHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiA8ICIsIHNpemUsICIpID8gKCIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IDBdIik7CisgICAgfSBlbHNlCisgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IAogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0
aW9uKQpAQCAtNTY4LDE4MSArNjIwLDE5NSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05l
d0VudHJ5KTsKICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5ODE2MCBJbXBsZW1lbnQgcXVhbGlmaWVycy4KICAgICBpZiAodmFyaWFibGVEZWNs
YXJhdGlvbi5pbml0aWFsaXplcigpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJh
dGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwogICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoKnZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIoKSk7Ci0gICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwg
IiA9ICIsIHRha2VMYXN0VmFsdWUoKSwgIjtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xh
cmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0geyB9O1xuIik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNz
aW9uJiBhc3NpZ25tZW50RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQo
KSk7Ci0gICAgYXV0byBbcG9pbnRlck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZh
bHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiA9ICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4
cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byBbcmlnaHROYW1lLCByaWdodE51bGxhYmlsaXR5
XSA9IHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5
ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBtX2luZGVudCwgImlmICgiLCBwb2ludGVyTmFtZSwgIilcbiIsCi0g
ICAgICAgICAgICBtX2luZGVudCwgIiAgICAqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5h
bWUsICI7XG4iKTsKLSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsICIqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBh
cHBlbmRSaWdodFZhbHVlV2l0aE51bGxhYmlsaXR5KGFzc2lnbm1lbnRFeHByZXNzaW9uLCByaWdo
dE5hbWUsIHJpZ2h0TnVsbGFiaWxpdHkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4
cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKQogeworICAgIGF1dG8gaXRlciA9IG1faG9pc3RlZFZh
cmlhYmxlcy5maW5kKCZjYWxsRXhwcmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAh
PSBtX2hvaXN0ZWRWYXJpYWJsZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXIt
PnZhbHVlOworICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNp
emUoKSA8PSB2YXJpYWJsZXMuc2l6ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFt
ZT4gYXJndW1lbnROYW1lczsKLSAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Np
b24uYXJndW1lbnRzKCkpIHsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsK
LSAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAK
LSAgICBib29sIGlzVm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCks
IG1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVy
bk5hbWU7Ci0gICAgaWYgKCFpc1ZvaWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5k
ZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2
ZWRUeXBlKCkpLCAnICcsIHJldHVybk5hbWUsICI7XG4iKTsKKyAgICBNYW5nbGVkVmFyaWFibGVO
YW1lIHJlc3VsdE5hbWU7CisgICAgaWYgKCFtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVk
VHlwZSgpLCBtX2ludHJpbnNpY3Mudm9pZFR5cGUoKSkpCisgICAgICAgIHJlc3VsdE5hbWUgPSB2
YXJpYWJsZXMubGFzdCgpLm5hbWU7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5z
aXplKCk7ICsraSkgeworICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKHZhcmlhYmxlc1tp
XS5uYW1lKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFt
ZSwgIiA9ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoY2FsbEV4cHJlc3Npb24uYXJn
dW1lbnRzKClbaV0pOwogICAgIH0KIAotICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7Ci0gICAgICAgIGF1dG8gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lID0gW3RoaXNdKCkgLT4gTWFuZ2xlZFZhcmlhYmxlTmFtZSB7
Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy0+Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0g
ICAgICAgIH07CisgICAgaWYgKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSkKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKIAotICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCdcbicpOwotICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmlu
Z0J1aWxkZXIsIGRvd25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4
cHJlc3Npb24uZnVuY3Rpb24oKSksIHJldHVybk5hbWUsIGFyZ3VtZW50TmFtZXMsIG1faW50cmlu
c2ljcywgbV90eXBlTmFtZXIsIFdURk1vdmUoZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKSwgbV9p
bmRlbnQpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOworICAgIGlmIChp
czxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9u
KCkpKSB7CisgICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93
bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5j
dGlvbigpKSwgYXJndW1lbnROYW1lcywgcmVzdWx0TmFtZSwgbV9pbnRyaW5zaWNzLCBtX3R5cGVO
YW1lciwgbV9pbmRlbnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQpOwotCiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFw
cGluZy5maW5kKCZjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKTsKICAgICAgICAgQVNTRVJUKGl0
ZXJhdG9yICE9IG1fZnVuY3Rpb25NYXBwaW5nLmVuZCgpKTsKLSAgICAgICAgaWYgKCFpc1ZvaWQp
Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJldHVybk5hbWUsICIgPSAiKTsK
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChpdGVyYXRvci0+dmFsdWUsICcoJyk7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnROYW1lcy5zaXplKCk7ICsraSkg
eworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50
cygpLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChhcmd1bWVudE5hbWVzW2ldKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQodmFyaWFibGVzW2ldLm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScp
OwogICAgIH0KIAotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVybk5h
bWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4cHJl
c3Npb24pCiB7Ci0gICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0OworICAg
IGlmICghY29tbWFFeHByZXNzaW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxvZ0xu
KCJFbXB0eSBjb21tYSEiKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcp
OworICAgIGJvb2wgcmFuT25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6
IGNvbW1hRXhwcmVzc2lvbi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1
ZTsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1
bHQgPSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFw
cGVuZFJpZ2h0VmFsdWUoY29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQog
eworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGRlcmVmZXJlbmNlRXhwcmVzc2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9p
bnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAg
YXV0byByZXN1bHRWYWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8g
cmVzdWx0VHlwZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxh
YmlsaXR5OjpDYW5CZU51bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIs
IGlucHV0UG9pbnRlciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlw
ZSwgInsgfTtcbiIpOwotICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1faW5kZW50LCByZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQot
ICAgIGFwcGVuZExlZnRWYWx1ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBp
bnB1dFBvaW50ZXIsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcp
Jyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2lj
YWxFeHByZXNzaW9uJiBsb2dpY2FsRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIoKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5s
ZWZ0KCkpOwotICAgIGF1dG8gbGVmdCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9y
QW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRh
a2VMYXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUobG9naWNhbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlh
YmxlTmFtZSwgIiA9ICIsIGxlZnQpOwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlw
ZSgpKSB7CiAgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6
OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHBy
ZXNzaW9uOjpUeXBlOjpPcjoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIp
OwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdo
dCwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlh
YmxlTmFtZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIikpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChsb2dpY2FsTm90RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRh
a2VMYXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpOwotCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRl
bnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5y
ZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4i
KTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5h
bWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lv
biYgbWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlz
aXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklY
TUU6IFRoaXMgbmVlZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUg
dXNpbmcgdGhlIGxhc3QgbGVmdFZhbHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCkpOwogICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlS
ZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAg
ICBhdXRvIHB0clZhbHVlID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2
YXJpYWJsZU5hbWUsICIgPSAiLCBwdHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsg
IiwgcHRyVmFsdWUsICIsIDEgfSA6ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9
O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAi
eyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJl
c3Npb24ubGVmdFZhbHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEg
fSIpOwogICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5j
ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8g
bFZhbHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlU
eXBlID0gZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Np
b24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0g
eyAiLCBsVmFsdWUsICItPmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtc
biIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7
ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRh
KCksICIsIGFycmF5VHlwZS5udW1FbGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAg
ICAgICBhdXRvIGxWYWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJp
YWJsZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsK
IH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50
ZXJFeHByZXNzaW9uJiBtYWtlUG9pbnRlckV4cHJlc3Npb24pCiB7CisgICAgLy8gT09QUworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiYoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1h
a2VQb2ludGVyRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Ci0gICAgYXV0byBbcG9pbnRlciwgbnVs
bGFiaWxpdHldID0gdGFrZUxhc3RMZWZ0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShtYWtlUG9pbnRlckV4cHJl
c3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHBvaW50ZXIs
ICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlV2l0aE51bGxhYmlsaXR5KG1ha2VQb2ludGVy
RXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lLCBudWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikKK3ZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mIHJlYWRNb2Rp
ZnlXcml0ZSkKIHsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLyoKKyAgICAgKiAgMS4gRXZhbHVhdGUgbV9sZWZ0
VmFsdWUKKyAgICAgKiAgMi4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9vbGRWYWx1ZQorICAgICAq
ICAzLiBFdmFsdWF0ZSBtX25ld1ZhbHVlRXhwcmVzc2lvbgorICAgICAqICA0LiBBc3NpZ24gdGhl
IHJlc3VsdCB0byBtX25ld1ZhbHVlCisgICAgICogIDUuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1f
bGVmdFZhbHVlCisgICAgICogIDYuIEV2YWx1YXRlIG1fcmVzdWx0RXhwcmVzc2lvbgorICAgICAq
ICA3LiBSZXR1cm4gdGhlIHJlc3VsdAorICAgICAqLworCisgICAgYXV0byBpdGVyID0gbV9ob2lz
dGVkVmFyaWFibGVzLmZpbmQoJnJlYWRNb2RpZnlXcml0ZSk7CisgICAgUkVMRUFTRV9BU1NFUlQo
aXRlciAhPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9
IGl0ZXItPnZhbHVlOworICAgIFJFTEVBU0VfQVNTRVJUKHZhcmlhYmxlcy5zaXplKCkgPT0gMik7
CisKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG9sZFZhbHVlVmFyaWFibGUgPSB2YXJpYWJsZXNb
MF0ubmFtZTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5ld1ZhbHVlVmFyaWFibGUgPSB2YXJp
YWJsZXNbMV0ubmFtZTsKKworICAgIG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmcmVhZE1vZGlmeVdy
aXRlLm9sZFZhbHVlKCksIG9sZFZhbHVlVmFyaWFibGUpOworICAgIG1fdmFyaWFibGVNYXBwaW5n
LmFkZCgmcmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlKCksIG5ld1ZhbHVlVmFyaWFibGUpOworCisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworCisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChvbGRWYWx1ZVZhcmlhYmxlLCAiID0gIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJl
YWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIsIG5ld1ZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQo
cmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKKworICAgIC8vIE9PUFM6IGRv
bid0IGV2YWx1YXRlIGxlZnRWYWx1ZSB0d2ljZSEKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubGVmdFZhbHVl
KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICIsIG5ld1ZhbHVlVmFyaWFibGUs
ICIsICIpOworCisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5yZXN1bHRF
eHByZXNzaW9uKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24m
IHRlcm5hcnlFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsK
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24ucHJlZGljYXRlKCkpOwot
ICAgIGF1dG8gY2hlY2sgPSB0YWtlTGFzdFZhbHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKSA/ICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24u
Ym9keUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBib2R5ID0gdGFrZUxhc3RWYWx1ZSgpOworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0
KHRlcm5hcnlFeHByZXNzaW9uLmVsc2VFeHByZXNzaW9uKCkpOwotICAgIGF1dG8gZWxzZUJvZHkg
PSB0YWtlTGFzdFZhbHVlKCk7Ci0KLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4
dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh0ZXJuYXJ5RXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgY2hlY2ssICIgPyAiLCBib2R5LCAiIDog
IiwgZWxzZUJvZHksICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKHRlcm5hcnlFeHByZXNz
aW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVSZWZl
cmVuY2UmIHZhcmlhYmxlUmVmZXJlbmNlKQpAQCAtNzUyLDEzICs4MTgsNyBAQCB2b2lkIEZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1f
dmFyaWFibGVNYXBwaW5nLmVuZCgpKTsKIAogICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgdmFyaWFi
bGVOYW1lID0gaXRlcmF0b3ItPnZhbHVlOwotCi0gICAgYXBwZW5kTGVmdFZhbHVlKHZhcmlhYmxl
UmVmZXJlbmNlLCB2YXJpYWJsZU5hbWUsIHsgfSwgTnVsbGFiaWxpdHk6Ok5vdE51bGwsCi0gICAg
ICAgIFt0aGlzLCAmdmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZV0gewotICAgICAgICAg
ICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInRocmVhZCAiLCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUodmFyaWFibGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkp
LCAiKiAiLCBwb2ludGVyTmFtZSwgIiA9ICYiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKLSAgICAg
ICAgICAgIHJldHVybiBwb2ludGVyTmFtZTsKLSAgICAgICAgfSk7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCh2YXJpYWJsZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6ZW1pdENvbnN0YW50RXhwcmVzc2lvblN0cmluZyhBU1Q6OkNvbnN0YW50RXhwcmVzc2lv
biYgY29uc3RhbnRFeHByZXNzaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2Rl
R2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBNZXRhbCB7CiAKIHN0YXRpYyBjb25z
dGV4cHIgYm9vbCBkdW1wTWV0YWxDb2RlID0gZmFsc2U7CiAKLXN0YXRpYyBTdHJpbmdWaWV3IG1l
dGFsQ29kZVByb2xvZygpCitzdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2d1ZSgpCiB7
CiAgICAgcmV0dXJuIFN0cmluZ1ZpZXcgewogICAgICAgICAiI2luY2x1ZGUgPG1ldGFsX3N0ZGxp
Yj5cbiIKQEAgLTUzLDcgKzUzLDE3MSBAQCBzdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9s
b2coKQogICAgICAgICAiXG4iCiAgICAgICAgICJ1c2luZyBuYW1lc3BhY2UgbWV0YWw7XG4iCiAg
ICAgICAgICJcbiIKKyJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxu
IgorInN0cnVjdCBXU0xNYXRyaXhcbiIKKyJ7XG4iCisiICAgIHZlYzxULCBSb3dzPiBjb2x1bW5z
W0NvbHNdO1xuIgorIiAgICBwcml2YXRlOlxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwg
aW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRfY29sKGluaXRpYWxp
emVyX2xpc3Q8VT4gY29sLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFIuLi4+KVxuIgorIiAgICB7
XG4iCisiICAgICAgICByZXR1cm4geyhSIDwgY29sLnNpemUoKSA/ICooY29sLmJlZ2luKCkgKyBS
KSA6IFUoKSkuLi59O1xuIgorIiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gUj5cbiIK
KyIgICAgc3RhdGljIHZlYzxULCBSb3dzPiBidWlsZF9mdWxsX2NvbChpbnQgYywgaW5pdGlhbGl6
ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAg
e1xuIgorIiAgICAgICAgcmV0dXJuIHsqKGVsZW1zLmJlZ2luKCkgKyBjICogUm93cyArIFIpLi4u
fTtcbiIKKyIgICAgfVxuIgorIiAgICBzdHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisiICAg
IHN0cnVjdCBjb2xzX2FsbF90YWcgeyB9O1xuIgorIiAgICBzdHJ1Y3QgZWxlbXNfYWxsX3RhZyB7
IH07XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnLCBpbml0aWFsaXplcl9saXN0PHZlYzxULCBSb3dzPj4g
Y29scywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisiICAgICAgICA6
IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUoKSA/ICooY29scy5iZWdpbigpICsgQykgOiB2ZWM8VCwg
Um93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90
YWcsIFUuLi4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVt
cykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAgICAgIHtcbiIKKyIgICAgICAg
IH1cbiIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQg
V1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGlu
dCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5ze2J1aWxkX2Z1bGxfY29sKEMs
IGVsZW1zLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUm93cz4oKSkuLi59XG4iCisiICAg
IHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8
VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50XG4i
CisiICAgICAgICA6IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUoKSA/ICooY29scy5iZWdpbigpICsg
QykgOiB2ZWM8VCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJp
eChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1u
c3sgY29scy4uLiB9XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChlbGVtc19hbGxf
dGFnLCBVLi4uIGVsZW1zKSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgoe1QoZWxl
bXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgICAg
ICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyIgICAg
aW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50
ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBjb2x1bW5z
e2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1zLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUm93
cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBwdWJsaWM6XG4iCisiICAg
IGlubGluZSBXU0xNYXRyaXgoKSB0aHJlYWQgPSBkZWZhdWx0O1xuIgorIiAgICBpbmxpbmUgV1NM
TWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSB0aHJlYWRcbiIKKyIg
ICAgICAgIDogV1NMTWF0cml4KGNvbHNfaW5pdF90YWcoKSwgY29scywgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChV
Li4uIHZhbHMpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgoY29uZGl0aW9uYWxfdDxz
aXplb2YuLi4oVSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBlbGVtc19hbGxfdGFnPigpLCB2YWxz
Li4uKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeCgpIGNv
bnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFsaXplcl9s
aXN0PHZlYzxULCBSb3dzPj4gY29scykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4
KGNvbHNfaW5pdF90YWcoKSwgY29scywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+
KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0
cml4KFQgdmFsKSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodmFsLCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisi
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KFUuLi4gdmFscykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbmRp
dGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09IENvbHMsIGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3Rh
Zz4oKSwgdmFscy4uLilcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xN
YXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFk
ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAg
IGlubGluZSBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxV
LCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0
LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAg
ICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFQs
IENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBjb25z
dGFudCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgorIiAgICAgICAg
OiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVh
ZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtc
biIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBX
U0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0
KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2Vx
dWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5l
IFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBj
b25zdGFudCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29s
cywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9
XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBkZXZpY2Ug
V1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBX
U0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisi
ICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1h
dHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0
YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xN
YXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBj
b25zdGFudCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxV
LCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRo
YXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxpbmUgdGhyZWFkIHZlYzxULCBSb3dz
PiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVy
biBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBkZXZpY2UgdmVjPFQsIFJv
d3M+ICZvcGVyYXRvcltdKGludCByKSBkZXZpY2VcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0
dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIHRocmVhZGdyb3VwIHZl
YzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkZ3JvdXBcbiIKKyIgICAge1xuIgor
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNv
bnN0IHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZFxu
IgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgor
IiAgICBpbmxpbmUgY29uc3QgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikg
Y29uc3QgZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xu
IgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCBjb25zdGFudCB2ZWM8VCwgUm93cz4gJm9w
ZXJhdG9yW10oaW50IHIpIGNvbnN0IGNvbnN0YW50XG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJl
dHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWRn
cm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4i
CisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisi
fTtcbiIKKworCiAgICAgfTsKKwogfQogCiBzdGF0aWMgdm9pZCBkdW1wTWV0YWxDb2RlSWZOZWVk
ZWQoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlcikKQEAgLTY3LDcgKzIzMSw3IEBAIHN0YXRp
YyB2b2lkIGR1bXBNZXRhbENvZGVJZk5lZWRlZChTdHJpbmcKIFJlbmRlck1ldGFsQ29kZSBnZW5l
cmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRjaGVkUmVuZGVyU2VtYW50aWNzJiYg
bWF0Y2hlZFNlbWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBz
dHJpbmdCdWlsZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygp
KTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAg
IFR5cGVOYW1lciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5
cGVzKHN0cmluZ0J1aWxkZXIpOwpAQCAtODIsNyArMjQ2LDcgQEAgUmVuZGVyTWV0YWxDb2RlIGdl
bmVyYXRlTWV0YWxDb2RlKFByb2dyYQogQ29tcHV0ZU1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29k
ZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRjaGVkQ29tcHV0ZVNlbWFudGljcyYmIG1hdGNoZWRTZW1h
bnRpY3MsIExheW91dCYgbGF5b3V0KQogewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRl
cjsKLSAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIg
dHlwZU5hbWVyKHByb2dyYW0pOwogICAgIHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdC
dWlsZGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIu
Y3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTUsNiArOTUsNyBAQCBzdGF0aWMgaW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5cGVE
CiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAorLyoKIHN0YXRpYyBBU1Q6Ok5hbWVkVHlw
ZSYgdmVjdG9ySW5uZXJUeXBlKEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBuYXRpdmVUeXBl
RGVjbGFyYXRpb24pCiB7CiAgICAgaWYgKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1l
bnRzKCkuaXNFbXB0eSgpKQpAQCAtMTE5LDggKzEyMCw5IEBAIHN0YXRpYyBjb25zdCBjaGFyKiB2
ZWN0b3JTdWZmaXgoaW50IHZlY3QKICAgICAgICAgcmV0dXJuICI0IjsKICAgICB9CiB9CisqLwog
Ci12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIs
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
biwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZh
cmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlw
ZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5saW5lTmF0aXZl
RnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgQVNUOjpOYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLCBjb25zdCBWZWN0b3I8TWFu
Z2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwg
SW50cmluc2ljcyYgLyppbnRyaW5zaWNzKi8sIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBJbmRlbnRh
dGlvbjw0PikKIHsKICAgICBhdXRvIGFzTWF0cml4VHlwZSA9IFsmXSAoQVNUOjpVbm5hbWVkVHlw
ZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uKiB7CiAgICAgICAg
IGF1dG8mIHJlYWxUeXBlID0gdW5uYW1lZFR5cGUudW5pZnlOb2RlKCk7CkBAIC0xMzksNTEgKzE0
MSw1NCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAg
IGF1dG8gbWV0YWxSZXR1cm5UeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
cmV0dXJuVHlwZSk7CiAKICAgICAgICAgaWYgKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkpIHsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgcmV0dXJuTmFtZSwgIiA9IHsgfTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgIiB7IH0iKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgewogICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlw
ZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwot
ICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJUeXBlKTsKKyAgICAgICAgICAgIC8vYXV0byBtZXRhbFBh
cmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJU
eXBlKTsKIAogICAgICAgICAgICAgYXV0byBpc0VudW1lcmF0aW9uRGVmaW5pdGlvbiA9IFtdIChh
dXRvJiB0eXBlKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFTVDo6TmFtZWRUeXBlPih0
eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1l
ZFR5cGU+KHR5cGUpKTsKICAgICAgICAgICAgIH07CiAgICAgICAgICAgICBhdXRvJiB1bmlmaWVk
UmV0dXJuVHlwZSA9IHJldHVyblR5cGUudW5pZnlOb2RlKCk7CiAgICAgICAgICAgICBpZiAoaXNF
bnVtZXJhdGlvbkRlZmluaXRpb24odW5pZmllZFJldHVyblR5cGUpICYmICFpc0VudW1lcmF0aW9u
RGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBlLnVuaWZ5Tm9kZSgpKSkgewotICAgICAgICAgICAgICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFBhcmFtZXRlclR5cGVO
YW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iKTsKICAgICAgICAg
ICAgICAgICBhdXRvJiBlbnVtZXJhdGlvbkRlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OkVudW1l
cmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZpZWRSZXR1cm5U
eXBlKSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAic3dp
dGNoICgiLCB2YXJpYWJsZU5hbWUsICIpIHtcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0Y2hTY29wZShpbmRlbnQpOwotICAg
ICAgICAgICAgICAgICAgICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7Ci0gICAgICAgICAgICAg
ICAgICAgIGZvciAoYXV0byYgbWVtYmVyIDogZW51bWVyYXRpb25EZWZpbml0aW9uLmVudW1lcmF0
aW9uTWVtYmVycygpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAh
bWVtYmVyLmdldCgpLnZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJjYXNlICIs
IG1lbWJlci5nZXQoKS52YWx1ZSgpLCAiOlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9DYXNlLCBoYXNaZXJvQ2FzZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiZGVmYXVsdDpcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICIgICAgIiwgdmFyaWFibGVOYW1lLCAiID0gMDtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0
YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCgiKTsKKyAgICAgICAgICAgICAg
ICBib29sIGxvb3BlZE9uY2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGhhc1plcm9D
YXNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJh
dGlvbkRlZmluaXRpb24uZW51bWVyYXRpb25NZW1iZXJzKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGxvb3BlZE9uY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiIHx8ICIpOworICAgICAgICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAhbWVt
YmVyLmdldCgpLnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGFyZ3NbMF0sICIgPT0gIiwgbWVtYmVyLmdldCgpLnZhbHVlKCkpOworICAgICAgICAgICAg
ICAgICAgICBsb29wZWRPbmNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGlj
X2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgdmFyaWFibGVOYW1lLCAiKTtcbiIp
OworICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nhc2UsIGhhc1plcm9DYXNl
KTsKKworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gIiwgYXJnc1sw
XSwgIiA6IDApIik7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRh
bFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1l
LCAiPigiLCBhcmdzWzBdLCAiKSIpOwogCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAogICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShyZXR1cm5UeXBl
KSkgeworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFt
ZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJncy5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChhcmdzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CisKKyAgICAgICAgICAgIC8vIE9PUFM6IHRlc3QgdGhpcworCisgICAgICAg
ICAgICAvKgogICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG1hdHJpeFR5cGUtPm51bWJl
ck9mTWF0cml4Um93cygpOwogICAgICAgICAgICAgdW5zaWduZWQgbnVtQ29sdW1ucyA9IG1hdHJp
eFR5cGUtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJv
d3MgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51
bVJvd3MgKiBudW1Db2x1bW5zKTsKLQogICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCBtZXRhbFJldHVyblR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIjtc
biIpOwpAQCAtMjA3LDI2NSArMjEyLDM3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7Cisg
ICAgICAgICAgICAqLwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1
cm5UeXBlTmFtZSwgIigiKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1
cm5UeXBlTmFtZSwgJygnKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAg
ICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGFyZ3NbaV0pOwogICAgICAgICB9Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xu
Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtlIGEgc3Ry
dWN0IGZpZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJzIGZvciB0
aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgotICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVuZ3RoIikgewotICAgICAgICBBU1NF
UlRfVU5VU0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCksIGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRv
JiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJhbWV0ZXJU
eXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0gICAgICAg
ICAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4o
dW5uYW1lZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0
ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1l
ZFBhcmFtZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtcbiIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yLiJfc3RyKSkgewotICAgICAgICBhdXRvIGFw
cGVuZE1hbmdsZWRGaWVsZE5hbWUgPSBbJl0gKGNvbnN0IFN0cmluZyYgZmllbGROYW1lKSB7Ci0g
ICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgICAgIGF1dG8mIG5h
bWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAg
ICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAg
ICAgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICAgICAgYXV0byogc3RydWN0
dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAg
ICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50
KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihu
YW1lZFR5cGUpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7
Ci0gICAgICAgIH07Ci0KLSAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpLmVuZHNXaXRoKCI9IikpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgICAgICBhdXRvIGZp
ZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3Bl
cmF0b3IuIl9zdHIubGVuZ3RoKCkpOwotICAgICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1l
LnN1YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAxKTsKLQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAnLicpOwotICAgICAgICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICIsIGFyZ3NbMV0sICI7XG4iKTsK
LQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAg
YXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJp
bmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnLicp
OwotICAgICAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRv
ciYuIl9zdHIpKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVu
Z3RoKCkpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5k
ZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7
Ci0KLSAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZG93
bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlO
b2RlKCk7Ci0gICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
Pih1bmlmeU5vZGUpOwotICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihu
YW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93
bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAg
YXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5h
bWUpOwotICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxl
bWVudCgqc3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikgOiBudWxscHRyO1xuIik7Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3ImW10iKSB7
Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMik7Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICgiLCBhcmdzWzFdLCAiIDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAm
KCIsIGFyZ3NbMF0sICIucG9pbnRlclsiLCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gdmVjdG9yU2l6
ZSA9IFsmXSAoKSAtPiB1bnNpZ25lZCB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBk
b3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRU
eXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlw
ZS5uYW1lKCkgPT0gInZlY3RvciIpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJn
dW1lbnRzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25z
dGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0
ZXJhbCgpLnZhbHVlKCk7Ci0gICAgfTsKLQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAo
KSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVm
ZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVS
ZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVz
b2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVz
dWx0LmlzTWF0cml4KCkpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLSAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW10iKSB7Ci0g
ICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gMik7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5
cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3du
Y2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50
eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBp
ZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJu
TmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRN
YXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBu
dW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
ImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2Nv
cGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAi
LCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzBd
ID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiXTtcbiIsCi0gICAgICAgICAgICAgICAgICAg
IGluZGVudCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51
bWJlck9mUm93cywgIl07XG4iKTsKLQotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVt
bnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAicmVzdWx0WzJdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZS
b3dzICogMiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49
IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJl
c3VsdFszXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAq
IDMsICJdO1xuIik7Ci0gICAgCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0g
Mik7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKLQot
ICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
IG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJl
dHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJl
YWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xu
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0
b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5
cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3du
Y2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50
eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBp
ZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICAgICAg
YXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgq
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAg
ICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNp
Z25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7
Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCku
bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFt
ZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtp
XSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJt
W2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1syXSwgIlsxXTtcbiIpOwotICAgICAg
ICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwg
Il0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9m
Q29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXSA9ICIsIGFyZ3NbMl0sICJbM107
XG4iKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSBtO1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMg
PT0gMik7Ci0KLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVy
Mk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxS
ZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0g
dmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNj
b3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgdiA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1l
dGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSB2O1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAidltpXSA9ICIsIGFyZ3Nb
Ml0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2
O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0KLQorICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7CiAgICAgICAgIGF1dG8gb3BlcmF0
b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVy
YXRvciJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKKwogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDEpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgb2sgdG8gZG8gc2luY2UgdGhl
IGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBhcmUgYWxsIHRlbXBzLgorICAgICAgICAgICAgLy8gU28g
dGhpbmdzIGxpa2UgKysgYW5kIC0tIGFyZSBvayB0byBkby4KKwogICAgICAgICAgICAgaWYgKGF1
dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpKSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
e1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlv
blNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUs
ICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xu
Iik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRy
aXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwg
b3BlcmF0b3JOYW1lLCBhcmdzWzBdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0
dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChvcGVyYXRvck5hbWUsIGFyZ3NbMF0pOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTQ3Myw0OSArMjUwLDQwIEBAIHZv
aWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgaWYgKGF1dG8q
IGxlZnRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcmlnaHRNYXRy
aXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
WzFdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0cml4IDxvcD4gbWF0cml4Ci0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3Bl
KGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHgu
c2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhb
aV0gPSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ld
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7
XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1h
dHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAi
LCBhcmdzWzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycs
IGksICddJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IHNjYWxhcgotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgIltp
XSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwgJ1snLCBpLCAiXSAi
LCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJp
eFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkp
KSB7CiAgICAgICAgICAgICBBU1NFUlQoIWFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwogICAgICAgICAgICAgLy8gc2NhbGFy
IDxvcD4gbWF0cml4Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7
XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNj
b3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyAr
K2kpXG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3Nb
MF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHJpZ2h0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5h
bWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdz
WzFdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAvLyBzY2FsYXIgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHZlY3RvciA8b3A+IHZlY3Rv
cgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyBzY2Fs
YXIgPG9wPiB2ZWN0b3IKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0
b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKKyAgICAgICAgICAgICAgICAnKCcsIGFyZ3Nb
MF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm47CkBAIC01NDgsNzUgKzMxNiw4MCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWFwRnVu
Y3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBd
LCAiKTtcbiIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJwb3ci
IHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJhdGFuMiIpIHsKICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgIigi
LCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOworICAgICAgICAgICAgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgJykn
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIGlmIChhc01h
dHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdz
WzFdLCAiW2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwg
cmV0dXJuTmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFy
Z3NbMl0sICIpO1xuIik7Ci0gICAgICAgIH0KKworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKKyAgICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBh
cmdzWzJdLCAnKScpOworCisgICAgICAgIC8vaWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgLy8gICAgYXV0byBtZXRhbFJldHVyblR5
cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24udHlwZSgpKTsKKyAgICAgICAgLy8gICAgCisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgIntcbiIpOworICAgICAgICAvLyAgICB7CisgICAgICAgIC8vICAgICAg
ICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7CisgICAgICAgIC8vICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0
dXJuVHlwZSwgIiB4O1xuIiwKKyAgICAgICAgLy8gICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKKyAgICAgICAgLy8gICAgICAgICAg
ICBpbmRlbnQsICIgICAgeFtpXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3NbMV0s
ICJbaV0sICIsIGFyZ3NbMl0sICJbaV0pOyIsCisgICAgICAgIC8vICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAvL30gZWxzZSB7
CisgICAgICAgIC8vICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAvLyAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwg
IiwgIiwgYXJnc1syXSwgIik7XG4iKTsKKyAgICAgICAgLy99CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFsbE1l
bW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1f
ZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3Vw
X2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAgIGlu
ZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4iKTsK
KyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSki
LAorICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFk
Z3JvdXApIiwKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVt
X3RleHR1cmUpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBT
eW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xu
Iik7CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZp
Y2UpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7
CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRl
bnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIp
OworICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFk
Z3JvdXApIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgiSW50ZXJsb2NrZWQiX3N0cikpIHsKICAg
ICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJJbnRlcmxvY2tl
ZENvbXBhcmVFeGNoYW5nZSIpIHsKICAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gNCk7CisgICAgICAgICAgICAvLyBPT1BT
OiBQb2ludGVycz8gSXMgdGhpcyBldmVuIHBvc3NpYmxlPwogICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhj
aGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJn
c1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIs
Ci0gICAgICAgICAgICAgICAgaW5kZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAi
O1xuIik7CisgICAgICAgICAgICAgICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4
cGxpY2l0KCIsIGFyZ3NbMF0sICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1v
cnlfb3JkZXJfcmVsYXhlZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAg
ICAgICcqJywgYXJnc1szXSwgIiA9ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNO
YW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2Nr
ZWQiX3N0ci5sZW5ndGgoKSkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgIGluZGVudCwgJyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGlj
aXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xu
Iik7CisgICAgICAgICAgICAnKicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBs
aWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCki
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjMwLDcgKzQwMyw3IEBAIHZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0
b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIu
c2FtcGxlKCIsIGFyZ3NbMV0sICIsICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1Rl
eHR1cmVBcnJheSgpKSB7CiAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGgg
PiAxKTsKQEAgLTY0MiwxNCArNDE1LDE2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAg
aWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoIi4iLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5n
dGgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkg
PT0gIkxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CisgICAgICAgIC8vIE9PUFMKKyAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgCisgICAgICAgIC8qCiAgICAgICAgIGF1
dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRv
d25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5
cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBl
KCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2
ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsKQEAgLTcxNyw2ICs0OTIsNyBAQCB2b2lkIGlubGlu
ZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiO1xuIik7CiAgICAgICAgIH0KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOworICAgICAgICAqLwogCiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC03MjQsMTggKzUwMCwyMSBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0
cmluZ0J1aWxkZXImCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09
ICJsb2FkIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCIs
IGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0
b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpID09ICJzdG9yZSIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJhdG9taWNfc3RvcmVfZXhwbGljaXQo
IiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7
CisgICAgICAgICAgICAiYXRvbWljX3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFy
Z3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJHZXREaW1l
bnNpb25zIikgeworICAgICAgICAvLyBPT1BTOiBXZSBkb24ndCBoYXZlIHBvaW50ZXJzLCB3aGF0
IHRvIGRvIGhlcmU/CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogCiAgICAg
ICAgIHNpemVfdCBpbmRleCA9IDE7CkBAIC03OTksNiArNTc4LDcgQEAgdm9pZCBpbmxpbmVOYXRp
dmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgi
LCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiKVxuIiwKICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgKiIsICpudW1iZXJPZkxldmVsc05hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9udW1fbWlw
X2xldmVscygpO1xuIik7CiAgICAgICAgIH0KKyAgICAgICAgKi8KICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtODM5LDYgKzYxOSwxMCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0
cmluZ0J1aWxkZXImCiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkg
PT0gIlN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworCisgICAgICAgIC8vIE9PUFMKKyAgICAgICAgLyoKICAgICAgICAgCiAgICAgICAg
IGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBpdGVtVHlw
ZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5h
bWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUo
KS0+dW5pZnlOb2RlKCkpKTsKQEAgLTg5Niw2ICs2ODAsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
KTtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
In0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAgKi8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRp
dmVGdW5jdGlvbldyaXRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuaAkocmV2aXNpb24g
MjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBA
IG5hbWVzcGFjZSBNZXRhbCB7CiAKIGNsYXNzIFR5cGVOYW1lcjsKIAotdm9pZCBpbmxpbmVOYXRp
dmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
JiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZh
cmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBzdGQ6
OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiwgSW5kZW50YXRpb248ND4pOwordm9p
ZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uJiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVu
dE5hbWVzLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIEludHJpbnNpY3MmLCBUeXBl
TmFtZXImLCBJbmRlbnRhdGlvbjw0Pik7CiAKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5h
dGl2ZVR5cGVXcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDMsMTggKzEwMywxMSBAQCBTdHJpbmcgd3JpdGVOYXRpdmVUeXBlKEFT
VDo6TmF0aXZlVHlwZURlCiAgICAgICAgICAgICByZXR1cm4gImZsb2F0IjsKICAgICAgICAgfSko
KTsKIAotICAgICAgICBBU1NFUlQoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50
RXhwcmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSkpOwot
ICAgICAgICBhdXRvJiBjb25zdGFudEV4cHJlc3Npb24xID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFu
dEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pOwot
ICAgICAgICBhdXRvJiBpbnRlZ2VyTGl0ZXJhbDEgPSBjb25zdGFudEV4cHJlc3Npb24xLmludGVn
ZXJMaXRlcmFsKCk7Ci0gICAgICAgIHVuc2lnbmVkIHJvd3MgPSBpbnRlZ2VyTGl0ZXJhbDEudmFs
dWUoKTsKLSAgICAgICAgQVNTRVJUKHJvd3MgPT0gMiB8fCByb3dzID09IDMgfHwgcm93cyA9PSA0
KTsKLQotICAgICAgICBBU1NFUlQoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50
RXhwcmVzc2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSkpOwot
ICAgICAgICBhdXRvJiBjb25zdGFudEV4cHJlc3Npb24yID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFu
dEV4cHJlc3Npb24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pOwot
ICAgICAgICBhdXRvJiBpbnRlZ2VyTGl0ZXJhbDIgPSBjb25zdGFudEV4cHJlc3Npb24yLmludGVn
ZXJMaXRlcmFsKCk7Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVtbnMgPSBpbnRlZ2VyTGl0ZXJhbDIu
dmFsdWUoKTsKLSAgICAgICAgQVNTRVJUKGNvbHVtbnMgPT0gMiB8fCBjb2x1bW5zID09IDMgfHwg
Y29sdW1ucyA9PSA0KTsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PCIsIHByZWZp
eCwgIiwgIiwgY29sdW1ucyAqIHJvd3MsICI+Iik7CisgICAgICAgIC8vUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgLy8gT09QUzogbWFrZSBNU0wgbWF0cml4IG5vdworICAg
ICAgICAvLyBPT1BTOiB0aGV5J3JlIHN0YXRpYyBhc3NlcnRpbmcgbWF0cmljZXMgdXNlIGZsb2F0
aW5nIHBvaW50IG51bXMuIFdURiEKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIldTTE1hdHJp
eDwiLCBwcmVmaXgsICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeENv
bHVtbnMoKSwgIiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0cml4Um93cygp
LCAiPiIpOworICAgICAgICAvL3JldHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgsICIs
ICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOwogICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURl
Y2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6
aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODk0MikKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtODMxMCw2ICs4MzEwLDcgQEAKIAkJNTFGQjY3REExQUU2QjVFNDAwRDA2QzVB
IC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUyMTMxRTVBMUM0RjE1NjEwMDMzRjgwMiAvKiBWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUyMTU4NjJDMjI5Mzc3QjcwMDU5MjVFRiAvKiBXSExTTEFTVC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXSExTTEFTVC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjI1NkNBQTIzMEYx
NEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0hMU0xOYW1l
U3BhY2UuaDsgcGF0aCA9IEFTVC9XSExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MjJCQUI5NjIyRTZBMzYyMDBDNTRDRTkgLyogV0hMU0xDb2RlTG9jYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xDb2RlTG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTIyRDA3QTMyMkZCQUI0MzAwQjkwNUJFIC8qIFdITFNMRXhwcmVzc2lvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTEV4cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MjJEQTNEMzIyOUUxRDM5MDA0MkQxNTEgLyogV0hMU0xHbG9iYWxW
YXJpYWJsZVJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEdsb2JhbFZhcmlhYmxlUmVm
ZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTUzMiw2ICsyNTUzMyw3
IEBACiAJCQkJQzIxMEU5MTIyMUI0QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJ
CQkxQ0EwQzJFQzIxRUVENkY2MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3Bw
ICovLAogCQkJCTFDQTBDMkVBMjFFRUQ2RjUwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hl
Y2tlci5oICovLAorCQkJCTUyMjU2Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFj
ZS5oICovLAogCQkJCUMyMzRBOThEMjFFODg4ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0
LmNwcCAqLywKIAkJCQlDMjM0QTk4RTIxRTg4ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4
dC5oICovLAogCQkJCUMyMzRBOThBMjFFODg4M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZl
ci5jcHAgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29j
b2EvR1BVQ29tcHV0ZVBpcGVsaW5lTWV0YWwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1t
CShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTkz
LDEwICs5MywxMCBAQCBzdGF0aWMgT3B0aW9uYWw8V0hMU0w6OkNvbXB1dGVEaW1lbnNpb25zCiAg
ICAgICAgIGlmIChXSExTTDo6ZHVtcE1ldGFsQ29tcGlsZVRpbWVzKQogICAgICAgICAgICAgZGF0
YUxvZ0xuKCJNZXRhbCBjb21waWxlIHRpbWVzOiAiLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBz
dGFydFRpbWUpLm1pbGxpc2Vjb25kcygpLCAiIG1zIik7CiAgICAgICAgIEVORF9CTE9DS19PQkpD
X0VYQ0VQVElPTlM7Ci0jaWZuZGVmIE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICBp
ZiAoIWNvbXB1dGVMaWJyYXJ5KQogICAgICAgICAgICAgTlNMb2coQCIlQCIsIGVycm9yKTsKLSNl
bmRpZgorLy8jZW5kaWYKICAgICAgICAgQVNTRVJUKGNvbXB1dGVMaWJyYXJ5KTsKICAgICAgICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NzEg
T25jZSB3ZSB6ZXJvLWZpbGwgdmFyaWFibGVzLCB0aGVyZSBzaG91bGQgYmUgbm8gd2FybmluZ3Ms
IHNvIHdlIHNob3VsZCBiZSBhYmxlIHRvIEFTU0VSVCghZXJyb3IpIGhlcmUuCiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGlu
ZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1tCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVyUGlw
ZWxpbmVNZXRhbC5tbQkod29ya2luZyBjb3B5KQpAQCAtNDA5LDkgKzQwOSw5IEBAIHN0YXRpYyBi
b29sIHRyeVNldEZ1bmN0aW9ucyhjb25zdCBHUFVQaXAKIAogICAgICAgICBpZiAoIXZlcnRleExp
YnJhcnkgJiYgZXJyb3IpIHsKICAgICAgICAgICAgIGVycm9yU2NvcGVzLmdlbmVyYXRlUHJlZml4
ZWRFcnJvcihlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbi5VVEY4U3RyaW5nKTsKLSNpZm5kZWYg
TkRFQlVHCisvLyNpZm5kZWYgTkRFQlVHCiAgICAgICAgICAgICBOU0xvZyhAIiVAIiwgZXJyb3Ip
OwotI2VuZGlmCisvLyNlbmRpZgogICAgICAgICB9CiAKICAgICAgICAgQVNTRVJUKHZlcnRleExp
YnJhcnkpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0K
LVBBU1MgaW5kZXhBbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2Vz
bnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFu
ZGVyRG9lc250VGFrZVJlZmVyZW5jZSAKLVBBU1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFu
ZGVyV2l0aE5vdGhpbmdXcm9uZyAKLVBBU1MgYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50
cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNp
b24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
Ci08dGl0bGU+VGVzdCBwcmVmaXgvcG9zdGZpeC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsK
LQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+
Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3Qg
Rm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGludCBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7
Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAo
KSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3Ry
dWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgp
ID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVj
dCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaW50IG9wZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJldHVybiBmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwot
fQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17
Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9v
IHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRo
cmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oRm9vIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gJmZvby54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQot
d2hsc2xUZXN0cy5hbmRlcldpdGhCYWRJbmRleCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQg
Y2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwot
Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4
WzEuZl07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10g
eCwgaW50IHkpIHsgcmV0dXJuIHhbeV07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50
IGZvbyh0aHJlYWQgaW50W10geCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13
aGxzbFRlc3RzLmFuZGVyV2l0aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0
IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0g
ICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBm
b28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0g
ICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAg
ICAgIHgueCA9IDEzOwotICAgICAgICAgICAgcmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAg
YDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3Vt
ZW50cyA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAg
ICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAg
ICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBm
b28sIGludCBibGFoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9v
LT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0
cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9p
bmNyZW1lbnQtc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTUsMjIgKzE1LDE3IEBAIHdobHNsVGVzdHMuaW5jcmVtZW50U2V0dGVyID0gYXN5bmMgKCkgPT4K
ICAgICBsZXQgcHJvZ3JhbSA9IGAKICAgICAgICAgc3RydWN0IEZvbyB7CiAgICAgICAgICAgICBp
bnQgejsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IudyhGb28gZm9vKSB7Ci0gICAg
ICAgICAgICByZXR1cm4gODsKLSAgICAgICAgfQotICAgICAgICBGb28gb3BlcmF0b3Iudz0oRm9v
IGZvbywgaW50IHZhbHVlKSB7Ci0gICAgICAgICAgICBmb28ueiA9IHZhbHVlOwotICAgICAgICAg
ICAgcmV0dXJuIGZvbzsKKyAgICAgICAgICAgIGludCB3OwogICAgICAgICB9CiAgICAgICAgIGlu
dCBiYXIoKSB7CiAgICAgICAgICAgICBGb28gZm9vOwogICAgICAgICAgICAgZm9vLnogPSAzOwor
ICAgICAgICAgICAgZm9vLncgPSAxOwogICAgICAgICAgICAgaW50IHZhbHVlID0gZm9vLncrKzsK
ICAgICAgICAgICAgIHJldHVybiB2YWx1ZSoxMDAgKyBmb28ueioxMCArIGZvby53OwogICAgICAg
ICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9n
cmFtLCAiYmFyIiwgW10pLCA4OTgpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1
bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDEwMCArIDMwICsgMik7CiB9CiAKIHJ1blRlc3Rz
KHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5k
ZXgtYW5kZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEs
NCArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlcldpdGhOb3RoaW5nV3JvbmcgCi1QQVNTIGluZGV4
QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luZGV4LWFuZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luZGV4LWFuZGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsNjkg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08
bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHN0cnVjdHMu
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlcldpdGhO
b3RoaW5nV3JvbmcgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAg
ICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICB9Ci0gICAgICAgIHRo
cmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCkKLSAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyB4OwotICAgICAgICAgICAgeC54ID0gMTM7Ci0g
ICAgICAgICAgICByZXR1cm4geFs2NjZdOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19
Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlcldpdGhXcm9uZ051bWJlck9mQXJndW1lbnRzID0gYXN5
bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAg
IHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBpbnQgeDsKLSAgICAgICAgICAgICAgICByZXR1cm4gJng7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIGApOwotICAgICAgICAKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAg
ICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAg
ICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAg
ICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBG
b28qIGZvbywgdWludCwgdWludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1
cm4gJmZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXJ1blRlc3RzKHdo
bHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVy
LWdldHRlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLQotUEFT
UyBpbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkIAotUEFTUyBpbmRleFNldHRlcldpdGhO
b0dldHRlck92ZXJsb2FkRml4ZWQgCi1QQVNTIG5vdExvbmVJbmRleFNldHRlciAKLVBBU1MgbG9u
ZUluZGV4U2V0dGVyIAotUEFTUyBsb25lSW5kZXhTZXR0ZXJQb2ludGVyIAotCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLmh0bWwJKHJl
dmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXIt
Z2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHN0cnVjdHMuPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3Rz
ID0ge307Ci0KLXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCA9IGFz
eW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAg
ICBzdHJ1Y3QgRm9vIHsgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAgICAg
IGludCBvcGVyYXRvcltdKEZvbywgdWludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gNTM0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgQmFyIG9wZXJhdG9yW109
KEJhciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBC
YXIoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xU
ZXN0cy5pbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkRml4ZWQgPSBhc3luYyAoKSA9Pgot
ewotICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAg
IGludCBvcGVyYXRvcltdKEJhciwgdWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IDUzNDsKLSAgICAgICAgfQotICAgICAgICBCYXIgb3BlcmF0b3JbXT0oQmFyLCB1aW50LCBpbnQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBCYXIoKTsKLSAgICAgICAgfQotICAgICAg
ICBpbnQgZm9vKCkgeyByZXR1cm4gQmFyKClbMF07IH0KLSAgICAgICAgaW50IGJhcigpIHsKLSAg
ICAgICAgICAgIEJhciBiOwotICAgICAgICAgICAgYlswXSA9IDQwMDsKLSAgICAgICAgICAgIHJl
dHVybiBiWzBdOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA1MzQpOwotICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDUzNCk7Ci19Owot
Ci13aGxzbFRlc3RzLm5vdExvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgY29u
c3QgcHJvZ3JhbSA9IGAKLSAgICAgICAgaW50IG9wZXJhdG9yW10oaW50LCB1aW50KQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gNjU7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJh
dG9yW109KGludCwgdWludCwgaW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gNTQz
OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKSB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAg
ICAgICAgICAgIHJldHVybiB4WzBdOwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXIoKSB7Ci0g
ICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIHhbMF0gPSA0MjsKLSAgICAgICAgICAgIHJl
dHVybiB4OwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJ
bnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA2NSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTQzKTsKLX07Ci0KLXdo
bHNsVGVzdHMubG9uZUluZGV4U2V0dGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVj
a0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIGludCBvcGVyYXRvcltdPShpbnQsIHVpbnQs
IGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gNTQzOwotICAgICAg
ICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi19OwotCi13aGxzbFRlc3RzLmxvbmVJbmRl
eFNldHRlclBvaW50ZXIgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAg
ICAgICAgYAotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3JbXT0odGhyZWFkIGludCog
cHRyLCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHB0
cjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotcnVuVGVzdHMo
d2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCShyZXZpc2lvbiAyNDg5
NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNjAsMjAgKzYwLDIwIEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0
KGRldmljZSkgewogICAgIGNvbnN0IGJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1h
cFdyaXRlQXN5bmMoKTsKICAgICBjb25zdCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQz
MkFycmF5KGJ1ZmZlckFycmF5QnVmZmVyKTsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAw
OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5
WzJdID0gODsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxMjsKLSAgICBidWZmZXJGbG9h
dDMyQXJyYXlbNF0gPSAxOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDE7CisgICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzJdID0gMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAzOwor
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IDQ7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzVd
ID0gNTsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA5OwotICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDEzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDI7Ci0gICAgYnVmZmVy
RmxvYXQzMkFycmF5WzldID0gNjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA2OworICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDc7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
ODsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA5OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxMDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTQ7Ci0gICAgYnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDM7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDc7Ci0g
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsx
MV0gPSAxMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMTI7CisgICAgYnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDEzOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxNDsKICAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTU7CiAgICAgYnVmZmVyLnVubWFwKCk7CiAKQEAg
LTk4LDIzICs5OCwyMyBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25z
dCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygp
OwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3Vs
dHNBcnJheUJ1ZmZlcik7CiAgICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT09IDEKLSAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PT0gNQotICAgICAgICAmJiByZXN1bHRz
RmxvYXQzMkFycmF5WzJdID09PSA5Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10g
PT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT09IDIKKyAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsyXSA9PT0gMworICAgICAgICAmJiByZXN1bHRzRmxvYXQz
MkFycmF5WzNdID09PSA0CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0g
MgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSA1CiAgICAgICAgICYmIHJl
c3VsdHNGbG9hdDMyQXJyYXlbNV0gPT09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVs2XSA9PT0gMTAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PT0gMTQKKyAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0gNworICAgICAgICAmJiByZXN1bHRz
RmxvYXQzMkFycmF5WzddID09PSA4CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4
XSA9PT0gMwotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSA3CisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbOF0gPT09IDkKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVs5XSA9PT0gMTAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMF0gPT09
IDExCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTFdID09PSAxNQorICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzExXSA9PT0gMTIKIAotICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzEyXSA9PT0gNAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEzXSA9
PT0gOAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTIKKyAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMl0gPT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbMTNdID09PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9
PT0gMTUKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNV0gPT09IDE2KQogICAgICAg
ICB0ZXN0UGFzc2VkKCIiKTsKICAgICBlbHNlCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbWF0cml4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21h
dHJpeC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
bWF0cml4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY2LDIyICs2NiwyNCBAQCBjb21wdXRlIHZv
aWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbCiAgICAgaWYgKCFhbGxFcXVhbChmb28sIDQy
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm91cnR5VHdvWzEzMzddID0gNTA7Ci0gICAgZm9v
WzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxsRXF1YWwoZm9vLCA0MikpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUwOwotICAgIGZvb1sxXSA9IGZvdXJ0
eVR3bzsKLSAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQotICAgICAgICByZXR1cm47CisgICAg
Ly8gT09QUzogd2hhdCBzZW1hbnRpY3MgYXJlIHdlIGNob29zaW5nPwogCi0gICAgZmxvYXQzIHNo
b3VsZEJlWmVybyA9IGZvb1sxMDAwMDBdOwotICAgIGlmIChzaG91bGRCZVplcm8ueCAhPSAwIHx8
IHNob3VsZEJlWmVyby55ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnogIT0gMCkKLSAgICAgICAgcmV0
dXJuOworICAgIC8vZm91cnR5VHdvWzEzMzddID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3VydHlU
d287CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsKKwor
ICAgIC8vZm91cnR5VHdvWzEwMDAwMDBdID0gNTA7CisgICAgLy9mb29bMV0gPSBmb3VydHlUd287
CisgICAgLy9pZiAoIWFsbEVxdWFsKGZvbywgNDIpKQorICAgIC8vICAgIHJldHVybjsKKworICAg
IC8vZmxvYXQzIHNob3VsZEJlWmVybyA9IGZvb1sxMDAwMDBdOworICAgIC8vaWYgKHNob3VsZEJl
WmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8fCBzaG91bGRCZVplcm8ueiAhPSAw
KQorICAgIC8vICAgIHJldHVybjsKIAotICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDAp
Ci0gICAgICAgIHJldHVybjsKKyAgICAvL2lmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDApCisg
ICAgLy8gICAgcmV0dXJuOwogCiAgICAgYnVmZmVyW3VpbnQodGhyZWFkSUQueCldID0gYnVmZmVy
W3VpbnQodGhyZWFkSUQueCldICogMi4wOwogfQpAQCAtMTQ1LDcgKzE0Nyw3IEBAIGFzeW5jIGZ1
bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5Wzdd
ID09IDgpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAgIGVsc2UKLSAgICAgICAgdGVzdEZh
aWxlZCgiIik7CisgICAgICAgIHRlc3RGYWlsZWQoIm5vdCBjb3JyZWN0Iik7CiAgICAgcmVzdWx0
c0J1ZmZlci51bm1hcCgpOwogfQogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCww
IEBACi1QQVNTIAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVu
Y2UuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251
bGwtZGVyZWZlcmVuY2UuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXR5cGVkZWYgRm9vID0gdGhyZWFkIGludCo7Ci1Gb28gZ2V0TnVsbFB0
cigpCi17Ci0gICAgcmV0dXJuIG51bGw7Ci19Ci0KLXN0cnVjdCBYWVogewotICAgIGZsb2F0IHg7
Ci0gICAgZmxvYXQgeTsKLSAgICBmbG9hdCB6OwotfQotCi1bbnVtdGhyZWFkcygyLCAxLCAxKV0K
LWNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBmbG9hdFtdIGJ1ZmZlciA6IHJlZ2lz
dGVyKHUwKSwgZmxvYXQzIHRocmVhZElEIDogU1ZfRGlzcGF0Y2hUaHJlYWRJRCkgewotICAgIEZv
byBwdHIgPSBudWxsOwotICAgICpwdHIgPSA0MjsKLSAgICAqZ2V0TnVsbFB0cigpID0gNDI7Ci0g
ICAgaWYgKCpwdHIgPT0gMCkgewotICAgICAgICBpZiAocHRyID09IGdldE51bGxQdHIoKSkgewot
ICAgICAgICAgICAgaWYgKCpnZXROdWxsUHRyKCkgPT0gMCkgewotICAgICAgICAgICAgICAgIHRo
cmVhZCBYWVoqIHh5elB0ciA9IG51bGw7Ci0gICAgICAgICAgICAgICAgWFlaIHh5ejsKLSAgICAg
ICAgICAgICAgICB4eXoueCA9IDE7Ci0gICAgICAgICAgICAgICAgeHl6LnkgPSAxOwotICAgICAg
ICAgICAgICAgIHh5ei56ID0gMTsKLSAgICAgICAgICAgICAgICBpZiAoeHl6LnogPT0gMS4wICYm
IHh5ei55ID09IDEuMCAmJiB4eXoueiA9PSAxLjApIHsKLSAgICAgICAgICAgICAgICAgICAgKnh5
elB0ciA9IHh5ejsKLSAgICAgICAgICAgICAgICAgICAgeHl6ID0gKnh5elB0cjsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHh5ei56ID09IDAuMCAmJiB4eXoueSA9PSAwLjAgJiYgeHl6LnogPT0g
MC4wKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJipnZXROdWxsUHRyKCkgPT0gbnVs
bCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgmKigmKmdldE51bGxQdHIoKSkg
PT0gbnVsbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJbdWludCh0
aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gKiAyLjA7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgfQotfQotYDsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29u
c3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVy
U291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgY29tcHV0ZVN0YWdlID0ge21vZHVs
ZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiY29tcHV0ZVNoYWRlciJ9OwotCi0gICAgY29u
c3QgYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kaW5nczogW3tiaW5kaW5nOiAwLCB2
aXNpYmlsaXR5OiA3LCB0eXBlOiAic3RvcmFnZS1idWZmZXIifV19OwotICAgIGNvbnN0IGJpbmRH
cm91cExheW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBMYXlvdXQoYmluZEdyb3VwTGF5b3V0
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91
dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciA9IHtjb21wdXRlU3RhZ2Us
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCBzaXplID0gRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogODsKLQot
ICAgIGNvbnN0IGJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZSwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURSB8IEdQVUJ1ZmZlclVzYWdlLlRSQU5TRkVSX1NSQ307Ci0gICAgY29uc3QgYnVm
ZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcihidWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCBi
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IGJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgYnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShidWZmZXJBcnJheUJ1ZmZl
cik7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzBdID0gMTsKLSAgICBidWZmZXJGbG9hdDMyQXJy
YXlbMV0gPSAyOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDM7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSA1OwotICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVs1XSA9IDY7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzZdID0gNzsK
LSAgICBidWZmZXJGbG9hdDMyQXJyYXlbN10gPSA4OwotICAgIGJ1ZmZlci51bm1hcCgpOwotCi0g
ICAgY29uc3QgcmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZSwgdXNhZ2U6IEdQVUJ1ZmZl
clVzYWdlLlNUT1JBR0UgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9EU1QgfCBHUFVCdWZmZXJV
c2FnZS5NQVBfUkVBRH07Ci0gICAgY29uc3QgcmVzdWx0c0J1ZmZlciA9IGRldmljZS5jcmVhdGVC
dWZmZXIocmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgYnVmZmVyQmluZGlu
ZyA9IHtidWZmZXI6IHJlc3VsdHNCdWZmZXIsIHNpemV9OwotICAgIGNvbnN0IGJpbmRHcm91cEJp
bmRpbmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZlckJpbmRpbmd9OwotICAgIGNvbnN0
IGJpbmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5kR3JvdXBMYXlvdXQsIGJpbmRpbmdz
OiBbYmluZEdyb3VwQmluZGluZ119OwotICAgIGNvbnN0IGJpbmRHcm91cCA9IGRldmljZS5jcmVh
dGVCaW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbW1hbmRF
bmNvZGVyLmNvcHlCdWZmZXJUb0J1ZmZlcihidWZmZXIsIDAsIHJlc3VsdHNCdWZmZXIsIDAsIHNp
emUpOwotICAgIGNvbnN0IGNvbXB1dGVQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
Q29tcHV0ZVBhc3MoKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUoY29tcHV0
ZVBpcGVsaW5lKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0QmluZEdyb3VwKDAsIGJpbmRH
cm91cCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLmRpc3BhdGNoKDIsIDEsIDEpOwotICAgIGNv
bXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNv
bW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29t
bWFuZEJ1ZmZlcl0pOwotCi0gICAgY29uc3QgcmVzdWx0c0FycmF5QnVmZmVyID0gYXdhaXQgcmVz
dWx0c0J1ZmZlci5tYXBSZWFkQXN5bmMoKTsKLSAgICBjb25zdCByZXN1bHRzRmxvYXQzMkFycmF5
ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1bHRzQXJyYXlCdWZmZXIpOwotICAgIGlmIChyZXN1bHRz
RmxvYXQzMkFycmF5WzBdID09IDIKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9
PSA0Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgotICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzNdID09IDgKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVs0XSA9PSA1Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNV0gPT0gNgotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzZdID09IDcKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVs3XSA9PSA4KQotICAgICAgICB0ZXN0UGFzc2VkKCIiKTsKLSAgICBlbHNlCi0gICAg
ICAgIHRlc3RGYWlsZWQoIiIpOwotICAgIHJlc3VsdHNCdWZmZXIudW5tYXAoKTsKLX0KLXdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGZp
bmlzaEpTVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCIi
KTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAg
ICB0ZXN0UGFzc2VkKCIiKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3It
dmVjdG9yLWFzc2lnbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTE3LDExICsxNywxMSBAQCB3aGxzbFRlc3RzLnZlY3RvckluZGV4QXNzaWduID0g
YXN5bmMgKCkgCiAgICAgICAgICAgICBpbnQyIHg7CiAgICAgICAgICAgICB4WzBdID0gMjA7CiAg
ICAgICAgICAgICB4WzFdID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAg
ICAgICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geC54IC8geC55ICsgeFs1MDAw
XTsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVu
Y3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDIpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQg
Y2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCA0MCAvIDEwICsgNDApOwogfTsK
IAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
b3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1sb2FkLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTE3LDExICsxNywxMSBAQCB3aGxzbFRlc3RzLnZlY3RvckluZGV4TG9hZCA9
IGFzeW5jICgpID0+CiAgICAgICAgICAgICBpbnQyIHg7CiAgICAgICAgICAgICB4LnggPSAyMDsK
ICAgICAgICAgICAgIHgueSA9IDEwOwotICAgICAgICAgICAgeFs1MDAwXSA9IDIwOworICAgICAg
ICAgICAgeFs1MDAwXSA9IDQwOwogICAgICAgICAgICAgcmV0dXJuIHhbMF0gLyB4WzFdICsgeFs1
MDAwXTsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDIpOworICAgIGFzc2VydF9lcXVhbHMoYXdh
aXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCA0MC8xMCArIDQwKTsKIH07
CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3JpcHQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0KLVBBU1Mgb3ZlcnJp
ZGVTdWJzY3JpcHRTdHJ1Y3QgCi1QQVNTIG92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kRG9TdG9y
ZXMgCi1QQVNTIG92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgCi1QQVNTIG92
ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJbmNvcnJlY3RseSAKLQpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3JpcHQuaHRtbAko
cmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1
YnNjcmlwdC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBvdmVycmlkZSBzdWJzY3JpcHRzLjwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29u
c3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0
ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZv
byB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0g
ICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRl
eCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAg
ICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAg
ICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwot
ICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAg
ICAgICAgcmV0dXJuIGZvb1swXSArIGZvb1sxXSAqIDM7Ci0gICAgICAgIH0KLSAgICBgOwotICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSks
IDQ5OCArIDE5ICogMyk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RB
bmREb1N0b3JlcyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAg
IHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICBpbnQgeTsKLSAg
ICAgICAgfQotICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28s
IHVpbnQgaW5kZXgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAg
ICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgaWYgKGluZGV4ID09IDEp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAgICByZXR1cm4gbnVs
bDsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAg
Rm9vIGZvbzsKLSAgICAgICAgICAgIGZvb1swXSA9IDQ5ODsKLSAgICAgICAgICAgIGZvb1sxXSA9
IDE5OwotICAgICAgICAgICAgcmV0dXJuIGZvby54ICsgZm9vLnk7Ci0gICAgICAgIH0KLSAgICBg
OwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSksIDQ5OCArIDE5KTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVj
dEFuZFVzZVBvaW50ZXJzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAg
ICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5
OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDAp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXgg
PT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVy
biBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXIodGhyZWFkIEZvbyogZm9vKQotICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gKCpmb28pWzBdICsgKCpmb28pWzFdOwotICAgICAg
ICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwot
ICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAg
ICAgICAgcmV0dXJuIGJhcigmZm9vKTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkp
OwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJ
bmNvcnJlY3RseSA9IGFzeW5jICgpID0+Ci17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICBgCi0g
ICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAg
ICAgICAgICBpbnQgeTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9w
ZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28tPng7Ci0gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09IDEpCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvb1swXSArIGZvb1sxXTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGludCBmb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIEZvbyBmb287Ci0gICAgICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAgICAg
ICAgZm9vLnkgPSAxOTsKLSAgICAgICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwotICAgICAg
ICAgICAgfQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3Njcmlw
dD4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3Qt
bHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3Rl
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0
cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4
OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIt
YWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9z
aXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlv
bjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBv
cGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICBy
ZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56
ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVy
KCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0
dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlv
biBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRl
U2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBj
b25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZl
cnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2
ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3Rh
dGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBo
YUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
U3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwg
d3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0
aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFk
ZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0
cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMg
PSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1
dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExh
eW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBl
bGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRp
dmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2ls
U3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91
dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxp
bmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQs
IHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVm
ZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2Fp
dCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29u
dGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNj
cmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBD
aGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwot
ICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsK
LSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVs
dFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1h
bmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6
IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRl
eHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6
ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0
YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NF
bmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlw
dG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVy
XSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29t
bWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21t
YW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7
Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAg
ICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4K
LTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMt
bGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1s
CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEy
NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgot
PHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hh
ZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAg
cmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10
aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYt
Png7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVy
YXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3Qg
QmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3ImLnEodGhyZWFkIEJh
eiogYikgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50
U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsK
LSAgICByZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1g
OwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0K
LWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9
IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDog
dHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhw
ZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVl
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIg
aGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAK
LXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgw
KSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9v
IHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBG
b28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6
OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0
dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rh
cmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0
KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRl
dmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1
bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRl
eFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVy
In07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kg
PSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9u
dEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7
fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBb
e2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6
IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0
YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9u
OiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwg
YXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBd
OwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119
OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0
KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5
LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVy
dGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9
IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQ
VUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1
ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2Fu
dmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7
ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29u
dGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0
IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwot
Ci0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIo
KTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAg
Y29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcs
IHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwg
Y2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51
bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBj
b21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rl
ci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJd
KTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFy
dChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0
ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9v
KiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1Gb28gZ2VuZXJhdGVGb28oKSB7Ci0gICAg
Rm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmOwotfQotCi1mcmFnbWVudCBmbG9h
dDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICByZXR1cm4gZmxvYXQ0KGdl
bmVyYXRlRm9vKCkueSwgZ2VuZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIDEuMCk7Ci19
Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVs
ZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExT
TDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRl
ci5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9nZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExMSArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0
NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBv
c2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVy
YXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0gMS4w
OwotICAgIHJldHVybiBmbG9hdDQoZi55LCBmLnksIGYueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0g
ICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hh
ZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmlt
aXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlv
blN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3Qg
YWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBj
b2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxl
bmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7
c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9
IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5w
dXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczog
aW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3Jv
dXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
UGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJp
bWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3Rl
bmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVM
YXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQg
KiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dS
SVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRl
eEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0g
YXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVy
KTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0
IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWlu
RGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBz
d2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9y
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJl
KCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURl
ZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVD
b21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAx
LCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRw
dXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9y
ZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxB
dHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xv
ckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVz
Y3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxp
bmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1
ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAg
ICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9
IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChb
Y29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmlj
ZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7
Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZh
bHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0
cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZp
c2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZv
byBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQot
QmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7
Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDog
U1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMl1bM10gPSAxLjA7Ci0gICAgcmV0dXJu
IGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAxLjApOwotfQotYDsKLQotY29uc3Qg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5j
dGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3Jl
YXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAg
ICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
InZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1p
dGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9u
U3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBh
bHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVu
ZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBk
ZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtz
aGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0g
e3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1
dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBp
bnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91
cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmlt
aXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVu
Y2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxh
eW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAq
IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4
QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBh
d2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Ml0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
Ml0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVm
ZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNl
KSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3Rl
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMt
bGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxz
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1s
ZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRl
eCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBT
Vl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAg
ICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAg
IEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50
IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIg
cDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3ImW10odGhyZWFkIEJheiogYiwgdWludCBpbmRl
eCkgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hh
ZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYlsxXVsyXVszXSA9IDEuMDsK
LSAgICByZXR1cm4gZmxvYXQ0KGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIDEu
MCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRl
ck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwg
aXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRT
dGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVy
In07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAg
IGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAi
bm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBh
bHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVC
aXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBj
b25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsK
LSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRl
MF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0
ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERl
c2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2Us
IGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNv
bG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAx
LCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQ
VUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNl
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVu
bWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwot
ICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVu
b3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4o
c3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFp
bi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0
cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQg
PSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9
IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxv
YWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRl
clBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhC
dWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRy
YXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNv
bnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2Uu
Z2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCku
dGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWFuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVk
Lmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAi
PjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIg
aGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAK
LXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgw
KSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9v
IHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBG
b28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIg
ewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBi
LCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzFdWzJd
ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXSwgYlsxXVsyXSwgYlsxXVsyXSwgMS4w
KTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVy
TW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBp
c1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZv
bygpIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZy
YWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVy
biBmbG9hdDQoZ2VuZXJhdGVGb28oKVswXSwgZ2VuZXJhdGVGb28oKVsxXSwgZ2VuZXJhdGVGb28o
KVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29u
c3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVy
U291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxl
OiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBm
cmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21l
bnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJp
cCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3Vs
bE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1
bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29s
b3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAg
IAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZs
b2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFth
dHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVy
dGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0
ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25T
dGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxl
Q291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVS
VEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIg
PSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5
bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFy
cmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgi
Z3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDog
ImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3
YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0g
c3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZp
ZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21t
YW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNv
bnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFj
aG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDog
bnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9
XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJl
Z2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7
Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAg
IGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNE
ZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5o
dG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTEwICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIo
ZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1
cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0
IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZmxvYXQoaW5kZXgp
OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsK
LSAgICBGb28gZjsKLSAgICByZXR1cm4gZmxvYXQ0KGZbMV0sIGZbMV0sIGZbMV0sIDEuMCk7Ci19
Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVs
ZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExT
TDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0z
LWxldmVscy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1s
CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRl
eCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBT
Vl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAg
ICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yW109KEZvbyBmLCB1aW50IGluZGV4LCBm
bG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7
Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBG
b28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVjdCBCYXogewot
ICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3JbXShCYXogYiwgdWludCBpbmRleCkgewotICAg
IHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvcltdPShCYXogYiwgdWludCBpbmRleCwgQmFy
IGEpIHsKLSAgICBiLnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzJdWzNd
WzRdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXVs0XSwgYlsyXVszXVs0XSwgYlsy
XVszXVs0XSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAg
Y29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hh
ZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9k
dWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25z
dCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJh
Z21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1z
dHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3Iiwg
Y3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdi
YTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BV
Q29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwot
ICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDog
ImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6
IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3Qg
dmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2
ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRp
b25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2Ft
cGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2Uu
VkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNv
bnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRl
QXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQz
MkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4
dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1h
dDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3Vy
ZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJl
ID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVy
ZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBj
b21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAg
IGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0
dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdl
dDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiBy
ZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25z
dCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxB
dHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVy
LmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNz
KCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwot
ICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFz
aWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhl
bihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVl
QmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwot
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9v
IGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0o
Rm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBm
OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFy
IGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0o
QmFyIGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10s
IGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07
Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQ
b2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAi
dHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZh
Y2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsK
LSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zv
cm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1
fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRl
ID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAw
LCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0
cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwot
ICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBj
b25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119Owot
ICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCBy
YXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4
SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtz
aXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9y
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZl
ci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0g
bmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFz
LmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2
aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4
dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91
dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0g
ICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsg
Ly8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29u
c3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJl
c29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xl
YXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVw
dGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21t
YW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5m
aW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsK
LX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChk
ZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVy
LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lv
biAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEz
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08
c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZs
b2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bv
c2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZs
b2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICBy
ZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0
IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAg
ICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImW10odGhyZWFkIEJhciogYiwgdWlu
dCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdt
ZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEu
MDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19
Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVs
ZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExT
TDogdHJ1ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0
ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDog
U1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0g
ICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBm
LCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAg
ICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgpIHsKLSAgICBy
ZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5kZXgsIEZvbyBh
KSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgRm9vIGZvbzsK
LSAgICBmb28ueCA9IDEuMDsKLSAgICBiWzFdID0gZm9vOwotICAgIGZvbyA9IGJbMV07Ci0gICAg
cmV0dXJuIGZsb2F0NChmb28ueCwgZm9vLngsIGZvby54LCAxLjApOwotfQotYDsKLQotY29uc3Qg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5j
dGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3Jl
YXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAg
ICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
InZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1p
dGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9u
U3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBh
bHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVu
ZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBk
ZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtz
aGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0g
e3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1
dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBp
bnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91
cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmlt
aXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVu
Y2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxh
eW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAq
IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4
QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBh
d2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Ml0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
Ml0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVm
ZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNl
KSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxl
dmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAi
IGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3Jv
dW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5o
dG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxv
YXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9z
aXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxv
YXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19
Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAg
cmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0
b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53PShCYXIg
YiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1zdHJ1Y3QgQmF6
IHsKLSAgICBCYXIgcDsKLX0KLQotQmFyIG9wZXJhdG9yLnEoQmF6IGIpIHsKLSAgICByZXR1cm4g
Yi5wOwotfQotCi1CYXogb3BlcmF0b3IucT0oQmF6IGIsIEJhciBhKSB7Ci0gICAgYi5wID0gYTsK
LSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBT
Vl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4g
ZmxvYXQ0KGIucS53LnksIGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0
aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVh
dGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAg
IGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
dmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0
aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25T
dGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFs
cGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5k
LCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3No
YWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7
c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0
cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlu
cHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3Vw
TGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBp
cGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1p
dGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5j
aWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5
b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBl
bGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVy
RGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICog
NCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklU
RX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3
YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsy
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEy
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRl
c2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dh
cENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgp
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZh
dWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29t
bWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwg
YTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0
VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVP
cDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0
YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JB
dHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2Ny
aXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5l
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZm
ZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBj
b21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2Nv
bW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2Up
IHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewot
ICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNj
cmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBm
bG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Q
b3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBm
bG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsK
LX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAg
ICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVy
YXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9KEJh
ciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAg
IGIudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4w
KTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVy
TW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBp
c1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1s
dmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24g
MjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0
dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9v
IGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0
IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAg
ICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImLncodGhyZWFkIEJhciogYikgewot
ICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkg
OiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJu
IGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBz
dGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hh
ZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdl
dHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAog
Ci1QQVNTIHNpbXBsZUdldHRlciAKLVBBU1Mgc2ltcGxlU2V0dGVyIAorUEFTUyBzaW1wbGVQcm9w
ZXJ0eUdldCAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXIt
c2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBs
ZS1nZXR0ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
MCw0MyArMTAsMTUgQEAKIDxzY3JpcHQ+CiBjb25zdCB3aGxzbFRlc3RzID0ge307CiAKLXdobHNs
VGVzdHMuc2ltcGxlR2V0dGVyID0gYXN5bmMgKCkgPT4geword2hsc2xUZXN0cy5zaW1wbGVQcm9w
ZXJ0eUdldCA9IGFzeW5jICgpID0+IHsKICAgICBsZXQgcHJvZ3JhbSA9IGAKICAgICAgICAgc3Ry
dWN0IEZvbyB7CiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgfQotICAgICAgICBpbnQgb3Bl
cmF0b3IueShGb28gZm9vKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0g
ICAgICAgIH0KICAgICAgICAgaW50IGZvbygpCiAgICAgICAgIHsKICAgICAgICAgICAgIEZvbyBm
b287CiAgICAgICAgICAgICBmb28ueCA9IDc4MDQ7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnk7
Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDc4MDQpOwotfTsKLQotd2hsc2xUZXN0cy5zaW1wbGVT
ZXR0ZXIgPSBhc3luYyAoKSA9PiB7Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVj
dCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJh
dG9yLnkoRm9vIGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGZvby54OwotICAg
ICAgICB9Ci0gICAgICAgIEZvbyBvcGVyYXRvci55PShGb28gZm9vLCBpbnQgdmFsdWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGZvby54ID0gdmFsdWU7Ci0gICAgICAgICAgICByZXR1cm4gZm9v
OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBG
b28gZm9vOwotICAgICAgICAgICAgZm9vLnkgPSA3ODA0OwogICAgICAgICAgICAgcmV0dXJuIGZv
by54OwogICAgICAgICB9CiAgICAgYDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377429</attachid>
            <date>2019-08-27 23:07:22 -0700</date>
            <delta_ts>2019-08-28 19:35:12 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>927549</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMzMSw2ICszMzEsNyBAQCBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFZpc2l0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFNlbWFudGljTWF0Y2hlci5j
cHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAorTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xUeXBlTmFtZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRhbENvZGVHZW5l
cmF0b3IuY3BwCkBAIC0zNDcsNyArMzQ4LDYgQEAgTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dI
TFNMU3BlY2lhbGl6YQogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMU3RhZ2VJbk91dFNl
bWFudGljLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRmxvYXRMaXRlcmFsVHlw
ZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEludGVnZXJMaXRlcmFsVHlwZS5j
cHAKLU1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAKIE1v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLmNw
cAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMU3RhdGVtZW50LmNwcAogTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5jcHAJKHJldmlzaW9u
IDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNU
RHVtcGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAyLDEyICszMDIsNiBAQCB2b2lkIEFTVER1
bXBlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmCiAgICAgbV9vdXQucHJpbnQoZmxvYXRMaXRl
cmFsLnZhbHVlKCkpOwogfQogCi12b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJh
bCYgbnVsbExpdGVyYWwpCi17Ci0gICAgbV9vdXQucHJpbnQoIm51bGwiKTsKLSAgICB2aXNpdChu
dWxsTGl0ZXJhbC50eXBlKCkpOwotfQotCiB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNUOjpCb29s
ZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpCiB7CiAgICAgaWYgKGJvb2xlYW5MaXRlcmFsLnZh
bHVlKCkpCkBAIC0zMjgsMTAgKzMyMiw2IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkZs
b2F0TGl0ZXJhbFQKIHsKIH0KIAotdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVy
YWxUeXBlJikKLXsKLX0KLQogdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgbV9vdXQucHJp
bnQoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmxlZnQoKSwgIi4iLCBlbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwucmlnaHQoKSk7CkBAIC00MjUsNyArNDE1LDYgQEAgdm9pZCBBU1REdW1wZXI6OnZp
c2l0KEFTVDo6RXhwcmVzc2lvbiYgZQogICAgIGJvb2wgc2tpcFBhcmVucyA9IGlzPEFTVDo6Qm9v
bGVhbkxpdGVyYWw+KGV4cHJlc3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6RmxvYXRMaXRlcmFs
PihleHByZXNzaW9uKQogICAgICAgICB8fCBpczxBU1Q6OkludGVnZXJMaXRlcmFsPihleHByZXNz
aW9uKQotICAgICAgICB8fCBpczxBU1Q6Ok51bGxMaXRlcmFsPihleHByZXNzaW9uKQogICAgICAg
ICB8fCBpczxBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw+KGV4cHJlc3Npb24pCiAgICAgICAg
IHx8IGlzPEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPihleHByZXNzaW9uKQogICAgICAg
ICB8fCBpczxBU1Q6OkNvbW1hRXhwcmVzc2lvbj4oZXhwcmVzc2lvbikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuaAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xBU1REdW1wZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsMTIgKzcxLDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2
b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFT
VDo6TnVsbExpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVhbkxp
dGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWxUeXBl
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbFR5cGUmKSBv
dmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkF0dHJpYnV0ZSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUmKSBvdmVycmlkZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xDaGVja2VyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI5LDgg
KzMyOSw4IEBAIHN0YXRpYyBPcHRpb25hbDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGEKICAgICAg
ICAgICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoW10oUmVm
PEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQWNjZXB0YWJpbGl0eSB7CiAgICAg
ICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUpICYm
IGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlO
b2RlKSkgPyBBY2NlcHRhYmlsaXR5OjpZZXMgOiBBY2NlcHRhYmlsaXR5OjpObzsKLSAgICAgICAg
ICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmFibGVUeXBl
UmVmZXJlbmNlKSAtPiBBY2NlcHRhYmlsaXR5IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gaXM8
QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxl
VHlwZSgpKSA/IEFjY2VwdGFiaWxpdHk6Ok1heWJlIDogQWNjZXB0YWJpbGl0eTo6Tm87CisgICAg
ICAgICAgICB9LCBbXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+JikgLT4gQWNjZXB0
YWJpbGl0eSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFjY2VwdGFiaWxpdHk6Ok5vOwogICAg
ICAgICAgICAgfSkpOwogICAgICAgICB9OwogICAgICAgICBhdXRvIGxlZnRBY2NlcHRhYmlsaXR5
ID0gYWNjZXB0YWJpbGl0eSh0eXBlc1swXS5nZXQoKSk7CkBAIC02MDAsMTAgKzYwMCwxMiBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiByZWN1cnNlQW5kV3JhcEJhc2VU
eXBlKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJik7CiAgICAgYm9vbCByZWN1cnNlQW5k
UmVxdWlyZUJvb2xUeXBlKEFTVDo6RXhwcmVzc2lvbiYpOwogICAgIHZvaWQgYXNzaWduQ29uY3Jl
dGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiwgQVNUOjpUeXBl
QW5ub3RhdGlvbik7CisgICAgdm9pZCBhc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9u
JiwgQVNUOjpOYW1lZFR5cGUmLCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKICAgICB2b2lkIGFzc2ln
blR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiwg
QVNUOjpUeXBlQW5ub3RhdGlvbik7CiAgICAgdm9pZCBmb3J3YXJkVHlwZShBU1Q6OkV4cHJlc3Np
b24mLCBSZXNvbHZpbmdUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlvbik7CiAKICAgICB2b2lkIHZp
c2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJikgb3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
RW51bWVyYXRpb25EZWZpbml0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlR5
cGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbiYpIG92ZXJyaWRlOwpAQCAtNjIxLDcgKzYyMyw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChB
U1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6RmxvYXRMaXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRl
cmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpMb2dpY2FsTm90RXhwcmVzc2lvbiYpIG92ZXJy
aWRlOwpAQCAtNjM1LDggKzYzNiw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB2aXNpdChBU1Q6OlRl
cm5hcnlFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxFeHBy
ZXNzaW9uJikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGZpbmlzaFZpc2l0aW5nKEFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uJiwgUmVzb2x2aW5nVHlwZSogYWRkaXRpb25hbEFyZ3VtZW50VHlw
ZSA9IG51bGxwdHIpOwotCiAgICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiByZXNvbHZlRnVu
Y3Rpb24oVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBl
cywgY29uc3QgU3RyaW5nJiBuYW1lLCBDb2RlTG9jYXRpb24sIEFTVDo6TmFtZWRUeXBlKiBjYXN0
UmV0dXJuVHlwZSA9IG51bGxwdHIpOwogCiAgICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFy
Z3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKEFTVDo6VW5uYW1lZFR5cGUmIGJhc2VUeXBlLCBBU1Q6
OkFkZHJlc3NTcGFjZSk7CkBAIC02NDgsMTEgKzY0NywxMSBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gKm1fd3JhcHBlZEZsb2F0VHlwZTsKICAgICB9CiAKLSAgICBBU1Q6OlVubmFtZWRUeXBl
JiBnZW5lcmljUG9pbnRlclR5cGUoKQorICAgIEFTVDo6VW5uYW1lZFR5cGUmIHdyYXBwZWRVaW50
VHlwZSgpCiAgICAgewotICAgICAgICBpZiAoIW1fZ2VuZXJpY1BvaW50ZXJUeXBlKQotICAgICAg
ICAgICAgbV9nZW5lcmljUG9pbnRlclR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUoeyB9
LCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoeyB9
LCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKTsKLSAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQ
b2ludGVyVHlwZTsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAg
IG1fd3JhcHBlZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRy
aW5zaWNzLnVpbnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwog
ICAgIH0KIAogICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25L
ZXkoQVNUOjpVbm5hbWVkVHlwZSYgdHlwZSkKQEAgLTY2MSwxNCArNjYwLDExIEBAIHByaXZhdGU6
CiAgICAgICAgIGlmICh1bmlmeU5vZGUgPT0gJm1faW50cmluc2ljcy51aW50VHlwZSgpIHx8IHVu
aWZ5Tm9kZSA9PSAmbV9pbnRyaW5zaWNzLmludFR5cGUoKSkKICAgICAgICAgICAgIHJldHVybiB3
cmFwcGVkRmxvYXRUeXBlKCk7CiAKLSAgICAgICAgaWYgKGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4o
dHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gZ2VuZXJpY1BvaW50ZXJUeXBlKCk7Ci0KICAgICAg
ICAgcmV0dXJuIHR5cGU7CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4g
bV93cmFwcGVkRmxvYXRUeXBlOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVy
aWNQb2ludGVyVHlwZTsKKyAgICBSZWZQdHI8QVNUOjpUeXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRV
aW50VHlwZTsKICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxS
ZXNvbHZpbmdUeXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVu
dHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Zy
YWdtZW50RW50cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CkBAIC02NzksNiArNjc1LDcg
QEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPEZ1bmN0aW9uS2V5LCBWZWN0b3I8c3RkOjpyZWZlcmVu
Y2Vfd3JhcHBlcjxBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24+LCAxPiwgRnVuY3Rpb25LZXk6Okhh
c2gsIEZ1bmN0aW9uS2V5OjpUcmFpdHM+IG1fZnVuY3Rpb25zOwogICAgIEhhc2hNYXA8QW5kT3Zl
cmxvYWRUeXBlS2V5LCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4sIEFuZE92ZXJsb2FkVHlwZUtl
eTo6SGFzaCwgQW5kT3ZlcmxvYWRUeXBlS2V5OjpUcmFpdHM+IG1fYW5kT3ZlcmxvYWRUeXBlTWFw
OwogICAgIEFTVDo6TmFtZVNwYWNlIG1fY3VycmVudE5hbWVTcGFjZSB7IEFTVDo6TmFtZVNwYWNl
OjpTdGFuZGFyZExpYnJhcnkgfTsKKyAgICBib29sIG1faXNQYXJhbWV0ZXIgeyBmYWxzZSB9Owog
fTsKIAogdm9pZCBDaGVja2VyOjp2aXNpdChQcm9ncmFtJiBwcm9ncmFtKQpAQCAtNzMzLDYgKzcz
MCwxMyBAQCBib29sIENoZWNrZXI6OmNoZWNrU2hhZGVyVHlwZShjb25zdCBBU1Q6CiAgICAgfQog
fQogCit2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYgZnVuY3Rp
b25EZWNsYXJhdGlvbikKK3sKKyAgICBtX2lzUGFyYW1ldGVyID0gdHJ1ZTsKKyAgICBWaXNpdG9y
Ojp2aXNpdChmdW5jdGlvbkRlY2xhcmF0aW9uKTsKKyAgICBtX2lzUGFyYW1ldGVyID0gZmFsc2U7
Cit9CisKIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0
aW9uRGVmaW5pdGlvbikKIHsKICAgICBtX2N1cnJlbnROYW1lU3BhY2UgPSBmdW5jdGlvbkRlZmlu
aXRpb24ubmFtZVNwYWNlKCk7CkBAIC03OTAsNiArNzk0LDE3IEBAIHN0YXRpYyBSZWZQdHI8QVNU
OjpVbm5hbWVkVHlwZT4gbWF0Y2hBbmQKICAgICB9KSk7CiB9CiAKK3N0YXRpYyBib29sIG1hdGNo
QW5kQ29tbWl0KFJlc29sdmluZ1R5cGUmIHJlc29sdmluZ1R5cGUsIEFTVDo6TmFtZWRUeXBlJiBu
YW1lZFR5cGUpCit7CisgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtlVmlz
aXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiByZXNvbHZpbmdUeXBlKSB7CisgICAgICAg
IGlmIChtYXRjaGVzKHJlc29sdmluZ1R5cGUsIG5hbWVkVHlwZSkpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0sIFsmXShSZWZQdHI8UmVzb2x2
YWJsZVR5cGVSZWZlcmVuY2U+JiByZXNvbHZpbmdUeXBlKSAtPiBib29sIHsKKyAgICAgICAgcmV0
dXJuIG1hdGNoQW5kQ29tbWl0KG5hbWVkVHlwZSwgcmVzb2x2aW5nVHlwZS0+cmVzb2x2YWJsZVR5
cGUoKSk7CisgICAgfSkpOworfQorCiBzdGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGNv
bW1pdChSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKQogewogICAgIHJldHVybiByZXNvbHZp
bmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYg
dW5uYW1lZFR5cGUpIC0+IFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB7CkBAIC04MTgsOSArODMz
LDYgQEAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBDaGVja2VyOjpyZXNvbAogICAgICAgICAg
ICAgICAgIHx8IHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxlVHlwZSgpLmlzVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gJndyYXBw
ZWRGbG9hdFR5cGUoKTsKIAotICAgICAgICAgICAgaWYgKHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LT5yZXNvbHZhYmxlVHlwZSgpLmlzTnVsbExpdGVyYWxUeXBlKCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuICZnZW5lcmljUG9pbnRlclR5cGUoKTsKLQogICAgICAgICAgICAgcmV0dXJuIGNvbW1p
dChyZXNvbHZhYmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUoKSkuZ2V0KCk7CiAgICAg
ICAgIH0pKTsKIApAQCAtOTU4LDYgKzk3MCw5IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpW
YXJpYWJsZURlY2xhcmEKICAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJEZWNsYXJlZCB2YXJp
YWJsZSB0eXBlIGRvZXMgbm90IG1hdGNoIGl0cyBpbml0aWFsaXplcidzIHR5cGUuIiwgdmFyaWFi
bGVEZWNsYXJhdGlvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CisgICAgfSBlbHNlIGlmICghbV9pc1BhcmFtZXRlciAmJiBpczxBU1Q6OlJlZmVyZW5j
ZVR5cGU+KHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkpIHsKKyAgICAg
ICAgc2V0RXJyb3IoRXJyb3IoIk11c3QgYXNzaWduIHRvIGEgcmVmZXJlbmNlIHR5cGUgdmFyaWFi
bGUgaW4gaXRzIGluaXRpYWxpemVyLiIsIHZhcmlhYmxlRGVjbGFyYXRpb24uY29kZUxvY2F0aW9u
KCkpKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KIApAQCAtOTY4LDYgKzk4MywxMSBAQCB2
b2lkIENoZWNrZXI6OmFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4CiAgICAgZXhwcmVzc2lvbi5z
ZXRUeXBlQW5ub3RhdGlvbihXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7CiB9CiAKK3ZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgQVNU
OjpOYW1lZFR5cGUmIHR5cGUsIEFTVDo6VHlwZUFubm90YXRpb24gYW5ub3RhdGlvbikKK3sKKyAg
ICBhc3NpZ25Db25jcmV0ZVR5cGUoZXhwcmVzc2lvbiwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KHR5cGUuY29kZUxvY2F0aW9uKCksIHR5cGUpLCBhbm5vdGF0aW9uKTsKK30KKwogdm9pZCBDaGVj
a2VyOjphc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgUmVmUHRyPFJlc29s
dmFibGVUeXBlUmVmZXJlbmNlPiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSwgQVNUOjpUeXBlQW5u
b3RhdGlvbiB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6UmlnaHRWYWx1ZSgpKQogewogICAgIGF1dG8g
YWRkUmVzdWx0ID0gbV90eXBlTWFwLmFkZCgmZXhwcmVzc2lvbiwgbWFrZVVuaXF1ZTxSZXNvbHZp
bmdUeXBlPihXVEZNb3ZlKHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSkpOwpAQCAtMTAyOSw3ICsx
MDQ5LDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZQogICAgIGlm
ICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9yd2FyZFR5cGUocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5nVHlwZSk7CisgICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNUOjpVbm5hbWVkVHlwZSog
Z2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSkKQEAgLTExNzAsMTQ0
ICsxMTkwLDExMyBAQCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gQ2hlY2tlcjo6YXJndW1lCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGluZyhBU1Q6
OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBSZXNv
bHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNlSW5mbyA9
IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOworICAg
IGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJhc2UoKSk7
CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBiYXNlVW5u
YW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlmICghYmFz
ZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0
aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9uLiIsIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBkb3QgZXhw
cmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9u
ID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0dXJuVHlw
ZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAg
ICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwot
ICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVy
RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9u
KGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5
cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9IGRvd25j
YXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBpZiAoQVNU
OjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhwcmVzc2lv
bi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVz
c2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZpZWxkIG5h
bWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlzdCBvbiBz
dHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5cGUoKTsK
LSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24gPSBu
dWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5cGUgPSBu
dWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UpIHsKLSAg
ICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVu
dFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NTcGFjZSkp
IHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpV
bm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVyQXJndW1l
bnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1
bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRk
aXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAgICAgYW5k
ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFuZGVyTmFt
ZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgICAg
IGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGlm
IChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9ICZkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBl
KCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVy
CiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVh
ZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB0
aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3VtZW50VHlw
ZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VV
bm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAgUmVzb2x2
aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6OlBvaW50
ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAgICAgICAg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVhZEFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5hcHBlbmQo
KmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9IHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0aHJlYWRB
bmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcywg
YW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAg
ICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpCisgICAg
ICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkgeworICAg
ICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRVaW50VHlw
ZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBz
ZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBhcnJheXMs
IGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5kZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2FzdDxBU1Q6
OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCk7
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY0
IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2ludGVyCi0g
ICAgfQotCi0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2UgJiYgIWFuZGVyRnVuY3Rpb24gJiYgIWdl
dHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3Mg
aW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhbiBhbmRlciBvciBhIGdldHRlci4iLCBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBl
KS5pc1ZlY3RvcigpKSB7CisgICAgICAgIGlmICghbV9wcm9ncmFtLmlzVmFsaWRWZWN0b3JQcm9w
ZXJ0eShkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkgeworICAgICAgICAgICAgc2V0RXJyb3Io
RXJyb3IobWFrZVN0cmluZygiJy4iLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBwcm9wZXJ0eSBvbiBhIHZlY3Rvci4iKSwgZG90RXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgc2l6ZV90IGZpZWxkTGVuZ3RoID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKS5s
ZW5ndGgoKTsKKyAgICAgICAgYXV0byYgaW5uZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpOworICAgICAgICBpZiAo
ZmllbGRMZW5ndGggPT0gMSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBpbm5lclR5cGUsIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9v
bFR5cGUoKSkpCisgICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Np
b24sIG1faW50cmluc2ljcy5ib29sVmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBiYXNl
SW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5l
clR5cGUsIG1faW50cmluc2ljcy5pbnRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuaW50VmVjdG9yVHlwZUZvclNp
emUoZmllbGRMZW5ndGgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAgICAgICAg
ZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy51aW50VHlwZSgpKSkKKyAg
ICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5z
aWNzLnVpbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5u
b3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRy
aW5zaWNzLmZsb2F0VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUo
ZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmZsb2F0VmVjdG9yVHlwZUZvclNpemUoZmllbGRM
ZW5ndGgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAg
ICB9IGVsc2UKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkJhc2UgdmFsdWUgb2YgZG90IGV4cHJl
c3Npb24gbXVzdCBiZSBhIHN0cnVjdHVyZSwgYXJyYXksIG9yIHZlY3Rvci4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7Cit9CiAKLSAgICBpZiAodGhyZWFkQW5kZXJGdW5jdGlvbiAm
JiBnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90IGhhdmUg
Ym90aCBhIHRocmVhZCBhbmRlciBhbmQgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cit2b2lkIENoZWNr
ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCit7CisgICAg
eworICAgICAgICBhdXRvIGluZGV4SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVz
c2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIGlmICghaW5kZXhJbmZvKQorICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGFuZGVyRnVuY3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5j
dGlvbiAmJiAhbWF0Y2hlcygqYW5kZXJSZXR1cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBl
KSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBt
YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlci4iLCBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBp
ZiAoIW1hdGNoQW5kQ29tbWl0KGluZGV4SW5mby0+cmVzb2x2aW5nVHlwZSwgbV9pbnRyaW5zaWNz
LnVpbnRUeXBlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggaW4gYW4g
aW5kZXggZXhwcmVzc2lvbiBtdXN0IGJlIGEgdWludC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIH0KIAotICAg
IGlmIChnZXR0ZXJGdW5jdGlvbiAmJiBhbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJS
ZXR1cm5UeXBlLCAqYW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigi
UmV0dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGdl
dHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7
CisgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmIChn
ZXR0ZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJS
ZXR1cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihF
cnJvcigiUmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSkpOworICAgIGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5y
ZXNvbHZpbmdUeXBlKTsKKyAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgeworICAgICAgICBzZXRF
cnJvcihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYW4gaW5k
ZXggZXhwcmVzc2lvbi4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiBmaWVsZFR5cGUg
PSBnZXR0ZXJSZXR1cm5UeXBlID8gKmdldHRlclJldHVyblR5cGUgOiBhbmRlclJldHVyblR5cGUg
PyAqYW5kZXJSZXR1cm5UeXBlIDogKnRocmVhZEFuZGVyUmV0dXJuVHlwZTsKLQotICAgIEFTVDo6
RnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIEFTVDo6
VW5uYW1lZFR5cGUqIHNldHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAg
UmVzb2x2aW5nVHlwZSBmaWVsZFJlc29sdmluZ1R5cGUoZmllbGRUeXBlLmNvcHlSZWYoKSk7Ci0g
ICAgICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBzZXR0
ZXJBcmd1bWVudFR5cGVzIHsgYmFzZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYg
KGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVz
LmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIHNldHRlckFyZ3VtZW50
VHlwZXMuYXBwZW5kKGZpZWxkUmVzb2x2aW5nVHlwZSk7Ci0gICAgICAgIGF1dG8gc2V0dGVyTmFt
ZSA9IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAg
ICAgc2V0dGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oc2V0dGVyQXJndW1lbnRUeXBlcywg
c2V0dGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAg
ICAgICAgaWYgKGhhc0Vycm9yKCkpCisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+
dW5pZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkg
eworICAgICAgICBhdXRvJiBhcnJheVJlZmVyZW5jZVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odHlwZSk7CisgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4
cHJlc3Npb24sIGFycmF5UmVmZXJlbmNlVHlwZS5lbGVtZW50VHlwZSgpLCBBU1Q6OkxlZnRWYWx1
ZSB7IGFycmF5UmVmZXJlbmNlVHlwZS5hZGRyZXNzU3BhY2UoKSB9KTsKKyAgICB9IGVsc2UgaWYg
KGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSkKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGlu
ZGV4RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLnR5cGUoKSwgYmFz
ZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byBhZGRyZXNz
U3BhY2UgPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgPyBBU1Q6OlR5
cGVBbm5vdGF0aW9uIHsgQVNUOjpSaWdodFZhbHVlKCkgfSA6IEFTVDo6VHlwZUFubm90YXRpb24g
eyBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCkgfTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNW
ZWN0b3IoKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24s
IG5hdGl2ZVR5cGUudmVjdG9yVHlwZUFyZ3VtZW50KCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAg
IGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkgeworICAgICAgICAgICAgYXV0byYgaW5u
ZXJUeXBlID0gbmF0aXZlVHlwZS5tYXRyaXhUeXBlQXJndW1lbnQoKTsKKyAgICAgICAgICAgIHVu
c2lnbmVkIG51bVJvd3MgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAg
ICAgICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisg
ICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgQVNUOjpU
eXBlUmVmZXJlbmNlOjp3cmFwKGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgbV9pbnRy
aW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSksIGFkZHJlc3NTcGFjZSk7Cisg
ICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmZsb2F0
VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNz
aW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSksIGFkZHJl
c3NTcGFjZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9y
KEVycm9yKCJJbmRleCBleHByZXNzaW9uIG9uIHVua25vd24gdHlwZS4iLCBpbmRleEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKHNl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgc2V0dGVyUmV0dXJuVHlwZSA9ICZzZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIGlmIChzZXR0ZXJGdW5jdGlvbiAmJiAhZ2V0dGVy
RnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNhbm5vdCBkZWZpbmUgYSBzZXR0
ZXIgZnVuY3Rpb24gd2l0aG91dCBhIGNvcnJlc3BvbmRpbmcgZ2V0dGVyLiIsIHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICB9CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBl
LiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotCi0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldEdldHRlckZ1bmN0aW9uKGdl
dHRlckZ1bmN0aW9uKTsKLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0QW5kZXJGdW5j
dGlvbihhbmRlckZ1bmN0aW9uKTsKLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0VGhy
ZWFkQW5kZXJGdW5jdGlvbih0aHJlYWRBbmRlckZ1bmN0aW9uKTsKLSAgICBwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uc2V0U2V0dGVyRnVuY3Rpb24oc2V0dGVyRnVuY3Rpb24pOwotCi0gICAgQVNU
OjpUeXBlQW5ub3RhdGlvbiB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6UmlnaHRWYWx1ZSgpOwotICAg
IGlmIChhdXRvIGxlZnRBZGRyZXNzU3BhY2UgPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24ubGVm
dEFkZHJlc3NTcGFjZSgpKSB7Ci0gICAgICAgIGlmIChhbmRlckZ1bmN0aW9uKQotICAgICAgICAg
ICAgdHlwZUFubm90YXRpb24gPSBBU1Q6OkxlZnRWYWx1ZSB7IGRvd25jYXN0PEFTVDo6UmVmZXJl
bmNlVHlwZT4oYW5kZXJGdW5jdGlvbi0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9OwotICAgICAg
ICBlbHNlIGlmIChzZXR0ZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHR5cGVBbm5vdGF0aW9uID0g
QVNUOjpBYnN0cmFjdExlZnRWYWx1ZSgpOwotICAgIH0gZWxzZSBpZiAoIWJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5pc1JpZ2h0VmFsdWUoKSAmJiAoc2V0dGVyRnVuY3Rpb24gfHwgdGhyZWFkQW5k
ZXJGdW5jdGlvbikpCi0gICAgICAgIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpBYnN0cmFjdExlZnRW
YWx1ZSgpOwotICAgIGFzc2lnbkNvbmNyZXRlVHlwZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24s
IFdURk1vdmUoZmllbGRUeXBlKSwgV1RGTW92ZSh0eXBlQW5ub3RhdGlvbikpOwotfQotCi12b2lk
IENoZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAg
ICBmaW5pc2hWaXNpdGluZyhkb3RFeHByZXNzaW9uKTsKLX0KLQotdm9pZCBDaGVja2VyOjp2aXNp
dChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQotewotICAgIGF1dG8gYmFz
ZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9u
KCkpOwotICAgIGlmICghYmFzZUluZm8pCi0gICAgICAgIHJldHVybjsKLSAgICBmaW5pc2hWaXNp
dGluZyhpbmRleEV4cHJlc3Npb24sICZiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7CiB9CiAKIHZv
aWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVu
Y2UpCkBAIC0xMzYyLDExICsxMzUxLDYgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZsb2F0
TGl0ZXJhbCYgZgogICAgIGFzc2lnblR5cGUoZmxvYXRMaXRlcmFsLCBhZG9wdFJlZigqbmV3IFJl
c29sdmFibGVUeXBlUmVmZXJlbmNlKGZsb2F0TGl0ZXJhbC50eXBlKCkpKSk7CiB9CiAKLXZvaWQg
Q2hlY2tlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCi17Ci0gICAgYXNz
aWduVHlwZShudWxsTGl0ZXJhbCwgYWRvcHRSZWYoKm5ldyBSZXNvbHZhYmxlVHlwZVJlZmVyZW5j
ZShudWxsTGl0ZXJhbC50eXBlKCkpKSk7Ci19Ci0KIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpC
b29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpCiB7CiAgICAgYXNzaWduQ29uY3JldGVUeXBl
KGJvb2xlYW5MaXRlcmFsLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoYm9vbGVhbkxpdGVyYWwu
Y29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5ib29sVHlwZSgpKSk7CkBAIC0xNDg4LDggKzE0
NzIsNiBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6U3dpdGNoU3RhdGVtZW50CiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwg
dW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC50eXBlKCkpKTsKICAgICAgICAgfSwgWyZdKEFTVDo6Rmxv
YXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpIC0+IGJvb2wgewogICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGJvb2w+KG1hdGNoQW5kQ29tbWl0KCp2YWx1ZVR5cGUsIGZsb2F0TGl0ZXJhbC50
eXBlKCkpKTsKLSAgICAgICAgfSwgWyZdKEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKSAt
PiBib29sIHsKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENv
bW1pdCgqdmFsdWVUeXBlLCBudWxsTGl0ZXJhbC50eXBlKCkpKTsKICAgICAgICAgfSwgWyZdKEFT
VDo6Qm9vbGVhbkxpdGVyYWwmKSAtPiBib29sIHsKICAgICAgICAgICAgIHJldHVybiBtYXRjaGVz
KCp2YWx1ZVR5cGUsIG1faW50cmluc2ljcy5ib29sVHlwZSgpKTsKICAgICAgICAgfSwgWyZdKEFT
VDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpIC0+
IGJvb2wgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xI
aWdoWm9tYmllRmluZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCShyZXZpc2lvbiAyNDkwMjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVG
aW5kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwzNCArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLSNpZiAhQVNTRVJUX0RJU0FCTEVECi0vLyBJ
ZiBhIGhpZ2gtbGV2ZWwgY29uc3RydWN0IHNvbWVob3cgbWFuYWdlcyB0byBsaXZlIG9uIHdoZW4g
d2UncmUgbG93ZXJlZCwgaXQncyBhIGhpZ2ggem9tYmllLgotY2xhc3MgSGlnaFpvbWJpZUZpbmRl
ciA6IHB1YmxpYyBWaXNpdG9yIHsKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4
cHJlc3Npb24mKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lk
IHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci19OwotI2VuZGlmCi0KLXZvaWQg
ZmluZEhpZ2hab21iaWVzKFByb2dyYW0mIHByb2dyYW0pCit2b2lkIGZpbmRIaWdoWm9tYmllcyhQ
cm9ncmFtJikKIHsKLSNpZiBBU1NFUlRfRElTQUJMRUQKLSAgICBVTlVTRURfUEFSQU0ocHJvZ3Jh
bSk7Ci0jZWxzZQotICAgIEhpZ2hab21iaWVGaW5kZXIoKS5WaXNpdG9yOjp2aXNpdChwcm9ncmFt
KTsKLSNlbmRpZgogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTEluZmVyVHlwZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW5mZXJUeXBlcy5jcHAJKHJldmlzaW9uIDI0OTAyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW5mZXJUeXBlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNywxMCArMTI3LDYgQEAgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1hdGNoQW5kQ29tbWl0KAogICAgICAgICByZXNvbHZhYmxlVHlwZTIucmVzb2x2ZShk
b3duY2FzdDxBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTIp
LnByZWZlcnJlZFR5cGUoKSk7CiAgICAgICAgIHJldHVybiAmZG93bmNhc3Q8QVNUOjpVbnNpZ25l
ZEludGVnZXJMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUxKS5wcmVmZXJyZWRUeXBlKCk7CiAg
ICAgfQotICAgIGlmIChpczxBU1Q6Ok51bGxMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUxKSAm
JiBpczxBU1Q6Ok51bGxMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUyKSkgewotICAgICAgICAv
LyBGSVhNRTogVHJ5aW5nIHRvIG1hdGNoIG51bGxwdHIgYW5kIG51bGxwdHIgZmFpbHMuCi0gICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApAQCAt
MTUyLDEwICsxNDgsNiBAQCBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gY29tbWl0KEFTVDo6UmVz
CiAgICAgICAgIHJlc29sdmFibGVUeXBlLnJlc29sdmUodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5
cGUucHJlZmVycmVkVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICZ1bnNpZ25lZEludGVnZXJMaXRl
cmFsVHlwZS5wcmVmZXJyZWRUeXBlKCk7CiAgICAgfQotICAgIGlmIChpczxBU1Q6Ok51bGxMaXRl
cmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8g
bWF0Y2ggbnVsbHB0ciBhbmQgbnVsbHB0ciBmYWlscy4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNpY3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNpY3MuaAkocmV2aXNp
b24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJ
bnRyaW5zaWNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuICptX2Jvb2xUeXBlOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uJiBib29sVmVjdG9yVHlwZUZvclNpemUodW5zaWduZWQgc2l6ZSkgY29uc3QKKyAg
ICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHNpemUgPT0gMiB8fCBzaXplID09IDMgfHwgc2l6
ZSA9PSA0KTsKKyAgICAgICAgcmV0dXJuICptX3ZlY3RvckJvb2xbc2l6ZSAtIDJdOworICAgIH0K
KwogICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiB1aW50VHlwZSgpIGNvbnN0CiAgICAg
ewogICAgICAgICBBU1NFUlQobV91aW50VHlwZSk7CkBAIC04Miw2ICs4OCwxMiBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JVaW50WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uJiB1aW50VmVjdG9yVHlwZUZvclNpemUodW5zaWduZWQgc2l6ZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHNpemUgPT0gMiB8fCBzaXplID09
IDMgfHwgc2l6ZSA9PSA0KTsKKyAgICAgICAgcmV0dXJuICptX3ZlY3RvclVpbnRbc2l6ZSAtIDJd
OworICAgIH0KKwogICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBpbnQyVHlwZSgpIGNv
bnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV92ZWN0b3JJbnRbMF0pOwpAQCAtOTQsNiArMTA2
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvckludFsyXTsKICAgICB9CiAK
KyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgaW50VmVjdG9yVHlwZUZvclNpemUodW5z
aWduZWQgc2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHNpemUgPT0g
MiB8fCBzaXplID09IDMgfHwgc2l6ZSA9PSA0KTsKKyAgICAgICAgcmV0dXJuICptX3ZlY3Rvcklu
dFtzaXplIC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHNh
bXBsZXJUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3NhbXBsZXJUeXBlKTsK
QEAgLTEyNCw2ICsxNDIsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yRmxv
YXRbMl07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGZsb2F0VmVj
dG9yVHlwZUZvclNpemUodW5zaWduZWQgc2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHNpemUgPT0gMiB8fCBzaXplID09IDMgfHwgc2l6ZSA9PSA0KTsKKyAgICAgICAg
cmV0dXJuICptX3ZlY3RvckZsb2F0W3NpemUgLSAyXTsKKyAgICB9CisKICAgICAvLyBUaGVzZSBm
dW5jdGlvbnMgbWF5IGhhdmUgYmVlbiBwcnVuZWQgZnJvbSB0aGUgQVNUIGlmIHRoZXkgYXJlIHVu
dXNlZC4KICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24qIGRkeCgpIGNvbnN0CiAg
ICAgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRl
cmFsVHlwZUNoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAkocmV2aXNpb24gMjQ5MDIw
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlw
ZUNoZWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRl
ICJXSExTTEludGVnZXJMaXRlcmFsVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURl
Y2xhcmF0aW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaCIKICNpbmNsdWRl
ICJXSExTTFByb2dyYW0uaCIKICNpbmNsdWRlICJXSExTTFR5cGVSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJXSExTTFZpc2l0b3IuaCIKQEAgLTczLDExICs3Miw2IEBAIHByaXZhdGU6CiAgICAgICAg
IEFTU0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24pOwogICAgICAgICBBU1NFUlQobmF0aXZlVHlw
ZURlY2xhcmF0aW9uLT5jYW5SZXByZXNlbnRVbnNpZ25lZEludGVnZXIoKSh1bnNpZ25lZEludGVn
ZXJMaXRlcmFsVHlwZS52YWx1ZSgpKSk7CiAgICAgfQotCi0gICAgdm9pZCB2aXNpdChBU1Q6Ok51
bGxMaXRlcmFsVHlwZSYgbnVsbExpdGVyYWxUeXBlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
QVNTRVJUKG51bGxMaXRlcmFsVHlwZS5tYXliZVJlc29sdmVkVHlwZSgpKTsKLSAgICB9CiB9Owog
I2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFBhcnNlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDAzLDggKzQwMyw2IEBAIGF1dG8gUGFyc2VyOjpwYXJzZUNvbnN0YW50RXhwcmVzc2lvbigpIC0K
ICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCh2YWx1ZS5lcnJvcigpKTsKICAgICAg
ICAgcmV0dXJuIHt7IEFTVDo6RmxvYXRMaXRlcmFsKHsgKnR5cGUgfSwgKnZhbHVlKSB9fTsKICAg
ICB9Ci0gICAgY2FzZSBUb2tlbjo6VHlwZTo6TnVsbDoKLSAgICAgICAgcmV0dXJuIHsgQVNUOjpO
dWxsTGl0ZXJhbChXVEZNb3ZlKCp0eXBlKSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBlOjpUcnVl
OgogICAgICAgICByZXR1cm4geyBBU1Q6OkJvb2xlYW5MaXRlcmFsKFdURk1vdmUoKnR5cGUpLCB0
cnVlKSB9OwogICAgIGNhc2UgVG9rZW46OlR5cGU6OkZhbHNlOgpAQCAtODc1LDcgKzg3Myw2IEBA
IGF1dG8gUGFyc2VyOjpwYXJzZUVudW1lcmF0aW9uTWVtYmVyKGludDYKICAgICAgICAgfSwgWyZd
KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYgdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCkgewog
ICAgICAgICAgICAgdmFsdWUgPSB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCk7CiAgICAg
ICAgIH0sIFsmXShBU1Q6OkZsb2F0TGl0ZXJhbCYpIHsKLSAgICAgICAgfSwgWyZdKEFTVDo6TnVs
bExpdGVyYWwmKSB7CiAgICAgICAgIH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRlcmFsJikgewogICAg
ICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSB7CiAgICAgICAgIH0p
KTsKQEAgLTIwNjMsNyArMjA2MCw3IEBAIGF1dG8gUGFyc2VyOjpwYXJzZVRlcm0oKSAtPiBFeHBl
Y3RlZDxVbmkKICAgICAgICAgcmV0dXJuIHsgbWFrZVVuaXF1ZVJlZjxBU1Q6OkZsb2F0TGl0ZXJh
bD4oKnR5cGUsICp2YWx1ZSkgfTsKICAgICB9CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6TnVsbDoK
LSAgICAgICAgcmV0dXJuIHsgbWFrZVVuaXF1ZVJlZjxBU1Q6Ok51bGxMaXRlcmFsPigqdHlwZSkg
fTsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKEVycm9yKCInbnVsbCcgaXMgYSByZXNl
cnZlZCBrZXl3b3JkLiIsIHR5cGUtPmNvZGVMb2NhdGlvbikpOwogICAgIGNhc2UgVG9rZW46OlR5
cGU6OlRydWU6CiAgICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVSZWY8QVNUOjpCb29sZWFuTGl0
ZXJhbD4oKnR5cGUsIHRydWUpIH07CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6RmFsc2U6CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJl
cGFyZS5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgbmFtZXNwYWNlIFdITFNMIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQmVmb3Jl
RWFjaFBhc3MgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNUQWZ0ZXJQYXJz
aW5nID0gZmFsc2U7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcEFTVEF0RW5kID0gZmFsc2U7
Ci1zdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJlcyA9IGZhbHNlOwor
c3RhdGljIGNvbnN0ZXhwciBib29sIGFsd2F5c0R1bXBQYXNzRmFpbHVyZXMgPSB0cnVlOwogc3Rh
dGljIGNvbnN0ZXhwciBib29sIGR1bXBQYXNzRmFpbHVyZSA9IGR1bXBBU1RCZWZvcmVFYWNoUGFz
cyB8fCBkdW1wQVNUQWZ0ZXJQYXJzaW5nIHx8IGR1bXBBU1RBdEVuZCB8fCBhbHdheXNEdW1wUGFz
c0ZhaWx1cmVzOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBQaGFzZVRpbWVzID0gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFy
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJlcGFyZS5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLWNvbnN0ZXhw
ciBib29sIGR1bXBNZXRhbENvbXBpbGVUaW1lcyA9IGZhbHNlOworY29uc3RleHByIGJvb2wgZHVt
cE1ldGFsQ29tcGlsZVRpbWVzID0gdHJ1ZTsKIAogVW5pcXVlUmVmPFNoYWRlck1vZHVsZT4gY3Jl
YXRlU2hhZGVyTW9kdWxlKGNvbnN0IFN0cmluZyYgd2hsc2xTb3VyY2UpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5j
cHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9ncmFtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDczMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXSExTTFByb2dyYW0uaCIKKwor
I2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdI
TFNMIHsKKworYm9vbCBQcm9ncmFtOjppc1ZhbGlkVmVjdG9yUHJvcGVydHkoU3RyaW5nIHByb3Bl
cnR5KQoreworICAgIGlmIChtX3ZlY3RvclByb3BlcnRpZXMuaXNFbXB0eSgpKSB7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoIngiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiengi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3oiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3ciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienoiKTsKKworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHciKTsKKworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgiend4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3oiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l5eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3kiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3kiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eXl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgiend3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHd4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3oiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eXd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3ki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp3
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3oiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h4dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3giKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoIngiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiengiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienoiKTsKKworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHciKTsKKworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3ciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienp4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enh3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXd3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHl3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5d3kiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienp5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eCIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3kiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp3dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp4eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXoiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h4dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3enl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6
enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHl5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3d3h6Iik7CisgICAgfQorCisgICAgcmV0dXJuIG1fdmVjdG9yUHJvcGVydGll
cy5jb250YWlucyhwcm9wZXJ0eSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdITFNMCisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAko
cmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9ncmFtLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbV9uYW1lQ29udGV4dC5hZGQobV9uYXRpdmVUeXBlRGVjbGFyYXRpb25z
Lmxhc3QoKSk7CiAgICAgfQogCisgICAgYm9vbCBpc1ZhbGlkVmVjdG9yUHJvcGVydHkoU3RyaW5n
KTsKKwogICAgIE5hbWVDb250ZXh0JiBuYW1lQ29udGV4dCgpIHsgcmV0dXJuIG1fbmFtZUNvbnRl
eHQ7IH0KICAgICBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgeyByZXR1cm4gbV9pbnRyaW5zaWNz
OyB9CiAgICAgY29uc3QgSW50cmluc2ljcyYgaW50cmluc2ljcygpIGNvbnN0IHsgcmV0dXJuIG1f
aW50cmluc2ljczsgfQpAQCAtMTA2LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFVu
aXF1ZVJlZjxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4+IG1fZnVuY3Rpb25EZWZpbml0aW9uczsK
ICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4+IG1f
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbnM7CiAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4+IG1fbmF0aXZlVHlwZURlY2xhcmF0aW9uczsKKyAgICBIYXNo
U2V0PFN0cmluZz4gbV92ZWN0b3JQcm9wZXJ0aWVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV0hM
U0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVy
dHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkocmV2aXNpb24gMjQ5MDIwKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKKy8qCisKIGNsYXNzIFByb3BlcnR5UmVzb2x2ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CiBwdWJsaWM6CiBwcml2YXRlOgpAQCAtODI4LDYgKzgzMCwxMSBAQCB2
b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mIHByb2dyYW0pCiB7CiAgICAgUHJvcGVydHlS
ZXNvbHZlcigpLlZpc2l0b3I6OnZpc2l0KHByb2dyYW0pOwogfQorKi8KKwordm9pZCByZXNvbHZl
UHJvcGVydGllcyhQcm9ncmFtJikKK3sKK30KIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hh
YmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExp
YnJhcnlGdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlG
dW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4
cHJlc3Npb24uZnVuY3Rpb24oKSkpOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAg
ICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBbJl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVu
Y3Rpb24pIHsKLSAgICAgICAgICAgIGlmICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgaWYgKGlzPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rp
b24pKQotICAgICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0
aW9uPigqZnVuY3Rpb24pKTsKLSAgICAgICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4
cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVz
c2lvbi5hbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24u
dGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9u
LnNldHRlckZ1bmN0aW9uKCkpOwotCi0gICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24p
OwotICAgIH0KLQogICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVh
Y2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7
IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeS50eHQJKHJldmlzaW9uIDI0
OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRh
cmRMaWJyYXJ5LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjg5LDExNyArNjg5LDExNyBAQCBmbG9h
dCB0cmFuc3Bvc2UoZmxvYXQgeCkgewogZmxvYXQyeDIgdHJhbnNwb3NlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAg
cmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0cmFuc3Bvc2UoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3Vs
dFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKICAgICByZXN1
bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdHJhbnNwb3NlKGZsb2F0NHgyIHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0
WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3Vs
dFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1
bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzJdID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJl
c3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdHJhbnNwb3NlKGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3Vs
dFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1
bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRyYW5zcG9zZShmbG9hdDN4MyB4KSB7CiAgICAgZmxv
YXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsx
XVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRb
MV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1
bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHRyYW5zcG9zZShmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJlc3VsdFsw
XVszXSA9IHhbM11bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzNdID0geFszXVsxXTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOworICAgIHJlc3Vs
dFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVz
dWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJl
c3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAgICBy
ZXN1bHRbMl1bM10gPSB4WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSA9IHhbMl1bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHRyYW5zcG9zZShmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1
bHRbMl1bMF0gPSB4WzBdWzJdOwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07Ci0gICAgcmVz
dWx0WzNdWzBdID0geFswXVszXTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRyYW5zcG9zZShmbG9hdDN4NCB4KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3Vs
dFsxXVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJl
c3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0geFswXVszXTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOwotICAg
IHJlc3VsdFszXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAg
ICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHRyYW5zcG9zZShmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJl
c3VsdFswXVszXSA9IHhbM11bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAg
cmVzdWx0WzFdWzNdID0geFszXVsxXTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwotICAg
IHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAg
ICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107Cisg
ICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07
CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNd
OworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsx
XTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IHhbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTExNjUsMTE3ICsxMTY1LDExNyBAQCBmbG9h
dDQgc2F0dXJhdGUoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHNhdHVyYXRlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MngzIHNhdHVyYXRlKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJh
dGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNhdHVy
YXRlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gyIHNhdHVyYXRlKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsx
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNhdHVyYXRlKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJh
dGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0
dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHNh
dHVyYXRlKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
c2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgyIHNhdHVyYXRlKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2F0dXJh
dGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2F0
dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
c2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNhdHVyYXRlKGZsb2F0NHgzIHgpIHsK
ICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJh
dGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0
dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
c2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNh
dHVyYXRlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2F0
dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUo
eFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2F0dXJhdGUoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTEzMDksMTE3ICsxMzA5LDExNyBAQCBmbG9hdDQgbWFkKGZsb2F0
NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHopCiBmbG9hdDJ4MiBtYWQoZmxvYXQyeDIgeCwgZmxvYXQy
eDIgeSwgZmxvYXQyeDIgeikgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtYWQoZmxv
YXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewogICAgIGZsb2F0MngzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbWFkKGZsb2F0Mng0
IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVsw
XSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0sIHlb
M11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MiBtYWQoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIg
eikgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgbWFkKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWFk
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1b
Ml0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtYWQoZmxvYXQz
eDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFk
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1b
M10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVszXVswXSwgelszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1hZCh4WzJdWzNd
LCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsyXSwgeVsz
XVsyXSwgelszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1hZChmbG9h
dDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhb
Ml1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFd
LCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVsz
XVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0s
IHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0
NHgzIHopIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5
WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsx
XSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtYWQoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxv
YXQ0eDQgeikgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJl
c3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1h
ZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBtYWQoeFsz
XVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0s
IHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IG1hZCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBtYWQoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
bWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4
WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbWFkKHhbM11bM10sIHlb
M11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDI5LDEwMTQgKzE0
MjksNzQxIEBAIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG8KIAogZmxv
YXQgbW9kZihmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIGlwKSB7CiAgICAgdWludCByZXN1bHQgPSB1
aW50KHgpOwotICAgIGlmIChpcCAhPSBudWxsKQotICAgICAgICAqaXAgPSB4IC0gZmxvYXQocmVz
dWx0KTsKKyAgICAqaXAgPSB4IC0gZmxvYXQocmVzdWx0KTsKICAgICByZXR1cm4gZmxvYXQocmVz
dWx0KTsKIH0KIGZsb2F0MiBtb2RmKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5KSB7CiAgICAg
ZmxvYXQyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVm
ZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOwor
ICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtb2Rm
KGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICBm
bG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtb2RmKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5
KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBd
ID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9k
Zih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0g
YnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gYnVmZmVy
OworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdID0gbW9kZih4WzNdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gYnVmZmVyOworICAg
ICgqeSlbM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngyIG1vZGYo
ZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSkgewogICAgIGZsb2F0Mngz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
KyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0
IG1vZGYoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5KSB7CiAgICAgZmxvYXQyeDQgcmVz
dWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsy
XSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7
CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBi
dWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsz
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICgqeSlbM11bMV0gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwg
dGhyZWFkIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1
ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9k
Zih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbW9kZihmbG9hdDN4MyB4LCB0aHJl
YWQgZmxvYXQzeDMqIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVy
OwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1vZGYoZmxvYXQzeDQgeCwgdGhy
ZWFkIGZsb2F0M3g0KiB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIp
OworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICgqeSlb
M11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1b
Ml0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVy
OworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNd
WzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MiBtb2RmKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSkgewog
ICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11b
MF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVy
OworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBd
WzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBt
b2RmKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0g
PSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJd
WzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAg
KCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVszXSA9IGJ1ZmZl
cjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJl
YWQgZmxvYXQ0eDQqIHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVy
OwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0g
YnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJd
WzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzFdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZm
ZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4
WzJdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsz
XVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgq
eSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVszXSA9IG1vZGYo
eFszXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsz
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKIAogZmxvYXQgbW9kZihmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIGlwKSB7CiAgICAgdWlu
dCByZXN1bHQgPSB1aW50KHgpOwotICAgIGlmIChpcCAhPSBudWxsKQotICAgICAgICAqaXAgPSB4
IC0gZmxvYXQocmVzdWx0KTsKKyAgICAqaXAgPSB4IC0gZmxvYXQocmVzdWx0KTsKICAgICByZXR1
cm4gZmxvYXQocmVzdWx0KTsKIH0KIGZsb2F0MiBtb2RmKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQy
KiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0
WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0g
bW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
ID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MyBtb2RmKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5KSB7CiAgICAgZmxvYXQzIHJl
c3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlb
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtb2RmKGZsb2F0NCB4LCBkZXZp
Y2UgZmxvYXQ0KiB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAg
ICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJd
ID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdID0gbW9k
Zih4WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0g
YnVmZmVyOworICAgICgqeSlbM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngyIG1vZGYoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9
IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1vZGYo
ZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVy
OworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbW9kZihmbG9h
dDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAg
ZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
ICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1v
ZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsy
XSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgICgqeSlb
Ml1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1vZGYoZmxv
YXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYo
eFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1v
ZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11b
MF0sICZidWZmZXIpOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIp
OworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBd
WzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9k
Zih4WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzJd
ID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzJdID0gYnVmZmVyOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtb2RmKGZsb2F0NHgyIHgsIGRldmljZSBmbG9h
dDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJd
ID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAg
IHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAg
ICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhb
Ml1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsy
XVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9kZihmbG9h
dDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAg
ZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9k
Zih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzJdID0g
bW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJd
WzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJlc3VsdFsz
XVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKIAogZmxvYXQgbW9kZihmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9h
dCogaXApIHsKICAgICB1aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwp
Ci0gICAgICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChy
ZXN1bHQpOwogICAgIHJldHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQy
IHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgZmxv
YXQgYnVmZmVyOwogICAgIHJlc3VsdFswXSA9IG1vZGYoeFswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXSA9IG1vZGYoeFsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdID0gYnVmZmVyOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbW9kZihmbG9hdDMgeCwgdGhyZWFkZ3JvdXAg
ZmxvYXQzKiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAg
cmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0g
bW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NCBtb2RmKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHkpIHsKICAgICBmbG9h
dDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7
CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAg
KCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsy
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM10gPSBtb2RmKHhbM10sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1
ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0
aHJlYWRncm91cCBmbG9hdDJ4MiogeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBmbG9h
dCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbW9k
ZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAg
ICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1v
ZGYoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHkpIHsKICAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzFd
ID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4
LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICBm
bG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1v
ZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsy
XSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAg
ZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
ICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1v
ZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsy
XSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgICgqeSlb
Ml1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1vZGYoZmxv
YXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVsw
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYo
eFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10g
PSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
M11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0gPSBidWZmZXI7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDIqIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVm
ZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsz
XVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4
MyogeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsw
XVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9
IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgq
eSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
Ml1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4
WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzNdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNd
WzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4
WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gYnVmZmVyOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0g
bW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgq
eSlbMl1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOwor
ICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9
IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11b
M10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMzM0MCwxMTcgKzMwNjcs
MTE3IEBAIGZsb2F0NCBleHAyKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAyKGZsb2F0MngyIHgp
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4MyBleHAyKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGV4cDIoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGV4cDIo
ZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBl
eHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MiBleHAyKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
Mih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gz
IGV4cDIoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAy
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBl
eHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDIgZXhwMihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhw
Mih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBleHAyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGV4cDIoZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBl
eHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZXhw
Mih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFd
KTsKICAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4cDIoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBleHAyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzNdID0gZXhwMih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtNDQ3MSwxMTcgKzQxOTgsMTE3IEBAIGZsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiBmbG9hdDJ4
MiBhdGFuKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFu
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0Mng0IGF0YW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBhdGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBh
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhdGFuKGZsb2F0M3gyIHgpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFu
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhdGFuKGZsb2F0M3g0IHgpIHsKICAg
ICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0YW4o
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBh
dGFuKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IGF0YW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYXRhbihmbG9hdDR4MiB4KSB7CiAgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRh
bih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGF0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGF0YW4oZmxv
YXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
YXRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGF0YW4o
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBhdGFuKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBh
dGFuKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhdGFuKGZsb2F0
NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0
YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAg
cmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gYXRhbih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRh
bih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOwogICAgIHJlc3Vs
dFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGF0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYXRhbih4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtNDcxMiwxMTcgKzQ0MzksMTE3IEBAIGZsb2F0NCBsb2coZmxv
YXQ0IHgpIHsKIGZsb2F0MngyIGxvZyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2coeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGxvZyhmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBsb2coZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBsb2coeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gyIGxvZyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2co
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsb2co
ZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9n
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBsb2coeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxv
ZyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBs
b2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gbG9nKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbG9nKGZsb2F0NHgyIHgpIHsKICAgICBm
bG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGxvZyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CiAgICAgcmVz
dWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
bG9nKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQpAQCAtNTMwNSwxMTcgKzUwMzIsMTE3IEBAIGZsb2F0NCBzaW4oZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIHNpbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4NCBzaW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc2luKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzaW4oZmxv
YXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHNpbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBzaW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHNpbihm
bG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2lu
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzaW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gc2luKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2luKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2lu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzaW4oZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
c2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBz
aW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNp
bih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHg0IHNpbihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
c2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2luKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNp
bih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CiAgICAgcmVzdWx0
WzNdWzJdID0gc2luKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2lu
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNpbih4WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtNTk4MCw0NTQwICs1NzA3LDI5MDIgQEAgZmxvYXQ0IG9wZXJhdG9yLnl5
engoZmxvYXQ0IHYpIHsKIAogLyogRnVuY3Rpb25zIG5hbWVkIHNpbmNvcyAqLwogdm9pZCBzaW5j
b3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAqeiA9IGNvcyh4KTsKKyAgICAqeSA9IHNpbih4KTsKKyAgICAqeiA9IGNvcyh4KTsKIH0K
IHZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCB0aHJlYWQgZmxvYXQyKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7CiAg
ICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVh
ZCBmbG9hdDJ4MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mngz
IHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxv
YXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHks
IHRocmVhZCBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9h
dDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dCB4LCB0aHJlYWQgZmxvYXQqIHksIGRldmljZSBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6
ID0gY29zKHgpOwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIGRl
dmljZSBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZCBmbG9hdDQqIHksIGRldmljZSBm
bG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIGRldmljZSBmbG9h
dDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCBkZXZp
Y2UgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMq
IHksIGRldmljZSBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgZGV2aWNlIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCBkZXZp
Y2UgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4Myog
eSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQqIHop
IHsKLSAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCB0
aHJlYWQgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9h
dDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQg
eCwgdGhyZWFkIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsz
XSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4
MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAg
ICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwg
dGhyZWFkIGZsb2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29z
KGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0K
IHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHks
IHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZs
b2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhy
ZWFkIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4Miog
eSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVh
ZCBmbG9hdDR4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHks
IHRocmVhZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZs
b2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11b
M10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHks
IHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICp5ID0gc2lu
KHgpOwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgpOwogfQogdm9pZCBz
aW5jb3MoZmxvYXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgs
IGRldmljZSBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKICAgICBmbG9h
dCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0
MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2
aWNlIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4
NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4Myog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFk
IGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwgdGhyZWFkIGZsb2F0NHgzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
ZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3Mo
eCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgZGV2aWNlIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgZGV2aWNlIGZsb2F0MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIGRldmljZSBmbG9h
dDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgZGV2
aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0
M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9h
dDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCBkZXZp
Y2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCogeikgewotICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwp
CiAgICAgICAgICp6ID0gY29zKHgpOwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBm
bG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZp
Y2UgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5LCB0
aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2Ug
ZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQy
eDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4
MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxv
YXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJl
YWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0
NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29z
UmVzdWx0OworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCB0
aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4
KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQz
IHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgs
IHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKICAgICBmbG9h
dCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4Myog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJl
YWQgZmxvYXQyeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0
M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJl
YWRncm91cCBmbG9hdDN4MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2lu
UmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4NCogeikg
ewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBz
aW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJl
YWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2lu
UmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0
aHJlYWRncm91cCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKnog
PSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5
LCBkZXZpY2UgZmxvYXQyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIGRldmljZSBm
bG9hdDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0
NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZs
b2F0MngyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0Mngz
KiB5LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxv
YXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRn
cm91cCBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4
MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAg
ZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIGRldmljZSBmbG9hdDN4
MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5
LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQg
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0
NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwg
ZGV2aWNlIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4
NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZs
b2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9hdDIqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgs
IHRocmVhZGdyb3VwIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZs
b2F0NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0g
c2luUmVzdWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAg
ZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4
MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBm
bG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
M10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NS
ZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4Miog
eSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZs
b2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
M10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogCiAKQEAgLTEwODUxLDExNyArODk0MCwxMTcg
QEAgZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbAogZmxvYXQyeDIgc21v
b3Roc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc21v
b3Roc3RlcChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxvYXQy
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVw
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBd
LCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVw
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0
ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Ro
c3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNt
b290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
c21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDIgc21vb3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBm
bG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNt
b290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzbW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZsb2F0
M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwg
elsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJd
LCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc21vb3Roc3RlcChm
bG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1b
MV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5
WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVsw
XSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhb
MV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAo
eFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3Rl
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhz
dGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290
aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21v
b3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBz
bW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9
IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgyIHNtb290aHN0ZXAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0
eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhz
dGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290
aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21v
b3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
bW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzbW9vdGhzdGVwKGZsb2F0NHgzIHgsIGZs
b2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJd
WzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlb
M11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAoeFszXVsxXSwg
eVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNdWzJd
LCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsx
XVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc21vb3Roc3RlcCh4
WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDQgc21vb3Roc3RlcChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwg
eVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFsw
XVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0
ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Ro
c3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9v
dGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNt
b290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
c21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVsw
XSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsK
ICAgICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNtb290aHN0ZXAoeFszXVszXSwgeVszXVszXSwg
elszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTExMTE4LDExNyArOTIwNywxMTcg
QEAgZmxvYXQ0IGV4cChmbG9hdDQgeCkgewogZmxvYXQyeDIgZXhwKGZsb2F0MngyIHgpIHsKICAg
ICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZXhwKGZs
b2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhw
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBleHAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGV4cChmbG9hdDJ4NCB4KSB7CiAgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGV4cCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZXhwKGZsb2F0M3gyIHgpIHsKICAgICBm
bG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIGV4cChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZXhwKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gZXhwKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGV4cCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZXhwKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBleHAoZmxv
YXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gZXhwKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBleHAoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGV4cChm
bG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4
cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZXhwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhw
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZXhwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZXhwKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4
cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBleHAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IGV4cCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4
WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZXhwKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xMjEwNywyMzQgKzEwMTk2LDIzNCBA
QCBib29sIGFsbChmbG9hdDQgeCkgewogYm9vbCBhbGwoZmxvYXQyeDIgeCkgewogICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJd
ICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdWzFdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9h
dDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogYm9vbCBhbGwoZmxvYXQzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQz
eDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsK
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGJvb2wgYWxsKGZsb2F0M3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzNdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDR4
MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogYm9vbCBhbGwoZmxvYXQ0eDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsy
XSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0NHg0
IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsz
XSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bM10gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbM11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMl1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzNdICE9
IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sMngyIHgpIHsKICAgICBi
b29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wyeDMgeCkg
ewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsx
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogYm9vbCBhbGwoYm9vbDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFs
bChib29sM3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wzeDMgeCkgewogICAgIGJvb2wgcmVzdWx0
ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsx
XVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogYm9vbCBhbGwoYm9vbDN4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHgyIHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGJvb2wgYWxsKGJvb2w0eDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDR4NCB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwogICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xMjgwNywxMTcgKzEwODk2LDExNyBAQCBmbG9hdDQgZGR4X2ZpbmUoZmxvYXQ0IHgp
IHsKIGZsb2F0MngyIGRkeF9maW5lKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IGRkeF9maW5lKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2Zp
bmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4
X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGRkeF9maW5lKGZsb2F0Mng0IHgpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2Zp
bmUoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeF9maW5lKGZs
b2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4
X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3gzIGRkeF9maW5lKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUo
eFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2Zp
bmUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2ZpbmUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
ZGR4X2ZpbmUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeF9maW5lKGZsb2F0M3g0IHgpIHsK
ICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2Zp
bmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4
X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
ZGR4X2ZpbmUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZGR4X2ZpbmUoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRk
eF9maW5lKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2Zp
bmUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4
X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIGRkeF9maW5lKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2Zp
bmUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4
X2ZpbmUoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4X2ZpbmUoeFszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeF9maW5lKGZsb2F0NHg0IHgpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2Zp
bmUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZGR4
X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2ZpbmUoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4X2ZpbmUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gZGR4X2ZpbmUoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE0
MTYwLDExNyArMTIyNDksMTE3IEBAIGZsb2F0NCByc3FydChmbG9hdDQgeCkgewogZmxvYXQyeDIg
cnNxcnQoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
c3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgcnNxcnQoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
c3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcnNxcnQoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
c3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByc3FydCh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSByc3FydCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
cnNxcnQoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
c3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSByc3FydCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
cnNxcnQoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBy
c3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByc3FydCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSByc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgcnNxcnQoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSByc3FydCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3Fy
dCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBy
c3FydCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcnNxcnQoZmxv
YXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3Fy
dCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
c3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByc3FydCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgcnNxcnQoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBy
c3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSByc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSByc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByc3Fy
dCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgcnNxcnQoZmxvYXQ0eDQgeCkg
ewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSByc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
c3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSByc3FydCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSByc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSByc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSByc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByc3Fy
dCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTQ3MzksMTE3ICsxMjgyOCwx
MTcgQEAgZmxvYXQ0IHNxcnQoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
c3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIHNxcnQoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBz
cXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc3FydCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgc3FydChm
bG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNx
cnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gyIHNxcnQoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
c3FydChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
cXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IHNxcnQoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNx
cnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3Fy
dCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBzcXJ0KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MiBzcXJ0KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
c3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgc3FydChmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNx
cnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNxcnQoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0
NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBzcXJ0
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0p
OwogICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
c3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKICAg
ICByZXN1bHRbM11bM10gPSBzcXJ0KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBA
IC0xNDg4MCwxMTcgKzEyOTY5LDExNyBAQCBmbG9hdDQgYWNvcyhmbG9hdDQgeCkgewogZmxvYXQy
eDIgYWNvcyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYWNvcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNv
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBhY29zKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29z
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
YWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsx
XSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgYWNvcyhmbG9hdDN4MiB4KSB7CiAgICAgZmxv
YXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MyBhY29zKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWNv
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgYWNvcyhmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29z
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YWNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3Mo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBhY29zKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGFjb3MoZmxvYXQ0eDIgeCkgewogICAg
IGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFj
b3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBhY29zKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBhY29zKGZs
b2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGFjb3MoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhY29z
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
YWNvcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgYWNvcyhmbG9h
dDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3Mo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBh
Y29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFjb3MoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFj
b3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBhY29zKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGFjb3MoeFszXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE1MzkzLDExNyArMTM0ODIsMTE3IEBAIGZsb2F0NCB0YW5o
KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiB0YW5oKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5o
KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0YW5oKGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRhbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHRhbmgoZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRh
bmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSB0YW5oKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiB0YW5oKGZs
b2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFu
aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsx
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRhbmgoZmxvYXQzeDMgeCkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCB0
YW5oKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFswXVswXSA9IHRh
bmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKICAgICByZXN1
bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSB0YW5oKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgyIHRhbmgoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5o
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
dGFuaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0YW5oKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IHRhbmgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRh
bmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNd
KTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CiAg
ICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5o
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
dGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVszXSA9IHRhbmgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE1
Njg1LDExNyArMTM3NzQsMTE3IEBAIGZsb2F0NCBjb3MoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNv
cyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBjb3MoZmxv
YXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3Mo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBjb3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGNvcyhm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29z
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjb3MoZmxvYXQzeDMgeCkgewogICAgIGZs
b2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
Y29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBj
b3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvcyhmbG9hdDN4NCB4KSB7CiAgICAg
ZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Y29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDIgY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNvcyhmbG9h
dDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBjb3MoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsw
XSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVszXSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTYy
NTksMTE3ICsxNDM0OCwxMTcgQEAgZmxvYXQ0IGxvZzIoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxv
ZzIoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgbG9nMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGxvZzIoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
b2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZzIoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgbG9nMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9n
Mih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxvZzIoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZzIo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBs
b2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbG9nMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2cyKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9n
Mih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbG9nMihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cy
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGxvZzIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzIo
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxvZzIoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGxvZzIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxv
ZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBsb2cyKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNd
WzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9n
Mih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBsb2cyKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC0xNjQxNywxMTcgKzE0NTA2LDExNyBAQCBmbG9hdDQgbGRleHAoZmxv
YXQ0IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBsZGV4cChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxk
ZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBs
ZGV4cChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhb
MF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsZGV4cChmbG9hdDJ4NCB4LCBmbG9h
dDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhw
KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1b
M10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MiBsZGV4cChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBsZGV4cChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhw
KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhb
MF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBsZGV4cChmbG9h
dDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhw
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhb
MV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1b
M10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxk
ZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0s
IHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBsZGV4cChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1b
MV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxk
ZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyBsZGV4cChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxk
ZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0s
IHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhw
KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhb
MV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZGV4cChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxk
ZXhwKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhw
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhb
Ml1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1b
MV0sIHlbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxk
ZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhbM11bMl0s
IHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxkZXhw
KHhbM11bM10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNjc4MCwxMTcg
KzE0ODY5LDExNyBAQCBmbG9hdDQgYWJzKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhYnMoZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDJ4MyBhYnMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgp
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
YnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJz
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhYnMoZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
YWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYWJzKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIGFicyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWJzKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJz
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gYWJzKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhYnMoZmxvYXQ0eDQgeCkg
ewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFi
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJz
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhYnMo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CiAg
ICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gYWJzKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11b
M10gPSBhYnMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2OTU2LDExNyAr
MTUwNDUsMTE3IEBAIGZsb2F0NCByb3VuZChmbG9hdDQgeCkgewogZmxvYXQyeDIgcm91bmQoZmxv
YXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgcm91bmQoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDQgcm91bmQoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3Vu
ZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBy
b3VuZCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgcm91bmQoZmxv
YXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBy
b3VuZCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcm91bmQoZmxv
YXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBy
b3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBy
b3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3Vu
ZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDMgcm91bmQoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBy
b3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSByb3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSByb3VuZCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3Vu
ZCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBy
b3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAgICBy
ZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSByb3VuZCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByb3VuZCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTcyMTAsMjM0ICsxNTI5OSwyMzQgQEAgZmxv
YXQ0IG11bChmbG9hdDQgeCwgZmxvYXQgeSkgewogZmxvYXQyeDIgbXVsKGZsb2F0IHgsIGZsb2F0
MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBd
ID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzFdID0geCAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngy
IG11bChmbG9hdDJ4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5
OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhb
MF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsy
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0g
PSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMg
bXVsKGZsb2F0MngzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7
Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsx
XVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBd
WzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAg
cmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAq
IHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdCB4LCBmbG9hdDJ4
NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBd
WzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJlc3Vs
dFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsy
XSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDQgeCwgZmxvYXQg
eSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICog
eTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRb
MV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAg
ICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0g
PSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1
bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0IHgsIGZsb2F0M3gyIHkp
IHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0geCAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAg
cmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQzeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9
IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owot
ICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1b
MV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsy
XSA9IHhbMV1bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxv
YXQgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4
ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRb
MF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAg
ICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0g
PSB4ICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbXVsKGZsb2F0
M3gzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVz
dWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7
Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzJdID0geFsx
XVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBd
WzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CiAgICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAq
IHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG11bChmbG9hdCB4
LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwog
ICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsz
XSA9IHggKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJl
c3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHgg
KiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAg
IHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1
bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsK
LSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFd
WzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKICAgICByZXN1bHRbMl1b
MF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICog
eTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzNdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRb
MV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAg
ICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICogeTsKKyAgICByZXN1bHRbM11bMl0gPSB4WzNdWzJd
ICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0IHgsIGZsb2F0
NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBd
ID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07
Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0geCAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBd
WzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9hdDR4MiB4LCBmbG9h
dCB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0g
KiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3Vs
dFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5Owot
ICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OwotICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsy
XSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJl
c3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQgeCwgZmxvYXQ0eDMg
eSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAg
ICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMV0g
PSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1
bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsK
LSAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICog
eVszXVsxXTsKLSAgICByZXN1bHRbM11bMl0gPSB4ICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1b
M10gPSB4ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSB4ICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMl1bM10gPSB4ICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0g
eFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsx
XSAqIHk7CiAgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJd
ID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmVz
dWx0WzJdWzJdID0geFsyXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7
Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzJdID0geFsz
XVsyXSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFd
WzNdID0geFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0geFsyXVszXSAqIHk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9hdDR4NCB5KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBd
WzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9
IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOwog
ICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsz
XSA9IHggKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJl
c3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsxXSA9IHgg
KiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAg
IHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9
IHggKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQgeSkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1
bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsK
LSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzFd
WzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKICAgICBy
ZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICog
eTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbMl1bM10gPSB4
WzJdWzNdICogeTsKICAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRb
MF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKKyAg
ICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKICAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFd
ICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKICAgICByZXN1
bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsK
KyAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJd
WzNdICogeTsKICAgICByZXN1bHRbM11bM10gPSB4WzNdWzNdICogeTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTc0NzIsOSArMTU1NjEsOSBAQCBmbG9hdDIgbXVsKGZsb2F0MiB4LCBmbG9h
dDJ4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJl
c3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXSA9IDA7
Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTE3NDgyLDkgKzE1NTcxLDkgQEAgZmxvYXQyIG11bChmbG9hdDJ4MiB4
LCBmbG9hdDIgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAg
ICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0g
KiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0g
eFswXVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CkBAIC0xNzQ5Miw5NSArMTU1ODEsOTUgQEAgZmxvYXQzIG11bChmbG9h
dDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0g
MDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhb
MV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKICAgICByZXN1
bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwog
ICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQyIHJl
c3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVsw
XTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1
bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRb
MV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwog
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQ0
IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9
IHhbMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhb
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1
bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRb
Ml0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAq
IHlbMl1bMV07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFszXSAr
PSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbM11bMV07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0IHkpIHsKICAg
ICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhb
MF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNd
OworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsy
XVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3Vs
dFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsx
XSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0g
ICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNd
ICogeVszXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFd
ICs9IHhbM11bMV0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDIgbXVsKGZs
b2F0MyB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1bHRbMF0g
PSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1b
Ml07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzFdICs9IHhbMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbXVs
KGZsb2F0M3gyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRb
MF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwogICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJl
c3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlb
MV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzBd
WzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJl
c3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1b
MF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmVz
dWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsK
KyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl0g
KiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzU4OCwxNSArMTU2NzcsMTUg
QEAgZmxvYXQzIG11bChmbG9hdDN4MyB4LCBmbG9hdDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJd
ICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBd
ICs9IHhbMl1bMF0gKiB5WzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICBy
ZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKICAgICByZXN1bHRbMl0gPSAw
OwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsy
XVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3Vs
dFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NjA0LDEzMSArMTU2OTMsMTMxIEBAIGZsb2F0
NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJd
ICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFd
ICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICBy
ZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwogICAgIHJl
c3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFszXSArPSB4WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107
CisgICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbM11bMl07CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAg
IHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAq
IHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9
IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVsz
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhb
M11bMV0gKiB5WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1b
MF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwog
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDIgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQy
IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9
IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNd
ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11bChmbG9hdDR4MiB4
LCBmbG9hdDIgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAg
ICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0g
KiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKICAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0g
eFswXVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwogICAgIHJl
c3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07
CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNd
ICs9IHhbMV1bM10gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbXVsKGZs
b2F0NCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0g
PSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXSArPSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4
WzNdICogeVswXVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0
WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsxXVszXTsKICAgICByZXN1bHRb
Ml0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0g
Kz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXSAr
PSB4WzNdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG11bChmbG9h
dDR4MyB4LCBmbG9hdDMgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0g
MDsKICAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1
bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJd
OwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsx
XSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOworICAgIHJlc3VsdFsx
XSArPSB4WzJdWzFdICogeVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSAr
PSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAg
cmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICog
eVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CiAgICAgcmVzdWx0WzNdID0g
MDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhb
M11bMV0gKiB5WzFdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKKyAgICByZXN1
bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV1bM10gKiB5WzFd
OworICAgIHJlc3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzBd
ICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICBy
ZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzNdWzFdOworICAgIHJl
c3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbMV1b
M107CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzBd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0
WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdID0gMDsKLSAg
ICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10g
Kz0geFswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAg
IHJlc3VsdFszXSArPSB4WzJdICogeVszXVsyXTsKICAgICByZXN1bHRbM10gKz0geFszXSAqIHlb
M11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NzM2LDIzICsxNTgyNSwyMyBAQCBm
bG9hdDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOworICAgIHJl
c3VsdFswXSArPSB4WzNdWzBdICogeVszXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07
CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFd
WzJdICogeVsyXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVszXSAqIHlbM107CisgICAgcmVzdWx0
WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdWzFdICogeVszXTsK
ICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAg
ICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0g
KiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAgICByZXN1bHRbMl0g
Kz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOworICAg
IHJlc3VsdFsyXSArPSB4WzNdWzJdICogeVszXTsKICAgICByZXN1bHRbM10gPSAwOwotICAgIHJl
c3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsxXSAqIHlb
MV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOworICAgIHJlc3VsdFszXSArPSB4
WzBdWzNdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CisgICAgcmVz
dWx0WzNdICs9IHhbMl1bM10gKiB5WzJdOwogICAgIHJlc3VsdFszXSArPSB4WzNdWzNdICogeVsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3NjAsMTUgKzE1ODQ5LDE1IEBAIGZsb2F0
MngyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC0xNzc3NiwxMDYzICsxNTg2NSwxMDYzIEBAIGZsb2F0MngzIG11bChm
bG9hdDJ4MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAw
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1
bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
MV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBd
WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsx
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0MngyIHgsIGZsb2F0Mng0IHkpIHsK
ICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4
WzFdWzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11b
MF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1b
M107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDJ4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAw
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBd
WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAw
OwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1b
M10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBd
WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9
IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAq
IHlbM11bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFd
ICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlb
Ml1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsx
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAg
IHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDIgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0g
MDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9
IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0g
KiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDQg
eCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVsz
XVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1b
MF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0g
MDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAgICAgcmVz
dWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsx
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0g
Kz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFszXVsxXSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVsz
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsy
XSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAg
IHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0g
eFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNd
OwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
M10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVsz
XTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNd
WzBdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSAr
PSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFsz
XVswXSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsy
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0
WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bM107
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsx
XSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsx
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0gPSAw
OworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11b
MV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5
WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MngyIHkpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0g
MDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBt
dWwoZmxvYXQzeDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFd
ID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07
CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CiAg
ICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFd
WzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKICAgICByZXN1bHRb
Ml1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gyIHgsIGZsb2F0Mng0
IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAw
OworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1
bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1b
MF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwog
ICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
MF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3Vs
dFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsx
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSAw
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFsxXVsyXSAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IG11bChmbG9hdDN4MyB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMl1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMF0g
PSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzJdWzJdICogeVsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
bXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFd
WzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMl0g
PSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0g
KiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJd
OwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3g0IHkp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
MF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzBd
ID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBd
ICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1
bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAg
ICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsz
XVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsy
XVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
Ml1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4
WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsy
XSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsy
XSAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG11bChmbG9hdDN4
NCB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsy
XSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11b
MF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNd
WzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDMgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDN4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
M11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsx
XVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNd
ICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNd
OwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
M10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVsz
XTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNd
WzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQzeDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAg
cmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlb
M11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVsw
XSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11b
MF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJd
WzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVz
dWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFd
WzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9
IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsK
LSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNd
ICogeVszXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4
WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1
bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAg
ICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9
IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVsz
XTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNd
WzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsK
KyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVsz
XVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJd
ICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHgy
IHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07
CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFd
OwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9
IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRb
MF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mngz
IHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBd
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAw
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJd
WzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4
WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0
IG11bChmbG9hdDR4MiB4LCBmbG9hdDJ4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICog
eVsxXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
PSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsx
XTsKICAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFd
WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bMl0g
PSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
M11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNd
ID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAg
cmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4
WzFdWzNdICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVsz
XSArPSB4WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlb
MV1bM107CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsy
XVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRb
M11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJd
WzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsK
LSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0g
MDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICog
eVsxXVsyXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1b
Ml07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwot
ICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0g
Kz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gMDsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVsw
XVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7
CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsz
XSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlb
Ml1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdDR4MyB4LCBm
bG9hdDN4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7
CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAw
OwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBd
WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFsw
XVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0g
PSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0g
KiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9
IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJd
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsy
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsw
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwog
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bM10g
PSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
Ml1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0g
KiB5WzJdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFd
ID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJd
ICogeVsyXVsxXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4
WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3Vs
dFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAg
IHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1b
M10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bM10gKiB5WzJdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICog
eVsxXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVszXSArPSB4WzFd
WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsyXVszXSAqIHlbM11bMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG11bChmbG9hdDR4NCB4LCBmbG9hdDR4MiB5
KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwog
ICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFd
ICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07
CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlb
M11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVsw
XTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNd
WzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKKyAgICByZXN1bHRb
MF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
Ml1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsK
KyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNd
ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHg0
IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFd
WzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9
IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsK
LSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNd
ICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsx
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVsz
XTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFszXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsz
XVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJl
c3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0g
Kz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNd
WzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhb
M11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsK
KyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNd
ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4
WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3Vs
dFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVsz
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAg
IHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzBd
WzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bM107Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFd
WzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
M11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBd
ICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1
bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVszXVsz
XTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsx
XVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0g
PSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRb
M11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0g
KiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVsw
XVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzNdWzJdICogeVsxXVszXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5
WzNdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVz
dWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNd
WzJdICogeVsyXVszXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSAr
PSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1b
Ml07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsz
XVsyXSArPSB4WzNdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJl
c3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsz
XVsyXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10g
Kz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bM10gKz0geFszXVszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICBy
ZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bM10gKz0geFszXVszXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNd
ID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFszXVszXSAqIHlbMl1bM107CiAgICAg
cmVzdWx0WzNdWzNdID0gMDsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107
Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVsz
XSArPSB4WzNdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFszXVszXSArPSB4WzJdWzNdICogeVszXVsyXTsKICAgICByZXN1bHRbM11bM10gKz0geFszXVsz
XSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5MTI4LDExNyArMTcyMTcs
MTE3IEBAIGZsb2F0NCByYWRpYW5zKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiByYWRpYW5zKGZsb2F0
MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFu
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFu
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByYWRpYW5zKGZsb2F0MngzIHgpIHsKICAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlh
bnMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlh
bnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlh
bnMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHJhZGlhbnMoZmxv
YXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRp
YW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRp
YW5zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRp
YW5zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRp
YW5zKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiByYWRpYW5zKGZs
b2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFk
aWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFk
aWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFk
aWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gzIHJhZGlhbnMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJh
ZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJh
ZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJh
ZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJh
ZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4NCByYWRpYW5zKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
YWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBy
YWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBy
YWRpYW5zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
YWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBy
YWRpYW5zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBy
YWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
cmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
cmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
cmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIHJhZGlhbnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IHJhZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4NCByYWRpYW5zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSByYWRpYW5zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0g
PSByYWRpYW5zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSByYWRpYW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gcmFkaWFucyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQpAQCAtMTkyOTksMTE3ICsxNzM4OCwxMTcgQEAgZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsK
IGZsb2F0MngyIGNlaWwoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGNlaWwoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNl
aWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGNlaWwoZmxvYXQzeDIgeCkgewog
ICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2Vp
bCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
Y2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwo
eFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNlaWwoZmxvYXQzeDQg
eCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNl
aWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhb
M11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjZWlsKGZsb2F0NHgyIHgp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBjZWlsKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWls
KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
Y2VpbChmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjZWlsKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
ZWlsKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gY2VpbCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGNlaWwoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNl
aWwoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWls
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBjZWlsKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTUyNCwxMTcgKzE3NjEzLDExNyBAQCBmbG9h
dDQgYXNpbihmbG9hdDQgeCkgewogZmxvYXQyeDIgYXNpbihmbG9hdDJ4MiB4KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gYXNpbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYXNpbihm
bG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFz
aW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgp
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
YXNpbihmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4o
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
c2luKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBhc2luKGZsb2F0
M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFz
aW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgYXNpbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGFzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2lu
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
YXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIGFzaW4oZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
c2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBhc2luKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNp
bih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGFzaW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgYXNpbihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4o
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBhc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
c2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gYXNpbih4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBhc2luKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXNpbih4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGFzaW4oeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5OTkxLDEx
NyArMTgwODAsMTE3IEBAIGZsb2F0NCBwb3coZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4
MiBwb3coZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBd
LCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4MyBwb3coZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgcG93KGZsb2F0Mng0IHgsIGZsb2F0Mng0
IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhb
M11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBwb3coZmxv
YXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4
WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3co
eFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93
KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBv
dyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewog
ICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBw
b3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
cG93KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0s
IHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHgyIHBvdyhmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVsw
XSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1b
M10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcG93KGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFd
WzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcG93KHhb
Ml1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gcG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4
WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4NCBwb3coZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBwb3co
eFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93
KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHBv
dyh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
cG93KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBwb3coeFszXVszXSwg
eVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNDU0LDExNyArMTg1NDMsMTE3
IEBAIGZsb2F0NCB0YW4oZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbihmbG9hdDJ4MiB4KSB7CiAg
ICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRhbihm
bG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRh
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0YW4oZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHRhbihmbG9hdDN4MiB4KSB7CiAgICAg
ZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyB0YW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHRhbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IHRhbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdGFuKGZs
b2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4o
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IHRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gdGFuKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0YW4o
ZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0
YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHRhbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRh
bih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW4o
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHRhbihmbG9hdDR4NCB4KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRh
bih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gdGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFu
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKICAgICByZXN1bHRb
M11bMV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4o
eFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHRhbih4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA1OTcsMTE3ICsxODY4NiwxMTcg
QEAgZmxvYXQ0IGZtYShmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6KQogZmxvYXQyeDIgZm1h
KGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9hdDJ4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgZm1hKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKICAg
ICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1b
MF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBm
bWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGZtYShmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CiAgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhb
MV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHksIGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBm
bWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsy
XVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZtYShmbG9hdDN4MyB4LCBmbG9hdDN4
MyB5LCBmbG9hdDN4MyB6KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBm
bWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgZm1hKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbWEo
eFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11b
MF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewogICAg
IGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZt
YSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0s
IHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBd
WzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwg
elsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZtYShmbG9hdDR4MyB4
LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZt
YSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0s
IHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJd
WzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3Vs
dFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
Zm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4
WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlb
MV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNd
LCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZm1hKGZsb2F0NHg0
IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
Zm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1h
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNd
WzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1b
Ml0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gZm1hKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CkBAIC0yMDcxNyw1OSArMTg4MDYsNTkgQEAgZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQg
eCkgewogICAgIHJldHVybiB4OwogfQogZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgewot
ICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOworICAgIHJl
dHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMV1bMF0gKiB4WzBdWzFdOwogfQogZmxvYXQgZGV0
ZXJtaW5hbnQoZmxvYXQzeDMgeCkgewogICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAqIHhb
Ml1bMl0gKwotICAgICAgICAgICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1bMF0gKwotICAgICAg
ICAgICB4WzBdWzJdICogeFsxXVswXSAqIHhbMl1bMV0gLQotICAgICAgICAgICB4WzJdWzBdICog
eFsxXVsxXSAqIHhbMF1bMl0gLQotICAgICAgICAgICB4WzJdWzFdICogeFsxXVsyXSAqIHhbMF1b
MF0gLQotICAgICAgICAgICB4WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07CisgICAgICAgICAg
IHhbMV1bMF0gKiB4WzJdWzFdICogeFswXVsyXSArCisgICAgICAgICAgIHhbMl1bMF0gKiB4WzBd
WzFdICogeFsxXVsyXSAtCisgICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzFdICogeFsyXVswXSAt
CisgICAgICAgICAgIHhbMV1bMl0gKiB4WzJdWzFdICogeFswXVswXSAtCisgICAgICAgICAgIHhb
Ml1bMl0gKiB4WzBdWzFdICogeFsxXVswXTsKIH0KIGZsb2F0IGRldGVybWluYW50KGZsb2F0NHg0
IHgpIHsKICAgICBmbG9hdCByZXN1bHQ7CiAgICAgZmxvYXQzeDMgbWlub3I7CiAgICAgbWlub3Jb
MF1bMF0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKLSAgICBtaW5vclsw
XVsyXSA9IHhbMV1bM107CiAgICAgbWlub3JbMV1bMF0gPSB4WzJdWzFdOwotICAgIG1pbm9yWzFd
WzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAgICAgbWlub3JbMl1b
MF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsxXVsx
XSA9IHhbMl1bMl07CiAgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJd
ID0geFsxXVszXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CiAgICAgbWlub3JbMl1bMl0g
PSB4WzNdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMF0gKiBkZXRlcm1pbmFudCht
aW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBdWzFdID0geFsx
XVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJd
WzBdOworICAgIG1pbm9yWzBdWzBdID0geFswXVsxXTsKKyAgICBtaW5vclsxXVswXSA9IHhbMl1b
MV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFswXVsy
XTsKICAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4WzJdWzNd
OwotICAgIG1pbm9yWzJdWzBdID0geFszXVswXTsKICAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07
Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1b
MV0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAg
IG1pbm9yWzBdWzFdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAg
bWlub3JbMV1bMF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKKyAgICBt
aW5vclswXVsyXSA9IHhbMF1bM107CiAgICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOwotICAgIG1p
bm9yWzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11bMV07CiAgICAgbWlu
b3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMl0gKiBkZXRl
cm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBd
WzFdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bMl07Ci0gICAgbWlub3JbMV1b
MF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKLSAgICBtaW5vclsxXVsy
XSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFd
ID0geFszXVsxXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bMl07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IC0geFswXVszXSAqIGRldGVybWluYW50KG1pbm9yKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
LSB4WzFdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBdID0geFswXVsx
XTsKKyAgICBtaW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFd
OworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMV1bMl07
CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsK
KyAgICBtaW5vclsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMl1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAg
bWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBt
aW5vclsyXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1p
bm9yWzFdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbMl1bMl07CisgICAgbWlu
b3JbMF1bMl0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5v
clsyXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFszXVswXSAqIGRldGVy
bWluYW50KG1pbm9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0yMDgzNCwxMTcgKzE4
OTIzLDExNyBAQCBmbG9hdDQgZmxvb3IoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGZsb29yKGZsb2F0
MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0Mng0IGZsb29yKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Zmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3Io
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxv
b3IoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZsb29yKGZsb2F0
M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxv
b3IoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZsb29yKGZsb2F0
M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxv
b3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3g0IGZsb29yKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZmxv
b3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
Zmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3Io
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZsb29yKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgzIGZsb29yKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3Io
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
Zmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGZsb29yKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
Zmxvb3IoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3Io
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZmxvb3IoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxv
b3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CiAgICAgcmVz
dWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gZmxvb3IoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZmxvb3IoeFszXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIxMjQ3LDExNyArMTkzMzYsMTE3IEBAIGZsb2F0
NCBhdGFuMihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGF0YW4yKGZsb2F0MngyIHgs
IGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
YXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsx
XSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
YXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGF0YW4yKGZsb2F0
Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFsz
XVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgsIGZsb2F0
M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIGF0YW4yKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
YXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIo
eFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsx
XVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
YXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gYXRh
bjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwg
eVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGF0YW4yKGZsb2F0NHgyIHgsIGZsb2F0NHgy
IHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
YXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVsw
XSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRh
bjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwg
eVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgzIGF0YW4yKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
YXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRh
bjIoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIo
eFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsy
XVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGF0YW4yKGZs
b2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRh
bjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIo
eFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsy
XVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsx
XSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYXRh
bjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwg
eVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNd
WzNdID0gYXRhbjIoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTIyMzM3LDExNyArMjA0MjYsMTE3IEBAIGZsb2F0NCBmbW9kKGZsb2F0NCB4LCBmbG9hdDQgeSkg
ewogZmxvYXQyeDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsx
XSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZm1vZChmbG9hdDJ4MyB4LCBmbG9hdDJ4
MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBmbW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFsw
XVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1v
ZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZm1vZChmbG9hdDN4MiB4LCBmbG9hdDN4
MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1v
ZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFsw
XVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsy
XSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4LCBmbG9hdDN4
NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1v
ZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVsw
XSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBm
bW9kKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwg
eVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZtb2QoZmxvYXQ0eDIg
eCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsx
XSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4
WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
bW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwg
eVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBmbW9kKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9h
dDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwg
eVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9k
KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZm1vZChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7
CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9k
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9
IGZtb2QoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZt
b2QoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJlc3VsdFszXVszXSA9IGZtb2QoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTIzMDkzLDExNyArMjExODIsMTE3IEBAIGZsb2F0NCBtaW4oZmxvYXQ0IHgsIGZs
b2F0NCB5KSB7CiBmbG9hdDJ4MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtaW4oZmxvYXQyeDMgeCwgZmxvYXQy
eDMgeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4
WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbWluKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4
WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4o
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWlu
KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1p
bih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBt
aW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwg
eVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0s
IHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtaW4oZmxvYXQzeDQg
eCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVsw
XSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11b
MV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJd
WzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1pbihmbG9hdDR4MiB4LCBmbG9hdDR4
MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBd
WzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhb
M11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1pbih4
WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbWluKGZs
b2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4
WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4o
eFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWlu
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IG1p
bih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBt
aW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtaW4oZmxvYXQ0eDQgeCwg
ZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
aW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9
IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwg
eVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSBtaW4oeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gbWluKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJlc3VsdFszXVsy
XSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11b
M10gPSBtaW4oeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIz
NTMyLDExNyArMjE2MjEsMTE3IEBAIGZsb2F0NCB0cnVuYyhmbG9hdDQgeCkgewogZmxvYXQyeDIg
dHJ1bmMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgdHJ1bmMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0
MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
dHJ1bmMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
dHJ1bmMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0
cnVuYyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJ1bmMoZmxv
YXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVu
Yyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0
cnVuYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgdHJ1bmMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVu
Yyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJ1bmMoZmxvYXQ0eDQgeCkg
ewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVu
Yyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSB0cnVu
Yyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjQ2NDUsMTE3ICsyMjczNCwx
MTcgQEAgZmxvYXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIG1heChmbG9h
dDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIG1heChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhb
MF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtYXgoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYXgo
eFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4
KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1h
eCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVsz
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1heChmbG9hdDN4MiB4LCBm
bG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1h
eCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBt
YXgoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwg
eVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IG1heChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNd
LCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVsz
XSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgbWF4KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhb
Ml1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwgeVswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1h
eCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBt
YXgoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwg
eVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10s
IHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFd
LCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsy
XSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1b
M10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjc0ODAsMTE3ICsyNTU2OSwxMTcgQEAgZmxvYXQ0
IGRlZ3JlZXMoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRlZ3JlZXMoZmxvYXQyeDIgeCkgewogICAg
IGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGRlZ3JlZXMoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGVncmVlcyhmbG9hdDJ4NCB4KSB7CiAg
ICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRlZ3JlZXMoZmxvYXQzeDIgeCkgewog
ICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZGVncmVlcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGVncmVlcyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGVn
cmVlcyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGRlZ3JlZXMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRl
Z3JlZXMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBkZWdyZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBkZWdyZWVzKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBk
ZWdyZWVzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
ZGVncmVlcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0
IGRlZ3JlZXMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsy
XVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bM10gPSBkZWdyZWVzKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yODEx
MiwxMTcgKzI2MjAxLDExNyBAQCBmbG9hdDQgc2luaChmbG9hdDQgeCkgewogZmxvYXQyeDIgc2lu
aChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgc2luaChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBzaW5oKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gc2luaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNp
bmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2lu
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5o
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
c2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc2luaChmbG9hdDN4NCB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2luaCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNp
bmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzaW5oKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNpbmgoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0
NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5o
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzaW5oKGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbmgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gc2luaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2luaChmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc2luaCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2lu
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNpbmgoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW5o
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTI4MjUzLDExNyArMjYzNDIsMTE3IEBAIGZsb2F0NCBkZHkoZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGRkeShmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBk
ZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4NCBkZHkoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHkoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIGRkeShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR5KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHkoZmxv
YXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHko
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGRkeSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeShm
bG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRk
eSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBkZHkoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwogICAgIHJlc3VsdFsy
XVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gZGR5KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRk
eSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBk
ZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRk
eSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHg0IGRkeShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGRkeSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
ZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmVzdWx0
WzNdWzJdID0gZGR5KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeSh4WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtMzMwODQsMTE3ICszMTE3MywxMTcgQEAgZmxvYXQ0IGZyYWMoZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZy
YWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGZyYWMoZmxvYXQyeDMgeCkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJh
Yyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZnJhYyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGZyYWMoZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZnJhYyhmbG9hdDN4MyB4KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJh
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGZyYWMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGZyYWMoZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmcmFj
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBm
cmFjKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmcmFjKGZsb2F0
NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZy
YWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBmcmFjKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFj
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmcmFjKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZnJhYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGZyYWMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGZyYWMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBm
cmFjKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4
WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZy
YWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBmcmFjKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzQ1OSwxMTcgKzMxNTQ4LDExNyBA
QCBmbG9hdDQgbG9nMTAoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGxvZzEwKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIGxvZzEwKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
bG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGxvZzEwKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
bG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxvZzEwKGZsb2F0M3gyIHgpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxvZzEwKGZsb2F0M3gzIHgpIHsK
ICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3g0IGxvZzEwKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9n
MTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bG9nMTAoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxvZzEwKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgz
IGxvZzEwKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9n
MTAoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHg0IGxvZzEwKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
MTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
bG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAo
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJd
ID0gbG9nMTAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9n
MTAoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nMTAoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTMzODIzLDExNyArMzE5MTIsMTE3IEBAIGZsb2F0NCBkZHlfZmlu
ZShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR5X2ZpbmUoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0
MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlf
ZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgZGR5X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR5X2ZpbmUoZmxvYXQy
eDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmlu
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlf
ZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBk
ZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZGR5X2ZpbmUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmlu
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlf
ZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2ZpbmUoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHlfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmlu
ZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR5X2ZpbmUoZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHlfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmlu
ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDIgZGR5X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR5X2ZpbmUoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0
NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlf
ZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBkZHlfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZHlfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJd
WzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmlu
ZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5X2ZpbmUoZmxv
YXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHlfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHlfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHlf
ZmluZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHlfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBkZHlfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQpAQCAtMzQxOTgsMjM0ICszMjI4NywyMzQgQEAgYm9vbCBhbnkoZmxvYXQ0IHgpIHsKIGJv
b2wgYW55KGZsb2F0MngyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0
MngzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbM11bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0
M3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDN4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
Ml1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0
M3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDIgeCkgewogICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzFdWzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9h
dDR4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0NHg0IHgpIHsKICAgICBib29sIHJl
c3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsy
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11b
MV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAhPSAwKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsy
XVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnko
Ym9vbDJ4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsz
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDN4MiB4KSB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogYm9vbCBhbnkoYm9vbDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBh
bnkoYm9vbDN4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsz
XTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogYm9vbCBhbnkoYm9vbDR4MiB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbnkoYm9vbDR4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogYm9vbCBhbnkoYm9vbDR4NCB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVszXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKICAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsK
ICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsy
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKICAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAt
MzQ2MzYsMTE3ICszMjcyNSwxMTcgQEAgZmxvYXQ0IGRkeV9jb2Fyc2UoZmxvYXQ0IHgpIHsKIGZs
b2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIGRkeV9jb2Fyc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQg
ZGR5X2NvYXJzZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlf
Y29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2Uo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeV9jb2Fyc2UoZmxv
YXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlf
Y29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4
KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJz
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeV9jb2Fyc2UoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29h
cnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9j
b2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgpIHsKICAgICBm
bG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5
X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNl
KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDMgZGR5X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fy
c2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IGRkeV9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2Nv
YXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0NHg0IGRkeV9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2Nv
YXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlf
Y29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11b
MF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRk
eV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJz
ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNlKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNTA5NSwxMTcgKzMzMTg0LDExNyBAQCBm
bG9hdDQgZGR4KGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
ZGR4KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHgoZmxvYXQy
eDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4NCBkZHgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBk
ZHgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeChmbG9hdDR4
MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBkZHgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGRkeCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4KGZsb2F0
NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHgoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAg
cmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBkZHgoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHgoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1Mzg0LDExNyArMzM0NzMsMTE3IEBAIGZs
b2F0NCBjb3NoKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBjb3NoKGZsb2F0MngyIHgpIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBjb3No
KGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Y29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2go
eFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGNvc2goZmxvYXQyeDQg
eCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNv
c2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
MiBjb3NoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGNvc2goeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGNvc2goZmxv
YXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3No
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
Y29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gY29zaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNv
c2goeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gY29zaCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgY29zaChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3No
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgzIGNvc2goZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2go
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBj
b3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gY29zaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4NCBjb3NoKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29z
aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGNvc2goeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICBy
ZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBjb3NoKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGNvc2goeFszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3No
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gY29zaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzU1Mjcs
MTE3ICszMzYxNiwxMTcgQEAgZmxvYXQ0IGRkeF9jb2Fyc2UoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IGRkeF9jb2Fyc2UoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9j
b2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IGRkeF9jb2Fyc2UoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9j
b2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4
X2NvYXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4X2Nv
YXJzZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4
X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBk
ZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeF9jb2Fyc2UoZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNl
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fy
c2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2NvYXJzZShmbG9hdDN4MyB4KSB7CiAg
ICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fy
c2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2Nv
YXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IGRkeF9jb2Fyc2UoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2Nv
YXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVz
dWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhf
Y29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2Uo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRk
eF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJz
ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29h
cnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBkZHhfY29hcnNlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9j
b2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNl
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBk
ZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fy
c2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2Nv
YXJzZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNTk4MiwxMTcgKzM0MDcxLDExNyBAQCBmbG9hdDQg
cmNwKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiByY3AoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0Mngy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gcmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByY3AoZmxvYXQyeDMgeCkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNw
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgcmNwKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
cmNwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBy
Y3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MiByY3AoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gcmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgcmNwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsx
XVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4NCByY3AoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3Ao
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByY3AoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHJjcChmbG9hdDR4MiB4KSB7
CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNw
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4
WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmNwKGZsb2F0NHgzIHgp
IHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBy
Y3AoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJj
cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmVzdWx0
WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gcmNw
KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSByY3AoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3Ao
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
Y3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJj
cCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gcmNw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3Ao
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IHJjcCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM2NDg0LDExNyArMzQ1NzMsMTE3IEBAIGZsb2F0NCBm
d2lkdGgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGZ3aWR0aChmbG9hdDJ4MiB4KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRo
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndp
ZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRo
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGZ3aWR0aChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBmd2lkdGgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndp
ZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRo
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmd2lkdGgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGZ3
aWR0aChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0
aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZndpZHRoKGZsb2F0NHgyIHgpIHsK
ICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBm
d2lkdGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmd2lk
dGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MyBmd2lkdGgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJd
KTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndp
ZHRoKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRo
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGZ3aWR0aChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZ3
aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0
aCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CiAgICAgcmVzdWx0
WzNdWzJdID0gZndpZHRoKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gZndpZHRoKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGZ3aWR0aCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzcyNDIsMTE3ICszNTMzMSwxMTcgQEAgZmxv
YXQ0IGxlcnAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgegogZmxvYXQyeDIgbGVycChmbG9h
dDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDMgbGVycChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDJ4NCBsZXJwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHop
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBd
LCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVy
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDIgbGVycChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxv
YXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBsZXJwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAg
ICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0s
IHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
ZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
bGVycChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
bGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJw
KHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFsz
XVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsx
XSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxlcnAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0
eDIgeikgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDR4MyBsZXJwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0s
IHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
ZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVsz
XVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJd
LCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbGVycChmbG9hdDR4NCB4LCBmbG9hdDR4
NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJw
KHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFsw
XVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsy
XSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbGVy
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5
WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11b
Ml0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IGxlcnAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0
aWxpdGllcy5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjYsMTQgKzY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgVmlzaXRvcjo6dmlzaXQo
Y2FsbEV4cHJlc3Npb24pOwogICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdl
dHRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0
aW9uTmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgp
KTsKLSAgICAgICAgVmlzaXRvcjo6dmlzaXQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAg
ICB9Ci0KICAgICBIYXNoU2V0PFN0cmluZz4gbV9mdW5jdGlvbk5hbWVzOwogfTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVy
YXRpb25GdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAkocmV2
aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NiwxNSArNTYsNiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUVudW1lcmF0CiAg
ICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6
VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBBU1Q6OlR5
cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiksIFN0cmlu
ZygpLCBudWxscHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJh
dGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUo
dmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0
aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgZW51bWVy
YXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3ZlKHBh
cmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJy
YXJ5KSk7Ci0gICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3Rl
ZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51bSB0eXBlLiIpKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJh
dGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwg
QVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51
bWVyYXRpb25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAg
ICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAgICAg
cGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7CiAgICAgICAg
ICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxv
Y2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJh
dG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwg
UGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAgaWYgKCFwcm9ncmFt
LmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVhdGUgY29weSBjb25z
dHJ1Y3RvciBmb3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAkocmV2aXNpb24gMjQ5MDIw
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDggKzE5Miw2IEBAIHZvaWQgVmlzaXRvcjo6dmlzaXQo
QVNUOjpDb25zdGFudEV4cHJlc3MKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHVuc2lnbmVk
SW50ZWdlckxpdGVyYWwpOwogICAgIH0sIFsmXShBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRl
cmFsKSB7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmbG9hdExpdGVyYWwpOwotICAgIH0s
IFsmXShBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkgewotICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQobnVsbExpdGVyYWwpOwogICAgIH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRlcmFsJiBi
b29sZWFuTGl0ZXJhbCkgewogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYm9vbGVhbkxpdGVy
YWwpOwogICAgIH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRp
b25NZW1iZXJMaXRlcmFsKSB7CkBAIC0yMzgsMTEgKzIzNiw2IEBAIHZvaWQgVmlzaXRvcjo6dmlz
aXQoQVNUOjpGbG9hdExpdGVyYWwmIGYKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZmxvYXRMaXRl
cmFsLnR5cGUoKSk7CiB9CiAKLXZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYg
bnVsbExpdGVyYWwpCi17Ci0gICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxMaXRlcmFsLnR5cGUo
KSk7Ci19Ci0KIHZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJhbCYpCiB7CiB9
CkBAIC0yNjgsMTIgKzI2MSw2IEBAIHZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVy
YWxUeXAKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZmxvYXRMaXRlcmFsVHlwZS5wcmVmZXJyZWRU
eXBlKCkpOwogfQogCi12b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJiBu
dWxsTGl0ZXJhbFR5cGUpCi17Ci0gICAgaWYgKG51bGxMaXRlcmFsVHlwZS5tYXliZVJlc29sdmVk
VHlwZSgpKQotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobnVsbExpdGVyYWxUeXBlLnJlc29s
dmVkVHlwZSgpKTsKLX0KLQogdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbCYpCiB7CiB9CkBAIC0zOTksOSArMzg2LDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNp
dChBU1Q6OkV4cHJlc3Npb24mIGV4cAogICAgIGNhc2UgQVNUOjpFeHByZXNzaW9uOjpLaW5kOjpN
YWtlUG9pbnRlcjoKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvd25jYXN0PEFTVDo6TWFr
ZVBvaW50ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQVNUOjpFeHByZXNzaW9uOjpLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGRvd25jYXN0PEFTVDo6TnVsbExpdGVyYWw+KGV4cHJlc3Npb24pKTsKLSAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246OktpbmQ6OkRvdDoKICAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGRvd25jYXN0PEFTVDo6RG90RXhwcmVzc2lvbj4oZXhwcmVzc2lv
bikpOwogICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMVmlzaXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtNjMsNyArNjMsNiBAQCBjbGFzcyBTdGFnZUluT3V0U2VtYW50aWM7CiBjbGFzcyBJ
bnRlZ2VyTGl0ZXJhbDsKIGNsYXNzIFVuc2lnbmVkSW50ZWdlckxpdGVyYWw7CiBjbGFzcyBGbG9h
dExpdGVyYWw7Ci1jbGFzcyBOdWxsTGl0ZXJhbDsKIGNsYXNzIEJvb2xlYW5MaXRlcmFsOwogY2xh
c3MgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsOwogY2xhc3MgTnVtVGhyZWFkc0Z1bmN0aW9uQXR0
cmlidXRlOwpAQCAtMTM4LDEyICsxMzcsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB2
aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkZs
b2F0TGl0ZXJhbCYpOwotICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmKTsKICAgICB2aXJ0
dWFsIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbFR5cGUmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSYpOwogICAgIHZpcnR1YWwg
dm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbFR5cGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlz
aXQoQVNUOjpOdWxsTGl0ZXJhbFR5cGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpF
bnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpG
dW5jdGlvbkF0dHJpYnV0ZSYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bVRocmVh
ZHNGdW5jdGlvbkF0dHJpYnV0ZSYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvQVNUL1dITFNMQVNULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQVNULmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02OSw4ICs2OSw2IEBACiAjaW5jbHVkZSAiV0hMU0xOYW1lZFR5cGUuaCIKICNp
bmNsdWRlICJXSExTTE5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJXSExT
TE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWwuaCIK
LSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTnVtVGhy
ZWFkc0Z1bmN0aW9uQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiV0hMU0xQb2ludGVyVHlwZS5oIgog
I2luY2x1ZGUgIldITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xDb25zdGFudEV4cHJlc3Npb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xDb25zdGFudEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29uc3RhbnRFeHByZXNzaW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJXSExTTEVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMRmxvYXRMaXRlcmFsLmgiCiAjaW5j
bHVkZSAiV0hMU0xJbnRlZ2VyTGl0ZXJhbC5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWwu
aCIKICNpbmNsdWRlICJXSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWwuaCIKICNpbmNsdWRlIDx3
dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CkBAIC02MywxMSArNjIs
NiBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIENvbnN0YW50RXhwcmVzc2lvbihOdWxs
TGl0ZXJhbCYmIG51bGxMaXRlcmFsKQotICAgICAgICA6IG1fdmFyaWFudChXVEZNb3ZlKG51bGxM
aXRlcmFsKSkKLSAgICB7Ci0gICAgfQotCiAgICAgQ29uc3RhbnRFeHByZXNzaW9uKEJvb2xlYW5M
aXRlcmFsJiYgYm9vbGVhbkxpdGVyYWwpCiAgICAgICAgIDogbV92YXJpYW50KFdURk1vdmUoYm9v
bGVhbkxpdGVyYWwpKQogICAgIHsKQEAgLTkwLDEyICs4NCwxMiBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBXVEY6OmdldDxJbnRlZ2VyTGl0ZXJhbD4obV92YXJpYW50KTsKICAgICB9CiAKLSAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0byB2aXNpdChjb25zdCBWaXNpdG9yJiB2
aXNpdG9yKSAtPiBkZWNsdHlwZShXVEY6OnZpc2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJp
YW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25lZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWws
IE51bGxMaXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+
KCkpKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZp
c2l0b3ImIHZpc2l0b3IpIC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNs
dmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0
TGl0ZXJhbCwgQm9vbGVhbkxpdGVyYWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBXVEY6OnZpc2l0KHZpc2l0b3IsIG1fdmFyaWFudCk7CiAg
ICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQoY29uc3Qg
VmlzaXRvciYgdmlzaXRvcikgY29uc3QgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBz
dGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bCwgRmxvYXRMaXRlcmFsLCBOdWxsTGl0ZXJhbCwgQm9vbGVhbkxpdGVyYWwsIEVudW1lcmF0aW9u
TWVtYmVyTGl0ZXJhbD4mPigpKSkKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSBjb25zdCAtPiBkZWNsdHlwZShXVEY6OnZp
c2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25l
ZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWw+Jj4oKSkpCiAgICAgewogICAgICAgICByZXR1cm4gV1RGOjp2aXNpdCh2
aXNpdG9yLCBtX3ZhcmlhbnQpOwogICAgIH0KQEAgLTEwOCw4ICsxMDIsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICByZXR1cm4gdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC5jbG9uZSgpOwogICAgICAg
ICB9LCBbJl0oY29uc3QgRmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpIC0+IENvbnN0YW50RXhw
cmVzc2lvbiB7CiAgICAgICAgICAgICByZXR1cm4gZmxvYXRMaXRlcmFsLmNsb25lKCk7Ci0gICAg
ICAgIH0sIFsmXShjb25zdCBOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpIC0+IENvbnN0YW50RXhw
cmVzc2lvbiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbExpdGVyYWwuY2xvbmUoKTsKICAgICAg
ICAgfSwgWyZdKGNvbnN0IEJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkgLT4gQ29uc3Rh
bnRFeHByZXNzaW9uIHsKICAgICAgICAgICAgIHJldHVybiBib29sZWFuTGl0ZXJhbC5jbG9uZSgp
OwogICAgICAgICB9LCBbJl0oY29uc3QgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVtZXJh
dGlvbk1lbWJlckxpdGVyYWwpIC0+IENvbnN0YW50RXhwcmVzc2lvbiB7CkBAIC0xMjcsOCArMTE5
LDYgQEAgcHVibGljOgogICAgICAgICAgICAgdmFsdWUgPSB1bnNpZ25lZEludGVnZXJMaXRlcmFs
LnZhbHVlKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJh
bCkgewogICAgICAgICAgICAgdmFsdWUgPSBmbG9hdExpdGVyYWwudmFsdWUoKTsKLSAgICAgICAg
fSwgWyZdKGNvbnN0IE51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgcmVzdWx0ID0gV1RGOjpo
b2xkc19hbHRlcm5hdGl2ZTxOdWxsTGl0ZXJhbD4ob3RoZXIubV92YXJpYW50KTsKICAgICAgICAg
fSwgWyZdKGNvbnN0IEJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkgewogICAgICAgICAg
ICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8Qm9vbGVhbkxpdGVyYWw+KG90aGVyLm1fdmFy
aWFudCkpIHsKICAgICAgICAgICAgICAgICBjb25zdCBhdXRvJiBvdGhlckJvb2xlYW5MaXRlcmFs
ID0gV1RGOjpnZXQ8Qm9vbGVhbkxpdGVyYWw+KG90aGVyLm1fdmFyaWFudCk7CkBAIC0xNTIsOCAr
MTQyLDYgQEAgcHVibGljOgogICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWUgPT0gdW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgRmxvYXRMaXRlcmFs
JiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlID09IGZsb2F0TGl0
ZXJhbC52YWx1ZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmKSB7Ci0gICAg
ICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEJvb2xlYW5MaXRl
cmFsJikgewogICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgIH0sIFsmXShjb25z
dCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSB7CkBAIC0xNjksNyArMTU3LDYgQEAgcHJpdmF0
ZToKICAgICAgICAgSW50ZWdlckxpdGVyYWwsCiAgICAgICAgIFVuc2lnbmVkSW50ZWdlckxpdGVy
YWwsCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKLSAgICAgICAgTnVsbExpdGVyYWwsCiAgICAgICAg
IEJvb2xlYW5MaXRlcmFsLAogICAgICAgICBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwKICAgICAg
ICAgPiBtX3ZhcmlhbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9BU1QvV0hMU0xEb3RFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAy
NDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xE
b3RFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgog
ICAgICAgICA6IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihsb2NhdGlvbiwgS2luZDo6RG90LCBX
VEZNb3ZlKGJhc2UpKQogICAgICAgICAsIG1fZmllbGROYW1lKFdURk1vdmUoZmllbGROYW1lKSkK
ICAgICB7CisgICAgICAgIFVOVVNFRF9QQVJBTShtX3BhZGRpbmcpOwogICAgIH0KIAogICAgIH5E
b3RFeHByZXNzaW9uKCkgPSBkZWZhdWx0OwpAQCAtNTIsMjUgKzUzLDExIEBAIHB1YmxpYzoKICAg
ICBEb3RFeHByZXNzaW9uKGNvbnN0IERvdEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBEb3RF
eHByZXNzaW9uKERvdEV4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygi
b3BlcmF0b3IuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJh
dG9yLiIsIG1fZmllbGROYW1lLCAiPSIpOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0
aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0
b3ImLiIsIG1fZmllbGROYW1lKTsKLSAgICB9Ci0KICAgICBTdHJpbmcmIGZpZWxkTmFtZSgpIHsg
cmV0dXJuIG1fZmllbGROYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZmllbGROYW1l
OworICAgIGNoYXIgbV9wYWRkaW5nWzEyXTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMRXhwcmVzc2lvbi5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03Miw5ICs3Miw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJveShFeHByZXNz
aW9uJiBleHAKICAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAg
ICBkZWxldGUgJmRvd25jYXN0PE1ha2VQb2ludGVyRXhwcmVzc2lvbj4oZXhwcmVzc2lvbik7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TnVsbExpdGVyYWw6Ci0g
ICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TnVsbExpdGVyYWw+KGV4cHJlc3Npb24pOwotICAgICAg
ICBicmVhazsKICAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6OkRvdDoKICAgICAgICAgZGVsZXRl
ICZkb3duY2FzdDxEb3RFeHByZXNzaW9uPihleHByZXNzaW9uKTsKICAgICAgICAgYnJlYWs7CkBA
IC0xMzgsOSArMTM1LDYgQEAgdm9pZCBFeHByZXNzaW9uOjpkZXN0cnVjdChFeHByZXNzaW9uJiBl
eAogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TWFrZVBvaW50ZXI6CiAgICAgICAgIGRvd25j
YXN0PE1ha2VQb2ludGVyRXhwcmVzc2lvbj4oZXhwcmVzc2lvbikufk1ha2VQb2ludGVyRXhwcmVz
c2lvbigpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6Ok51bGxM
aXRlcmFsOgotICAgICAgICBkb3duY2FzdDxOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbikufk51bGxM
aXRlcmFsKCk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6RG90
OgogICAgICAgICBkb3duY2FzdDxEb3RFeHByZXNzaW9uPihleHByZXNzaW9uKS5+RG90RXhwcmVz
c2lvbigpOwogICAgICAgICBicmVhazsKQEAgLTE2OCwzMyArMTYyLDYgQEAgdm9pZCBFeHByZXNz
aW9uOjpkZXN0cnVjdChFeHByZXNzaW9uJiBleAogICAgIH0KIH0KIAotU3RyaW5nIFByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAo
aXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhw
cmVzc2lvbj4oKnRoaXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4
cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lv
bj4oKnRoaXMpLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci19Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNldHRlckZ1
bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkK
LSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5j
dGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAg
IHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5zZXR0ZXJGdW5jdGlvbk5h
bWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uOjphbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAg
aWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERv
dEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRl
eEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVz
c2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgQVNUCiAKIH0gLy8gbmFtZXNwYWNlIFdI
TFNMCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xF
eHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTY0LDcgKzY0LDYgQEAgcHVibGljOgogICAgICAgICBMb2dpY2FsTm90LAog
ICAgICAgICBNYWtlQXJyYXlSZWZlcmVuY2UsCiAgICAgICAgIE1ha2VQb2ludGVyLAotICAgICAg
ICBOdWxsTGl0ZXJhbCwKICAgICAgICAgUmVhZE1vZGlmeVdyaXRlLAogICAgICAgICBUZXJuYXJ5
LAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFsLApAQCAtMTM4LDcgKzEzNyw2IEBAIHB1
YmxpYzoKICAgICBib29sIGlzTG9naWNhbE5vdEV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBr
aW5kKCkgPT0gS2luZDo6TG9naWNhbE5vdDsgfQogICAgIGJvb2wgaXNNYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6Ok1ha2VBcnJheVJl
ZmVyZW5jZTsgfQogICAgIGJvb2wgaXNNYWtlUG9pbnRlckV4cHJlc3Npb24oKSBjb25zdCB7IHJl
dHVybiBraW5kKCkgPT0gS2luZDo6TWFrZVBvaW50ZXI7IH0KLSAgICBib29sIGlzTnVsbExpdGVy
YWwoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBi
b29sIGlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gaXNEb3RFeHBy
ZXNzaW9uKCkgfHwgaXNJbmRleEV4cHJlc3Npb24oKTsgfQogICAgIGJvb2wgaXNSZWFkTW9kaWZ5
V3JpdGVFeHByZXNzaW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlJlYWRNb2Rp
ZnlXcml0ZTsgfQogICAgIGJvb2wgaXNUZXJuYXJ5RXhwcmVzc2lvbigpIGNvbnN0IHsgcmV0dXJu
IGtpbmQoKSA9PSBLaW5kOjpUZXJuYXJ5OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Np
b24uaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDIx
ICs1Miw2IEBAIHB1YmxpYzoKICAgICBJbmRleEV4cHJlc3Npb24oY29uc3QgSW5kZXhFeHByZXNz
aW9uJikgPSBkZWxldGU7CiAgICAgSW5kZXhFeHByZXNzaW9uKEluZGV4RXhwcmVzc2lvbiYmKSA9
IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3JbXSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBz
ZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRv
cltdPSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yJltdIl9zdHI7Ci0gICAgfQotCiAgICAg
RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKCkgeyByZXR1cm4gbV9pbmRleDsgfQogICAgIFVu
aXF1ZVJlZjxFeHByZXNzaW9uPiB0YWtlSW5kZXgoKSB7IHJldHVybiBXVEZNb3ZlKG1faW5kZXgp
OyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCShyZXZp
c2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtODYsMTEgKzg2
LDI5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhSb3dz
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgICAgIHJl
dHVybiBtYXRyaXhEaW1lbnNpb24oMik7CiAgICAgfQogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0
cml4Q29sdW1ucygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOwor
ICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAgIH0KKworICAgIFR5cGVSZWZl
cmVuY2UmIHZlY3RvclR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0
b3IoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4o
dHlwZUFyZ3VtZW50cygpWzBdKTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCB2ZWN0b3JTaXplKCkK
KyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6
Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPih0eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJM
aXRlcmFsKCkudmFsdWUoKTsKKyAgICB9CisKKyAgICBUeXBlUmVmZXJlbmNlJiBtYXRyaXhUeXBl
QXJndW1lbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzTWF0cml4KCkpOworICAgICAgICBy
ZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KHR5cGVBcmd1bWVudHMoKVsw
XSk7CiAgICAgfQogCiAgICAgdm9pZCBzZXRJc0ludCgpIHsgbV9pc0ludCA9IHRydWU7IH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRl
cmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMTnVsbExpdGVyYWwuaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVO
QUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJX
SExTTE51bGxMaXRlcmFsVHlwZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7
Ci0KLWNsYXNzIE51bGxMaXRlcmFsIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb24gewotICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIE51bGxMaXRlcmFsKENvZGVMb2Nh
dGlvbiBsb2NhdGlvbikKLSAgICAgICAgOiBFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpOdWxs
TGl0ZXJhbCkKLSAgICB7Ci0gICAgfQotCi0gICAgfk51bGxMaXRlcmFsKCkgPSBkZWZhdWx0Owot
Ci0gICAgTnVsbExpdGVyYWwoY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBOdWxs
TGl0ZXJhbChOdWxsTGl0ZXJhbCYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbCYgb3Bl
cmF0b3I9KGNvbnN0IE51bGxMaXRlcmFsJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWwmIG9w
ZXJhdG9yPShOdWxsTGl0ZXJhbCYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUm
IHR5cGUoKSB7IHJldHVybiBtX3R5cGU7IH0KLQotICAgIE51bGxMaXRlcmFsIGNsb25lKCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gTnVsbExpdGVyYWwoY29kZUxvY2F0aW9u
KCkpOwotICAgICAgICBpZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gbV90eXBlLm1heWJlUmVzb2x2
ZWRUeXBlKCkpCi0gICAgICAgICAgICByZXN1bHQubV90eXBlLnJlc29sdmUoY29uc3RfY2FzdDxB
U1Q6OlVubmFtZWRUeXBlJj4oKnJlc29sdmVkVHlwZSkpOwotICAgICAgICBjb3B5VHlwZVRvKHJl
c3VsdCk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIE51
bGxMaXRlcmFsVHlwZSBtX3R5cGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBBU1QKLQotfQotCi19
Ci0KLURFRklORV9ERUZBVUxUX0RFTEVURShOdWxsTGl0ZXJhbCkKLQotU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19XSExTTF9FWFBSRVNTSU9OKE51bGxMaXRlcmFsLCBpc051bGxMaXRlcmFsKCkpCi0K
LSNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKRGVsZXRlZDogc3ZuOmtleXdvcmRzCiMjIC0xICswLDAgIyMKLUF1dGhvciBEYXRlIElk
IFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xOdWxsTGl0ZXJhbFR5cGUuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCShub25l
eGlzdGVudCkKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlwZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotI2luY2x1ZGUgIldITFNMUmVmZXJlbmNlVHlwZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLW5hbWVzcGFjZSBXSExTTCB7Ci0KLW5hbWVzcGFjZSBBU1QgewotCi1ib29sIE51bGxM
aXRlcmFsVHlwZTo6Y2FuUmVzb2x2ZShjb25zdCBUeXBlJiB0eXBlKSBjb25zdAotewotICAgIGlm
ICghaXM8VW5uYW1lZFR5cGU+KHR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0
byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxVbm5hbWVkVHlwZT4odHlwZSk7Ci0gICAgaWYgKCFp
czxSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotdW5zaWduZWQgTnVsbExpdGVyYWxUeXBlOjpjb252ZXJzaW9u
Q29zdChjb25zdCBVbm5hbWVkVHlwZSYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJh
bFR5cGUuY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMj
Ci1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
TnVsbExpdGVyYWxUeXBlLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCShub25leGlzdGVu
dCkKQEAgLTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5B
QkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMUmVzb2x2YWJsZVR5cGUuaCIKLSNpbmNsdWRl
IDx3dGYvRmFzdE1hbGxvYy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBX
SExTTCB7Ci0KLW5hbWVzcGFjZSBBU1QgewotCi1jbGFzcyBOdWxsTGl0ZXJhbFR5cGUgZmluYWwg
OiBwdWJsaWMgUmVzb2x2YWJsZVR5cGUgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwot
cHVibGljOgotICAgIE51bGxMaXRlcmFsVHlwZSgpCi0gICAgICAgIDogUmVzb2x2YWJsZVR5cGUo
S2luZDo6TnVsbExpdGVyYWwpCi0gICAgeyB9Ci0KLSAgICB+TnVsbExpdGVyYWxUeXBlKCkgPSBk
ZWZhdWx0OwotCi0gICAgTnVsbExpdGVyYWxUeXBlKGNvbnN0IE51bGxMaXRlcmFsVHlwZSYpID0g
ZGVsZXRlOwotICAgIE51bGxMaXRlcmFsVHlwZShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0
OwotCi0gICAgTnVsbExpdGVyYWxUeXBlJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWxUeXBl
JikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlJiBvcGVyYXRvcj0oTnVsbExpdGVyYWxU
eXBlJiYpID0gZGVmYXVsdDsKLQotICAgIGJvb2wgY2FuUmVzb2x2ZShjb25zdCBUeXBlJikgY29u
c3Q7Ci0gICAgdW5zaWduZWQgY29udmVyc2lvbkNvc3QoY29uc3QgVW5uYW1lZFR5cGUmKSBjb25z
dDsKLQotcHJpdmF0ZToKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotREVG
SU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFsVHlwZSkKLQotU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19XSExTTF9UWVBFKE51bGxMaXRlcmFsVHlwZSwgaXNOdWxsTGl0ZXJhbFR5cGUoKSkKLQot
I2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKRGVsZXRlZDogc3ZuOmtleXdvcmRzCiMjIC0xICswLDAgIyMKLUF1dGhvciBEYXRl
IElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTAyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw0NSArNTMsMTIgQEAgcHVi
bGljOgogICAgIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihjb25zdCBQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oUHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7
Ci0gICAgU3RyaW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0KLSAgICBGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBnZXR0ZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fZ2V0dGVyRnVuY3Rpb247IH0K
LSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9hbmRl
ckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlv
bigpIHsgcmV0dXJuIG1fdGhyZWFkQW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFy
YXRpb24qIHNldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zZXR0ZXJGdW5jdGlvbjsgfQotCi0g
ICAgdm9pZCBzZXRHZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBnZXR0ZXJGdW5j
dGlvbikKLSAgICB7Ci0gICAgICAgIG1fZ2V0dGVyRnVuY3Rpb24gPSBnZXR0ZXJGdW5jdGlvbjsK
LSAgICB9Ci0KLSAgICB2b2lkIHNldEFuZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiog
YW5kZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fYW5kZXJGdW5jdGlvbiA9IGFuZGVyRnVu
Y3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRUaHJlYWRBbmRlckZ1bmN0aW9uKEZ1bmN0aW9u
RGVjbGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX3RocmVh
ZEFuZGVyRnVuY3Rpb24gPSB0aHJlYWRBbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQg
c2V0U2V0dGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24pCi0g
ICAgewotICAgICAgICBtX3NldHRlckZ1bmN0aW9uID0gc2V0dGVyRnVuY3Rpb247Ci0gICAgfQot
CiAgICAgRXhwcmVzc2lvbiYgYmFzZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVuaXF1ZVJl
ZjxFeHByZXNzaW9uPiYgYmFzZVJlZmVyZW5jZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVu
aXF1ZVJlZjxFeHByZXNzaW9uPiB0YWtlQmFzZSgpIHsgcmV0dXJuIFdURk1vdmUobV9iYXNlKTsg
fQogCiBwcml2YXRlOgogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiBtX2Jhc2U7Ci0gICAgRnVu
Y3Rpb25EZWNsYXJhdGlvbiogbV9nZXR0ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5j
dGlvbkRlY2xhcmF0aW9uKiBtX2FuZGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rp
b25EZWNsYXJhdGlvbiogbV90aHJlYWRBbmRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1
bmN0aW9uRGVjbGFyYXRpb24qIG1fc2V0dGVyRnVuY3Rpb24geyBudWxscHRyIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuY3BwCShyZXZpc2lvbiAyNDkwMjApCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzEsOSArNzEsNiBAQCB2b2lkIFR5cGU6OmRlc3Ryb3koVHlwZSYgdHlw
ZSkKICAgICBjYXNlIEtpbmQ6OkludGVnZXJMaXRlcmFsOgogICAgICAgICBkZWxldGUgJmRvd25j
YXN0PEludGVnZXJMaXRlcmFsVHlwZT4odHlwZSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TnVsbExpdGVyYWxU
eXBlPih0eXBlKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVn
ZXJMaXRlcmFsOgogICAgICAgICBkZWxldGUgJmRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVy
YWxUeXBlPih0eXBlKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMTUsOSArMTEyLDYgQEAgdm9pZCBU
eXBlOjpkZXN0cnVjdChUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6
CiAgICAgICAgIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4odHlwZSkufkludGVnZXJMaXRl
cmFsVHlwZSgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgot
ICAgICAgICBkb3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpLn5OdWxsTGl0ZXJhbFR5cGUo
KTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFs
OgogICAgICAgICBkb3duY2FzdDxVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZT4odHlwZSkuflVu
c2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTU3LDggKzE1
MSw2IEBAIGJvb2wgUmVzb2x2YWJsZVR5cGU6OmNhblJlc29sdmUoY29uc3QgVHkKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PEZsb2F0TGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUp
OwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwotICAgIGNhc2Ug
S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIHJldHVybiBkb3duY2FzdDxOdWxsTGl0ZXJhbFR5
cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGNhc2UgS2luZDo6VW5zaWduZWRJbnRl
Z2VyTGl0ZXJhbDoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVy
YWxUeXBlPigqdGhpcykuY2FuUmVzb2x2ZSh0eXBlKTsKICAgICBkZWZhdWx0OgpAQCAtMTczLDgg
KzE2NSw2IEBAIHVuc2lnbmVkIFJlc29sdmFibGVUeXBlOjpjb252ZXJzaW9uQ29zdCgKICAgICAg
ICAgcmV0dXJuIGRvd25jYXN0PEZsb2F0TGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29z
dCh0eXBlKTsKICAgICBjYXNlIEtpbmQ6OkludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7
Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PE51
bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2lu
ZDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFVuc2ln
bmVkSW50ZWdlckxpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7CiAgICAg
ZGVmYXVsdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xUeXBlLmgJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAt
NTgsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFJlc29sdmFibGVUeXBlcwogICAgICAg
ICBGbG9hdExpdGVyYWwsCiAgICAgICAgIEludGVnZXJMaXRlcmFsLAotICAgICAgICBOdWxsTGl0
ZXJhbCwKICAgICAgICAgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICB9OwogCkBAIC05Myw3
ICs5Miw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNGbG9hdExpdGVyYWxUeXBlKCkgY29uc3Qg
eyByZXR1cm4ga2luZCgpID09IEtpbmQ6OkZsb2F0TGl0ZXJhbDsgfQogICAgIGJvb2wgaXNJbnRl
Z2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6SW50ZWdlckxp
dGVyYWw7IH0KLSAgICBib29sIGlzTnVsbExpdGVyYWxUeXBlKCkgY29uc3QgeyByZXR1cm4ga2lu
ZCgpID09IEtpbmQ6Ok51bGxMaXRlcmFsOyB9CiAgICAgYm9vbCBpc1Vuc2lnbmVkSW50ZWdlckxp
dGVyYWxUeXBlKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlVuc2lnbmVkSW50ZWdl
ckxpdGVyYWw7IH0KIAogICAgIFR5cGUmIHVuaWZ5Tm9kZSgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xGdW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTAyMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw2ICs0MSw4IEBACiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisjaW5jbHVkZSA8d3RmL0Rh
dGFMb2cuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgV0hMU0wgewpAQCAt
NjMsNyArNjUsNjkgQEAgc3RhdGljIHZvaWQgZGVjbGFyZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZQog
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CiB9CiAKK3N0cnVjdCBWYXJpYWJsZSB7
CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuYW1lOworICAgIE1hbmdsZWRUeXBlTmFtZSB0eXBl
OworICAgIGJvb2wgaXNSZWZlcmVuY2UgeyBmYWxzZSB9OworfTsKKwogY2xhc3MgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyIDogcHVibGljIFZpc2l0b3IgeworICAgIGNsYXNzIEhvaXN0ZWRWYXJp
YWJsZUNvbGxlY3RvciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgcHVibGljOgorICAgICAg
ICBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IoRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAgICAgICAgICA6IGZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcihmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIpCisgICAgICAgIHsKKyAgICAgICAgfQorCisg
ICAgICAgIHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pIG92
ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIFZlY3RvcjxWYXJpYWJsZT4gdmFyaWFibGVz
OworICAgICAgICAgICAgc2l6ZV90IHNpemUgPSBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5z
aXplKCk7CisgICAgICAgICAgICBib29sIGlzVm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX2ludHJpbnNpY3Mudm9p
ZFR5cGUoKSk7CisgICAgICAgICAgICBpZiAoIWlzVm9pZCkKKyAgICAgICAgICAgICAgICArK3Np
emU7CisgICAgICAgICAgICB2YXJpYWJsZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXplKTsK
KworICAgICAgICAgICAgZm9yIChhdXRvJiBhcmd1bWVudCA6IGNhbGxFeHByZXNzaW9uLmFyZ3Vt
ZW50cygpKSB7CisgICAgICAgICAgICAgICAgYXV0byB0eXBlID0gZnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShhcmd1bWVudC0+cmVzb2x2ZWRU
eXBlKCkpOworICAgICAgICAgICAgICAgIGF1dG8gbmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlci5nZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICAgICAgICAgICAgICB2YXJpYWJs
ZXMudW5jaGVja2VkQXBwZW5kKFZhcmlhYmxlIHsgbmFtZSwgdHlwZSB9KTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaWYgKCFpc1ZvaWQpCisgICAgICAgICAgICAgICAgdmFyaWFibGVz
LnVuY2hlY2tlZEFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSkgfSk7
CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZjYWxsRXhwcmVzc2lvbiwgV1RGTW92ZSh2YXJp
YWJsZXMpKTsKKworICAgICAgICAgICAgVmlzaXRvcjo6dmlzaXQoY2FsbEV4cHJlc3Npb24pOwor
ICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24mIHJlYWRNb2RpZnlXcml0ZSkgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAg
VmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5k
KFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKS50eXBlKCkpIH0pOworICAgICAgICAg
ICAgdmFyaWFibGVzLmFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5n
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqcmVhZE1vZGlmeVdyaXRlLm5ld1ZhbHVlKCkudHlw
ZSgpKSB9KTsKKworICAgICAgICAgICAgdG9Ib2lzdC5hZGQoJnJlYWRNb2RpZnlXcml0ZSwgV1RG
TW92ZSh2YXJpYWJsZXMpKTsKKworICAgICAgICAgICAgVmlzaXRvcjo6dmlzaXQocmVhZE1vZGlm
eVdyaXRlKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJl
c3Npb24mIGluZGV4RXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAg
VmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5k
KFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkpLCBpbmRleEV4cHJl
c3Npb24uYmFzZSgpLnR5cGVBbm5vdGF0aW9uKCkuaXNSaWdodFZhbHVlKCkgPyBmYWxzZSA6IHRy
dWUgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5kKFZhcmlhYmxlIHsgZnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKS5yZXNvbHZlZFR5cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRv
SG9pc3QuYWRkKCZpbmRleEV4cHJlc3Npb24sIFdURk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAg
ICAgICAgIFZpc2l0b3I6OnZpc2l0KGluZGV4RXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAg
ICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjsK
KyAgICAgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiB0b0hv
aXN0OworICAgIH07CisKIHB1YmxpYzoKICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoU3Ry
aW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgSW50cmluc2ljcyYgaW50cmluc2ljcywgVHlwZU5h
bWVyJiB0eXBlTmFtZXIsIEhhc2hNYXA8QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiwgTWFuZ2xl
ZEZ1bmN0aW9uTmFtZT4mIGZ1bmN0aW9uTWFwcGluZywgTGF5b3V0JiBsYXlvdXQpCiAgICAgICAg
IDogbV9zdHJpbmdCdWlsZGVyKHN0cmluZ0J1aWxkZXIpCkBAIC0xMDAsMTQgKzE2NCwxMiBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2
aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJv
b2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9u
TWVtYmVyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9u
Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0
KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6QXNzaWdubWVudEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTEzMSw2NSArMTkzLDYgQEAgcHJvdGVjdGVk
OgogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7
IHJldHVybiB7IG1fdmFyaWFibGVDb3VudCsrIH07IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFi
aWxpdHkgOiB1aW50OF90IHsKLSAgICAgICAgTm90TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0g
ICAgfTsKLQotICAgIHN0cnVjdCBTdGFja0l0ZW0gewotICAgICAgICBNYW5nbGVkVmFyaWFibGVO
YW1lIHZhbHVlOwotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAg
ICAgTnVsbGFiaWxpdHkgdmFsdWVOdWxsYWJpbGl0eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVm
dFZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxl
TmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFs
dWUgewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJp
bGl0eSBudWxsYWJpbGl0eTsKLSAgICB9OwotCi0gICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50
IGRhdGEgZmxvdyBzdGVwIHdoZXJlIHdlIGNhbiB0YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBs
dmFsdWUKLSAgICAvLyBhbmQgdHJhbnNmZXIgaXQgaW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4g
cnZhbHVlLiBUaGlzIGlzIGNvbnZleWVkIGluIE1ha2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8v
IGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24uIE1ha2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRy
eSB0byBwcm9kdWNlIHJ2YWx1ZXMgd2hpY2ggYXJlCi0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJl
ZmVyZW5jZUV4cHJlc3Npb24gd2lsbCB0YWtlIGEgbm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8g
cHJvZHVjZQotICAgIC8vIGEgbm9uLW51bGwgbHZhbHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRW
YWx1ZVdpdGhOdWxsYWJpbGl0eShBU1Q6OkV4cHJlc3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1l
IHZhbHVlLCBOdWxsYWJpbGl0eSBudWxsYWJpbGl0eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2su
YXBwZW5kKHsgV1RGTW92ZSh2YWx1ZSksIHsgfSwgbnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpD
YW5CZU51bGwsIHsgfSB9KTsKLSAgICB9Ci0KLSAgICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNU
OjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAg
IHsKLSAgICAgICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBX
VEZNb3ZlKHZhbHVlKSwgTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9p
ZCBhcHBlbmRMZWZ0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFy
aWFibGVOYW1lIHZhbHVlLCBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxp
dHkgbnVsbGFiaWxpdHksIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5l
cmF0ZUxlZnRWYWx1ZSA9IHsgfSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVz
c2lvbiwgZXhwcmVzc2lvbi50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0g
ICAgICAgIEFTU0VSVChsZWZ0VmFsdWUgfHwgZ2VuZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBt
X3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUpLCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxh
YmlsaXR5OjpDYW5CZU51bGwsIG51bGxhYmlsaXR5LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVl
KSB9KTsKLSAgICB9Ci0KLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3RhY2sudGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0K
LSAgICBTdGFja1ZhbHVlIHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpCi0gICAgewotICAg
ICAgICBhdXRvIGxhc3QgPSBtX3N0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxh
c3QudmFsdWUsIGxhc3QudmFsdWVOdWxsYWJpbGl0eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFs
dWUgdGFrZUxhc3RMZWZ0VmFsdWUoKQotICAgIHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFj
ay50YWtlTGFzdCgpOwotICAgICAgICBpZiAoIWxhc3QubGVmdFZhbHVlKQotICAgICAgICAgICAg
bGFzdC5sZWZ0VmFsdWUgPSBsYXN0LmdlbmVyYXRlTGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVy
biB7IGxhc3QubGVmdFZhbHVlLCBsYXN0LmxlZnRWYWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQot
CiAgICAgZW51bSBjbGFzcyBCcmVha0NvbnRleHQgewogICAgICAgICBMb29wLAogICAgICAgICBT
d2l0Y2gKQEAgLTIwMywxMiArMjA2LDEyIEBAIHByb3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6
RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFw
cGluZzsKICAgICBIYXNoTWFwPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJp
YWJsZU5hbWU+IG1fdmFyaWFibGVNYXBwaW5nOwogCi0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9z
dGFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5
UG9pbnRTY2FmZm9sZGluZzsKICAgICBMYXlvdXQmIG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1f
dmFyaWFibGVDb3VudCB7IDAgfTsKICAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBt
X2JyZWFrT3V0T2ZDdXJyZW50TG9vcEVhcmx5VmFyaWFibGU7CiAgICAgSW5kZW50YXRpb248ND4g
bV9pbmRlbnQgeyAwIH07CisgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFy
aWFibGU+PiBtX2hvaXN0ZWRWYXJpYWJsZXM7CiB9OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2
ICsyMjEsMjQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRp
b24mIGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKKworICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlh
YmxlQ29sbGVjdG9yIGNvbGxlY3RvcigqdGhpcyk7CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9y
Ojp2aXNpdChmdW5jdGlvbkRlZmluaXRpb24pOworICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMg
PSBXVEZNb3ZlKGNvbGxlY3Rvci50b0hvaXN0KTsKKyAgICB9CisKKyAgICBhdXRvIGRlZmluZUhv
aXN0ZWRWYXJpYWJsZXMgPSBbJl0geworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6
IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvIHZh
cmlhYmxlIDogdmVjdG9yKSB7CisgICAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlLmlzUmVmZXJl
bmNlKQorICAgICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAidGhyZWFkICIsIHZhcmlhYmxlLnR5cGUsICIqICIsIHZhcmlhYmxlLm5hbWUsICI7XG4iKTsK
KyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywgdmFyaWFibGUubmFtZSwgIjtc
biIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfTsKKwogICAgIGF1dG8gaXRlcmF0
b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAgIEFT
U0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAgaWYgKGZ1bmN0
aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsOCArMjU5LDEwIEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgICAgICBh
dXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25EZWZpbml0aW9u
LnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFtZXRlclZhcmlh
YmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRk
UmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkZWZpbmVI
b2lzdGVkVmFyaWFibGVzKCk7CisKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmdW5j
dGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9zdGFjay5pc0Vt
cHR5KCkpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1cblxu
Iik7CiAKQEAgLTI0OCwxNyArMjcxLDIyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nID09IG51
bGxwdHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSksICcgJywg
aXRlcmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZ1
bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAg
IGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07CiAg
ICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0aW9u
LnBhcmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyTmFtZSA9IGdlbmVy
YXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3Zh
cmlhYmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgICAg
ICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUoKnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0ZXJOYW1lKTsKICAgICAgICAgfQog
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4iKTsKKworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKworICAgICAgICBkZWZpbmVIb2lzdGVkVmFyaWFibGVz
KCk7CisKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbi5ibG9j
aygpKTsKLSAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgifVxuIik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
J1xuJyk7CiAgICAgfQogfQpAQCAtMzA5LDggKzMzNyw5IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6RWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCYgZWZmZWN0ZnVsRXhwcmVzc2lv
blN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudC5lZmZlY3Rm
dWxFeHByZXNzaW9uKCkpOwotICAgIHRha2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVudCBp
cyBhbHJlYWR5IGVmZmVjdGZ1bCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3aXRo
IHRoZSByZXN1bHQuCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZhbGx0aHJvdWdoJikKQEAg
LTMzMCwxMCArMzU5LDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9v
cCgKICAgICAgICAgSW5kZW50YXRpb25TY29wZSB3aGlsZVNjb3BlKG1faW5kZW50KTsKIAogICAg
ICAgICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlvbjo6
QmVmb3JlQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAg
ICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVu
dCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBtX2lu
ZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAgICAgICAgICIpKVxuIiwKKyAgICAgICAg
ICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiZG8ge1xuIik7CkBAIC0zNTAsMTcgKzM4MSwxOCBAQCB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgICAgICBtX2lu
ZGVudCwgIiAgICBicmVhaztcbiIpOwogCiAgICAgICAgIGlmIChpbmNyZW1lbnQpIHsKKyAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIigiKTsKICAgICAgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdCgqaW5jcmVtZW50KTsKLSAgICAgICAgICAgIC8vIEV4cHJlc3Npb24gcmVzdWx0
cyBnZXQgcHVzaGVkIHRvIG1fc3RhY2suIFdlIGRvbid0IHVzZSB0aGUgcmVzdWx0Ci0gICAgICAg
ICAgICAvLyBvZiBpbmNyZW1lbnQsIHNvIHdlIGRpc3BlbnNlIG9mIHRoYXQgbm93LgotICAgICAg
ICAgICAgdGFrZUxhc3RWYWx1ZSgpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKTtcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2NhdGlv
biA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkFmdGVyQm9keSAmJiBjb25kaXRpb25FeHByZXNz
aW9uKSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAg
ICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
KmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAi
KVxuIiwKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAg
ICAgICAgICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTM5MCwxMiArNDIyLDE1IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6SWZTdGF0ZW1lbnQmIGlmU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsICJpZiAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3Rh
dGVtZW50LmNvbmRpdGlvbmFsKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsICJpZiAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7XG4iKTsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIpIHtcbiIpOworCiAgICAgewogICAgICAgICBJbmRlbnRhdGlvblNjb3BlIGlm
U2NvcGUobV9pbmRlbnQpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaWZTdGF0ZW1lbnQu
Ym9keSgpKTsKICAgICB9CisKICAgICBpZiAoaWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSkgewogICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifSBlbHNlIHtcbiIpOwogICAg
ICAgICB7CkBAIC00MDMsMjkgKzQzOCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmlmU3RhdGVtZW50
LmVsc2VCb2R5KCkpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgIn1cbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpSZXR1cm4mIHJldHVyblN0YXRlbWVudCkKIHsKICAgICBpZiAocmV0dXJu
U3RhdGVtZW50LnZhbHVlKCkpIHsKKyAgICAgICAgYXV0byB0ZW1wUmV0dXJuTmFtZSA9IGdlbmVy
YXRlTmV4dFZhcmlhYmxlTmFtZSgpOyAKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblN0YXRlbWVudC52
YWx1ZSgpLT5yZXNvbHZlZFR5cGUoKSksICcgJywgdGVtcFJldHVybk5hbWUsICIgPSAiKTsgCiAg
ICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqcmV0dXJuU3RhdGVtZW50LnZhbHVlKCkpOworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICBpZiAobV9lbnRy
eVBvaW50U2NhZmZvbGRpbmcpIHsKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2FmZm9s
ZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0YWtlTGFzdFZhbHVlKCksIHZhcmlhYmxl
TmFtZSwgbV9pbmRlbnQpOworICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVt
aXRQYWNrKG1fc3RyaW5nQnVpbGRlciwgdGVtcFJldHVybk5hbWUsIHZhcmlhYmxlTmFtZSwgbV9p
bmRlbnQpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgInJl
dHVybiAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRha2VMYXN0VmFs
dWUoKSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgInJldHVybiAiLCB0ZW1wUmV0dXJuTmFtZSwgIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuO1xuIik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVudCYg
c3dpdGNoU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQs
ICJzd2l0Y2ggKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChzd2l0Y2hTdGF0ZW1lbnQudmFs
dWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7Iik7CiAKLSAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiLCB0YWtlTGFzdFZhbHVlKCksICIp
IHsiKTsKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUobV9pbmRl
bnQpOwogICAgICAgICBmb3IgKGF1dG8mIHN3aXRjaENhc2UgOiBzd2l0Y2hTdGF0ZW1lbnQuc3dp
dGNoQ2FzZXMoKSkKQEAgLTQ1NCw1OSArNDk0LDM0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6SW50ZWdlckxpdGVyYWwmIGludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFi
bGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlw
ZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaW50ZWdlckxpdGVyYWwucmVz
b2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmds
ZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVk
VHlwZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBw
ZW5kUmlnaHRWYWx1ZShpbnRlZ2VyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGlu
dGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmIHVuc2lnbmVkSW50ZWdl
ckxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWRO
YW1lRm9yVHlwZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFy
aWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCB1bnNp
Z25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1
ZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkKIHsKLSAg
ICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1
dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZsb2F0
TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0
PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShmbG9hdExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7Ci19Ci0K
LXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBu
dWxsTGl0ZXJhbCkKLXsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBudWxsTGl0ZXJhbC5yZXNvbHZl
ZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFT
VDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgYm9vbCBpc0FycmF5UmVmZXJlbmNlVHlw
ZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSk7Ci0KLSAgICBhdXRv
IHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShu
dWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7Ci0g
ICAgaWYgKGlzQXJyYXlSZWZlcmVuY2VUeXBlKQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCJ7IG51bGxwdHIsIDAgfTtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobnVsbExpdGVy
YWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nh
c3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwudmFsdWUoKSwgIikiKTsK
IH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxp
dGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYm9vbGVhbkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwot
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAn
LCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwotICAg
IGFwcGVuZFJpZ2h0VmFsdWUoYm9vbGVhbkxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigi
LCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIikiKTsKIH0KIAog
dm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgQVNTRVJUKGVudW1l
cmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7CiAgICAgQVNTRVJU
KGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0gICAg
YXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRv
IG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShlbnVtZXJh
dGlvbk1lbWJlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAi
LCBtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51bWVy
YXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJlcigp
KSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
LCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVO
YW1lLCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCpl
bnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSkpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHByZXNz
aW9uKQpAQCAtNTE0LDUwICs1MjksMTAxIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVy
Ojp2aXNpdChBU1QKICAgICBWaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhw
cmVzc2lvbikKLXsKLSAgICAvLyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODgg
UmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpKTsKLX0KLQogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQog
ewotICAgIGF1dG8gdmFsdWVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAg
TWFuZ2xlZFR5cGVOYW1lIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBj
aGVja0Vycm9yQW5kVmlzaXQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBN
YW5nbGVkVmFyaWFibGVOYW1lIHN0cnVjdFZhcmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAg
ICAgTWFuZ2xlZFN0cnVjdHVyZUVsZW1lbnROYW1lIG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVu
Y2Uuc3RydWN0RmllbGQoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiktPiIsIG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0g
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YWx1ZU5hbWUsICIgPSAiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xl
ZEZpZWxkTmFtZSwgIjtcbiIpOwordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0g
ZG90RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBh
cHBlbmRMZWZ0VmFsdWUoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBO
dWxsYWJpbGl0eTo6Tm90TnVsbCwKLSAgICAgICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3Ry
dWN0VmFyaWFibGUsIG1hbmdsZWRGaWVsZE5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRl
ck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFu
Z2xlZFR5cGVOYW1lLCAiKiAiLCBwb2ludGVyTmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwg
Ii0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50
ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9u
Pih0eXBlKSkgeworICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8
QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJl
RWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFt
ZSgpKTsKKyAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVs
ZW1lbnROYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpz
dHJ1Y3R1cmVFbGVtZW50KTsKKworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIFN0cmluZyBlbGVtZW50TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1l
KCk7CisgICAgICAgIGlmIChlbGVtZW50TmFtZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJh
eVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkpIHsKKyAgICAgICAgICAgIGlmIChp
czxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIpLmxlbmd0aCIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFy
cmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRv
d25jYXN0PEFTVDo6QXJyYXlUeXBlPih0eXBlKS5udW1FbGVtZW50cygpLCAiKSIpOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCco
Jyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFz
ZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7
CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhw
cmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4i
LCBlbGVtZW50TmFtZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9u
KQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNl
IHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW5kZXhFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKSk7Ci19CisgICAgYXV0byBpdGVyID0gbV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJmlu
ZGV4RXhwcmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRWYXJp
YWJsZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAgIFJF
TEVBU0VfQVNTRVJUKHZhcmlhYmxlcy5zaXplKCkgPT0gMik7CisgICAgYXV0byBiYXNlVmFyaWFi
bGUgPSB2YXJpYWJsZXNbMF07CisgICAgYXV0byBpbmRleFZhcmlhYmxlID0gdmFyaWFibGVzWzFd
Lm5hbWU7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJywgYmFzZVZhcmlhYmxlLm5h
bWUsICIgPSAiKTsKKyAgICBpZiAoYmFzZVZhcmlhYmxlLmlzUmVmZXJlbmNlKQorICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCImKCIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRl
eEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICBpZiAoYmFzZVZhcmlhYmxlLmlzUmVmZXJlbmNlKQor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIsIGluZGV4VmFyaWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9yQW5k
VmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIpOworCisgICAgYXV0byYgdHlwZSA9IGluZGV4RXhwcmVzc2lvbi5i
YXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlS
ZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICBpZiAoYmFzZVZhcmlhYmxlLmlzUmVmZXJl
bmNlKQorICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChiYXNlVmFyaWFibGUubmFt
ZSwgIi0+cG9pbnRlclsiLCBpbmRleFZhcmlhYmxlLCAiIDwgIiwgYmFzZVZhcmlhYmxlLm5hbWUs
ICItPmxlbmd0aCA/ICIsIGluZGV4VmFyaWFibGUsICIgOiAwXSIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGJhc2VWYXJpYWJsZS5uYW1lLCAiLnBv
aW50ZXJbIiwgaW5kZXhWYXJpYWJsZSwgIiA8ICIsIGJhc2VWYXJpYWJsZS5uYW1lLCAiLmxlbmd0
aCA/ICIsIGluZGV4VmFyaWFibGUsICIgOiAwXSIpOworICAgIH0KKyAgICBlbHNlIGlmIChpczxB
U1Q6OkFycmF5VHlwZT4odHlwZSkpCisgICAgICAgIGlmIChiYXNlVmFyaWFibGUuaXNSZWZlcmVu
Y2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGJhc2VWYXJpYWJsZS5uYW1l
LCAiLT5kYXRhKClbIiwgaW5kZXhWYXJpYWJsZSwgIiA8ICIsIGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih0eXBlKS5udW1FbGVtZW50cygpLCAiID8gIiwgaW5kZXhWYXJpYWJsZSwgIiA6IDBdIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoYmFzZVZh
cmlhYmxlLm5hbWUsICIuZGF0YSgpWyIsIGluZGV4VmFyaWFibGUsICIgPCAiLCBkb3duY2FzdDxB
U1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwgIiA/ICIsIGluZGV4VmFyaWFibGUs
ICIgOiAwXSIpOworICAgIGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0
eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBp
ZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKQorICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUu
bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7CisgICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNW
ZWN0b3IoKSkKKyAgICAgICAgICAgIHNpemUgPSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAot
dm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91
bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShw
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAg
ICAgICAgaWYgKGJhc2VWYXJpYWJsZS5pc1JlZmVyZW5jZSkKKyAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIigqIiwgYmFzZVZhcmlhYmxlLm5hbWUsICIpWyIsIGluZGV4VmFyaWFi
bGUsICIgPCAiLCBzaXplLCAgIiA/ICIsIGluZGV4VmFyaWFibGUsICIgOiAwXSIpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGJhc2VWYXJpYWJsZS5u
YW1lLCAiWyIsIGluZGV4VmFyaWFibGUsICIgPCAiLCBzaXplLCAgIiA/ICIsIGluZGV4VmFyaWFi
bGUsICIgOiAwXSIpOworICAgIH0gZWxzZQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyAKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiYg
dmFyaWFibGVEZWNsYXJhdGlvbikKQEAgLTU2OCwxODEgKzYzNCwxOTUgQEAgdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0
LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjAgSW1wbGVtZW50IHF1YWxpZmllcnMuCiAgICAg
aWYgKHZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIoKSkgeworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
KnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiKTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCp2YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxp
emVyKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAn
LCB2YXJpYWJsZU5hbWUsICIgPSAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHsg
fTtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpB
c3NpZ25tZW50RXhwcmVzc2lvbiYgYXNzaWdubWVudEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3NpZ25tZW50
RXhwcmVzc2lvbi5sZWZ0KCkpOwotICAgIGF1dG8gW3BvaW50ZXJOYW1lLCBudWxsYWJpbGl0eV0g
PSB0YWtlTGFzdExlZnRWYWx1ZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkpOwotICAgIGF1dG8gW3JpZ2h0TmFtZSwg
cmlnaHROdWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKTsKLQotICAg
IGlmIChudWxsYWJpbGl0eSA9PSBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsKQotICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoIiwgcG9pbnRl
ck5hbWUsICIpXG4iLAotICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgKiIsIHBvaW50ZXJOYW1l
LCAiID0gIiwgcmlnaHROYW1lLCAiO1xuIik7Ci0gICAgZWxzZQotICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiKiIsIHBvaW50ZXJOYW1lLCAiID0gIiwgcmlnaHROYW1l
LCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShhc3NpZ25tZW50
RXhwcmVzc2lvbiwgcmlnaHROYW1lLCByaWdodE51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2
aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikKIHsKKyAgICBhdXRvIGl0
ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmY2FsbEV4cHJlc3Npb24pOworICAgIFJFTEVB
U0VfQVNTRVJUKGl0ZXIgIT0gbV9ob2lzdGVkVmFyaWFibGVzLmVuZCgpKTsKKyAgICBhdXRvJiB2
YXJpYWJsZXMgPSBpdGVyLT52YWx1ZTsKKyAgICBSRUxFQVNFX0FTU0VSVChjYWxsRXhwcmVzc2lv
bi5hcmd1bWVudHMoKS5zaXplKCkgPD0gdmFyaWFibGVzLnNpemUoKSk7CiAgICAgVmVjdG9yPE1h
bmdsZWRWYXJpYWJsZU5hbWU+IGFyZ3VtZW50TmFtZXM7Ci0gICAgZm9yIChhdXRvJiBhcmd1bWVu
dCA6IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpKSB7Ci0gICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChhcmd1bWVudCk7Ci0gICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKHRha2VMYXN0VmFs
dWUoKSk7Ci0gICAgfQogCi0gICAgYm9vbCBpc1ZvaWQgPSBtYXRjaGVzKGNhbGxFeHByZXNzaW9u
LnJlc29sdmVkVHlwZSgpLCBtX2ludHJpbnNpY3Mudm9pZFR5cGUoKSk7Ci0gICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSByZXR1cm5OYW1lOwotICAgIGlmICghaXNWb2lkKSB7Ci0gICAgICAgIHJldHVy
bk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGNhbGxF
eHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCByZXR1cm5OYW1lLCAiO1xuIik7CisgICAg
TWFuZ2xlZFZhcmlhYmxlTmFtZSByZXN1bHROYW1lOworICAgIGlmICghbWF0Y2hlcyhjYWxsRXhw
cmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpKQorICAgICAg
ICByZXN1bHROYW1lID0gdmFyaWFibGVzLmxhc3QoKS5uYW1lOworCisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Np
b24uYXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKGkpCisgICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICBhcmd1bWVudE5hbWVzLmFw
cGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
dmFyaWFibGVzW2ldLm5hbWUsICIgPSAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGNh
bGxFeHByZXNzaW9uLmFyZ3VtZW50cygpW2ldKTsKICAgICB9CiAKLSAgICBpZiAoaXM8QVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSkgewot
ICAgICAgICBhdXRvIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSA9IFt0aGlzXSgpIC0+IE1hbmds
ZWRWYXJpYWJsZU5hbWUgewotICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOwotICAgICAgICB9OworICAgIGlmIChjYWxsRXhwcmVzc2lvbi5hcmd1bWVu
dHMoKS5zaXplKCkpCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CiAKLSAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKLSAgICAgICAgaW5saW5lTmF0aXZl
RnVuY3Rpb24obV9zdHJpbmdCdWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpLCByZXR1cm5OYW1lLCBhcmd1bWVu
dE5hbWVzLCBtX2ludHJpbnNpY3MsIG1fdHlwZU5hbWVyLCBXVEZNb3ZlKGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSksIG1faW5kZW50KTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
XG4nKTsKKyAgICBpZiAoaXM8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhw
cmVzc2lvbi5mdW5jdGlvbigpKSkgeworICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0
cmluZ0J1aWxkZXIsIGRvd25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2Fs
bEV4cHJlc3Npb24uZnVuY3Rpb24oKSksIGFyZ3VtZW50TmFtZXMsIHJlc3VsdE5hbWUsIG1faW50
cmluc2ljcywgbV90eXBlTmFtZXIsIG1faW5kZW50KTsKICAgICB9IGVsc2UgewotICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsKLQogICAgICAgICBhdXRvIGl0ZXJhdG9y
ID0gbV9mdW5jdGlvbk1hcHBpbmcuZmluZCgmY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSk7CiAg
ICAgICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7Ci0gICAg
ICAgIGlmICghaXNWb2lkKQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyZXR1
cm5OYW1lLCAiID0gIik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoaXRlcmF0b3It
PnZhbHVlLCAnKCcpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50TmFt
ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsRXhw
cmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGkpCiAg
ICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKLSAgICAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJndW1lbnROYW1lc1tpXSk7CisgICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lKTsKICAgICAgICAgfQotICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJyknKTsKICAgICB9CiAKLSAgICBhcHBlbmRSaWdodFZhbHVlKGNhbGxFeHBy
ZXNzaW9uLCByZXR1cm5OYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkNvbW1hRXhwcmVz
c2lvbiYgY29tbWFFeHByZXNzaW9uKQogewotICAgIE9wdGlvbmFsPE1hbmdsZWRWYXJpYWJsZU5h
bWU+IHJlc3VsdDsKKyAgICBpZiAoIWNvbW1hRXhwcmVzc2lvbi5saXN0KCkuc2l6ZSgpKSB7Cisg
ICAgICAgIGRhdGFMb2dMbigiRW1wdHkgY29tbWEhIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJzAnKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJygnKTsKKyAgICBib29sIHJhbk9uY2UgPSBmYWxzZTsKICAgICBmb3IgKGF1
dG8mIGV4cHJlc3Npb24gOiBjb21tYUV4cHJlc3Npb24ubGlzdCgpKSB7CisgICAgICAgIGlmIChy
YW5PbmNlKQorICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAg
ICAgcmFuT25jZSA9IHRydWU7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChleHByZXNzaW9u
KTsKLSAgICAgICAgcmVzdWx0ID0gdGFrZUxhc3RWYWx1ZSgpOwogICAgIH0KLSAgICBBU1NFUlQo
cmVzdWx0KTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGNvbW1hRXhwcmVzc2lvbiwgKnJlc3VsdCk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Npb24mIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIqKCIpOwogICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChkZXJlZmVyZW5jZUV4cHJlc3Npb24ucG9pbnRlcigpKTsKLSAg
ICBhdXRvIFtpbnB1dFBvaW50ZXIsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0VmFsdWVBbmROdWxs
YWJpbGl0eSgpOwotICAgIGF1dG8gcmVzdWx0VmFsdWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKLSAgICBhdXRvIHJlc3VsdFR5cGUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKLQotICAgIGlmIChudWxs
YWJpbGl0eSA9PSBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsKSB7Ci0gICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBtX2luZGVudCwgcmVzdWx0VHlwZSAsICcgJywgcmVz
dWx0VmFsdWUsICIgPSAiLCBpbnB1dFBvaW50ZXIsICIgPyAiLCAnKicsIGlucHV0UG9pbnRlciwg
IiA6ICIsIHJlc3VsdFR5cGUsICJ7IH07XG4iKTsKLSAgICB9IGVsc2UKLSAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgcmVzdWx0VmFsdWUsICIgPSAqIiwgaW5wdXRQb2lu
dGVyLCAiO1xuIik7Ci0KLSAgICBhcHBlbmRMZWZ0VmFsdWUoZGVyZWZlcmVuY2VFeHByZXNzaW9u
LCByZXN1bHRWYWx1ZSwgaW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUOjpMb2dpY2FsRXhwcmVzc2lvbiYgbG9naWNhbEV4cHJlc3Npb24pCiB7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKCgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9n
aWNhbEV4cHJlc3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIGxlZnQgPSB0YWtlTGFzdFZhbHVlKCk7
Ci0gICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOwotICAg
IGF1dG8gcmlnaHQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcp
Jyk7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbV90
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxFeHByZXNzaW9uLnJlc29sdmVkVHlw
ZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBsZWZ0KTsKICAgICBzd2l0Y2ggKGxvZ2lj
YWxFeHByZXNzaW9uLnR5cGUoKSkgewogICAgIGNhc2UgQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6
VHlwZTo6QW5kOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgJiYgIik7CiAgICAg
ICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChsb2dpY2FsRXhwcmVzc2lv
bi50eXBlKCkgPT0gQVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3IpOworICAgIGNhc2Ug
QVNUOjpMb2dpY2FsRXhwcmVzc2lvbjo6VHlwZTo6T3I6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiB8fCAiKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQocmlnaHQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxF
eHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5yaWdodCgpKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpMb2dpY2FsTm90RXhwcmVzc2lvbiYgbG9naWNhbE5v
dEV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiISgiKTsKICAgICBj
aGVja0Vycm9yQW5kVmlzaXQobG9naWNhbE5vdEV4cHJlc3Npb24ub3BlcmFuZCgpKTsKLSAgICBh
dXRvIG9wZXJhbmQgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNh
bE5vdEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICEi
LCBvcGVyYW5kLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShsb2dpY2FsTm90RXhwcmVz
c2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok1ha2VBcnJheVJl
ZmVyZW5jZUV4cHJlc3Npb24mIG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24pCiB7Ci0gICAg
Y2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkpOwogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRvIGJlIG1hZGUgdG8gd29yay4gSXQgcHJv
YmFibHkgc2hvdWxkIGJlIHVzaW5nIHRoZSBsYXN0IGxlZnRWYWx1ZSB0b28uCiAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODgzOAotICAgIGF1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0KICAgICBhdXRvIG1hbmds
ZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShtYWtlQXJyYXlSZWZl
cmVuY2VFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKTsKICAgICBpZiAoaXM8QVNUOjpQb2ludGVy
VHlwZT4obWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5
cGUoKSkpIHsKLSAgICAgICAgYXV0byBwdHJWYWx1ZSA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCBtYW5nbGVk
VHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgcHRyVmFsdWUsICIgPyAiLCBtYW5n
bGVkVHlwZU5hbWUsICJ7ICIsIHB0clZhbHVlLCAiLCAxIH0gOiAiLCBtYW5nbGVkVHlwZU5hbWUs
ICJ7IG51bGxwdHIsIDAgfTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1h
bmdsZWRUeXBlTmFtZSwgInsgIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChtYWtlQXJy
YXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiLCAxIH0iKTsKICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPiht
YWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkg
ewotICAgICAgICBhdXRvIGxWYWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7CiAgICAg
ICAgIGF1dG8mIGFycmF5VHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPihtYWtlQXJyYXlS
ZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZh
cmlhYmxlTmFtZSwgIiA9IHsgIiwgbFZhbHVlLCAiLT5kYXRhKCksICIsIGFycmF5VHlwZS5udW1F
bGVtZW50cygpLCAiIH07XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5n
bGVkVHlwZU5hbWUsICIgeyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJh
eVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIuZGF0YSgpLCAiLCBhcnJheVR5cGUubnVtRWxlbWVudHMoKSwgIiB9Iik7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgYXV0byBsVmFsdWUgPSB0YWtlTGFzdExlZnRWYWx1ZSgpLnZh
bHVlOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlw
ZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUsICIsIDEgfTtcbiIpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICYiKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24u
bGVmdFZhbHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwog
ICAgIH0KLSAgICBhcHBlbmRSaWdodFZhbHVlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24s
IHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6Ok1ha2VQb2ludGVyRXhwcmVzc2lvbiYgbWFrZVBvaW50ZXJFeHByZXNzaW9uKQogewor
ICAgIC8vIE9PUFMKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCImKCIpOwogICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChtYWtlUG9pbnRlckV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwotICAgIGF1
dG8gW3BvaW50ZXIsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7Ci0gICAgYXV0
byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bWFrZVBvaW50ZXJFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSAiLCBwb2ludGVyLCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJp
bGl0eShtYWtlUG9pbnRlckV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSwgbnVsbGFiaWxpdHkpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYpCit2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJl
ZCBhbHJlYWR5LgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8qCisgICAgICogIDEu
IEV2YWx1YXRlIG1fbGVmdFZhbHVlCisgICAgICogIDIuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1f
b2xkVmFsdWUKKyAgICAgKiAgMy4gRXZhbHVhdGUgbV9uZXdWYWx1ZUV4cHJlc3Npb24KKyAgICAg
KiAgNC4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9uZXdWYWx1ZQorICAgICAqICA1LiBBc3NpZ24g
dGhlIHJlc3VsdCB0byBtX2xlZnRWYWx1ZQorICAgICAqICA2LiBFdmFsdWF0ZSBtX3Jlc3VsdEV4
cHJlc3Npb24KKyAgICAgKiAgNy4gUmV0dXJuIHRoZSByZXN1bHQKKyAgICAgKi8KKworICAgIGF1
dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5kKCZyZWFkTW9kaWZ5V3JpdGUpOworICAg
IFJFTEVBU0VfQVNTRVJUKGl0ZXIgIT0gbV9ob2lzdGVkVmFyaWFibGVzLmVuZCgpKTsKKyAgICBh
dXRvJiB2YXJpYWJsZXMgPSBpdGVyLT52YWx1ZTsKKyAgICBSRUxFQVNFX0FTU0VSVCh2YXJpYWJs
ZXMuc2l6ZSgpID09IDIpOworCisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBvbGRWYWx1ZVZhcmlh
YmxlID0gdmFyaWFibGVzWzBdLm5hbWU7CisgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBuZXdWYWx1
ZVZhcmlhYmxlID0gdmFyaWFibGVzWzFdLm5hbWU7CisKKyAgICBtX3ZhcmlhYmxlTWFwcGluZy5h
ZGQoJnJlYWRNb2RpZnlXcml0ZS5vbGRWYWx1ZSgpLCBvbGRWYWx1ZVZhcmlhYmxlKTsKKyAgICBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZSgpLCBuZXdWYWx1
ZVZhcmlhYmxlKTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQob2xkVmFsdWVWYXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubGVmdFZhbHVlKCkpOworCisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBuZXdWYWx1ZVZhcmlhYmxlLCAiID0gIik7CisgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZUV4cHJlc3Npb24oKSk7CisK
KyAgICAvLyBPT1BTOiBkb24ndCBldmFsdWF0ZSBsZWZ0VmFsdWUgdHdpY2UhCisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlm
eVdyaXRlLmxlZnRWYWx1ZSgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBu
ZXdWYWx1ZVZhcmlhYmxlLCAiLCAiKTsKKworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9k
aWZ5V3JpdGUucmVzdWx0RXhwcmVzc2lvbigpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlRl
cm5hcnlFeHByZXNzaW9uJiB0ZXJuYXJ5RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJyk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHRlcm5hcnlFeHByZXNzaW9u
LnByZWRpY2F0ZSgpKTsKLSAgICBhdXRvIGNoZWNrID0gdGFrZUxhc3RWYWx1ZSgpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPyAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KHRl
cm5hcnlFeHByZXNzaW9uLmJvZHlFeHByZXNzaW9uKCkpOwotICAgIGF1dG8gYm9keSA9IHRha2VM
YXN0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogKCIpOwogICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5lbHNlRXhwcmVzc2lvbigpKTsKLSAg
ICBhdXRvIGVsc2VCb2R5ID0gdGFrZUxhc3RWYWx1ZSgpOwotCi0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodGVybmFyeUV4cHJl
c3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGNoZWNrLCAi
ID8gIiwgYm9keSwgIiA6ICIsIGVsc2VCb2R5LCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1
ZSh0ZXJuYXJ5RXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2YXJpYWJsZVJlZmVyZW5jZSkKQEAgLTc1MiwxMyArODMy
LDcgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIEFTU0VS
VChpdGVyYXRvciAhPSBtX3ZhcmlhYmxlTWFwcGluZy5lbmQoKSk7CiAKICAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIHZhcmlhYmxlTmFtZSA9IGl0ZXJhdG9yLT52YWx1ZTsKLQotICAgIGFwcGVuZExl
ZnRWYWx1ZSh2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lLCB7IH0sIE51bGxhYmlsaXR5
OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgJnZhcmlhYmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5h
bWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ0
aHJlYWQgIiwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHZhcmlhYmxlUmVmZXJlbmNl
LnJlc29sdmVkVHlwZSgpKSwgIiogIiwgcG9pbnRlck5hbWUsICIgPSAmIiwgdmFyaWFibGVOYW1l
LCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0gICAgICAgIH0pOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdGFudEV4cHJlc3Npb25TdHJpbmcoQVNUOjpD
b25zdGFudEV4cHJlc3Npb24mIGNvbnN0YW50RXhwcmVzc2lvbikKQEAgLTc3Myw5ICs4NDcsNiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdENvbnN0CiAgICAgICAgIFsmXShB
U1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKGZsb2F0TGl0ZXJhbC52YWx1ZSgpKTsKICAgICAgICAgfSwKLSAgICAgICAg
WyZdKEFTVDo6TnVsbExpdGVyYWwmKSB7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCJudWxscHRyIik7Ci0gICAgICAgIH0sCiAgICAgICAgIFsmXShBU1Q6OkJvb2xlYW5MaXRl
cmFsJiBib29sZWFuTGl0ZXJhbCkgewogICAgICAgICAgICAgaWYgKGJvb2xlYW5MaXRlcmFsLnZh
bHVlKCkpCiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgidHJ1ZSIpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xNZXRh
bENvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24g
MjQ5MDIwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xNZXRhbENvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBA
IG5hbWVzcGFjZSBNZXRhbCB7CiAKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wTWV0YWxDb2Rl
ID0gZmFsc2U7CiAKLXN0YXRpYyBTdHJpbmdWaWV3IG1ldGFsQ29kZVByb2xvZygpCitzdGF0aWMg
U3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2d1ZSgpCiB7CiAgICAgcmV0dXJuIFN0cmluZ1ZpZXcg
ewogICAgICAgICAiI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj5cbiIKQEAgLTUzLDcgKzUzLDE3MSBA
QCBzdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQogICAgICAgICAiXG4iCiAgICAg
ICAgICJ1c2luZyBuYW1lc3BhY2UgbWV0YWw7XG4iCiAgICAgICAgICJcbiIKKyJ0ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorInN0cnVjdCBXU0xNYXRyaXhcbiIK
KyJ7XG4iCisiICAgIHZlYzxULCBSb3dzPiBjb2x1bW5zW0NvbHNdO1xuIgorIiAgICBwcml2YXRl
OlxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVSwgaW50Li4uIFI+XG4iCisiICAgIHN0YXRp
YyB2ZWM8VCwgUm93cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29sLCBfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIFIuLi4+KVxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4geyhS
IDwgY29sLnNpemUoKSA/ICooY29sLmJlZ2luKCkgKyBSKSA6IFUoKSkuLi59O1xuIgorIiAgICB9
XG4iCisiICAgIHRlbXBsYXRlIDxpbnQuLi4gUj5cbiIKKyIgICAgc3RhdGljIHZlYzxULCBSb3dz
PiBidWlsZF9mdWxsX2NvbChpbnQgYywgaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVn
ZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIHsq
KGVsZW1zLmJlZ2luKCkgKyBjICogUm93cyArIFIpLi4ufTtcbiIKKyIgICAgfVxuIgorIiAgICBz
dHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisiICAgIHN0cnVjdCBjb2xzX2FsbF90YWcgeyB9
O1xuIgorIiAgICBzdHJ1Y3QgZWxlbXNfYWxsX3RhZyB7IH07XG4iCisiICAgIHRlbXBsYXRlIDxp
bnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2luaXRfdGFn
LCBpbml0aWFsaXplcl9saXN0PHZlYzxULCBSb3dzPj4gY29scywgX2ludGVnZXJfc2VxdWVuY2U8
aW50LCBDLi4uPikgdGhyZWFkXG4iCisiICAgICAgICA6IGNvbHVtbnN7KEMgPCBjb2xzLnNpemUo
KSA/ICooY29scy5iZWdpbigpICsgQykgOiB2ZWM8VCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtc
biIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5s
aW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgdGhyZWFkXG4i
CisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIK
KyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBX
U0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVtcykgdGhyZWFkXG4iCisiICAgICAgICA6
IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29s
cz4oKSlcbiIKKyIgICAgICAgIHtcbiIKKyIgICAgICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPGlu
dC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGluaXRpYWxpemVyX2xp
c3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAg
ICAgICAgOiBjb2x1bW5ze2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1zLCBfbWFrZV9pbnRlZ2VyX3Nl
cXVlbmNlPGludCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0
ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29s
c19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2Vy
X3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7KEMg
PCBjb2xzLnNpemUoKSA/ICooY29scy5iZWdpbigpICsgQykgOiB2ZWM8VCwgUm93cz4oKSkuLi59
XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5c
biIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29s
cykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3sgY29scy4uLiB9XG4iCisiICAgIHtc
biIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5s
aW5lIGV4cGxpY2l0IFdTTE1hdHJpeChlbGVtc19hbGxfdGFnLCBVLi4uIGVsZW1zKSBjb25zdGFu
dFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisi
ICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJp
eChpbml0aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+
KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBjb2x1bW5ze2J1aWxkX2Z1bGxfY29sKEMsIGVsZW1z
LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUm93cz4oKSkuLi59XG4iCisiICAgIHtcbiIK
KyIgICAgfVxuIgorIiAgICBwdWJsaWM6XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSB0aHJl
YWQgPSBkZWZhdWx0O1xuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8
dmVjPFQsIFJvd3M+PiBjb2xzKSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbHNf
aW5pdF90YWcoKSwgY29scywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIK
KyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIHRocmVhZFxuIgorIiAg
ICAgICAgOiBXU0xNYXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4oVSkgPT0gQ29scywgY29s
c19hbGxfdGFnLCBlbGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgorIiAgICB7XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIg
ICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PHZlYzxULCBSb3dzPj4gY29scykg
Y29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbHNfaW5pdF90YWcoKSwgY29scywg
X21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAg
fVxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KFQgdmFsKSBjb25zdGFudFxuIgor
IiAgICAgICAgOiBXU0xNYXRyaXgodmFsLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29s
cz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4u
LiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KFUuLi4gdmFscykgY29uc3Rh
bnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09
IENvbHMsIGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAg
e1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1h
dHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29u
c3QgdGhyZWFkIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAg
ICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4o
KSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3Qg
ZGV2aWNlIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtc
biIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBX
U0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhy
ZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xN
YXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJl
YWQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5s
aW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VSwgQ29scywg
Um93cz4gJnRoYXQpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2Vf
aW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgor
IiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3Jv
dXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDog
V1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgor
IiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWQg
V1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisi
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0
cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50
XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGlu
dCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRy
aXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQg
PSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5l
IGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+
ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50
ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAg
ICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dz
PiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xN
YXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1h
dHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAg
e1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAg
V1NMTWF0cml4PFQsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisi
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0
cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29u
c3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVu
Y2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgcHVibGljOlxu
IgorIiAgICBpbmxpbmUgdGhyZWFkIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhy
ZWFkXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9
XG4iCisiICAgIGlubGluZSBkZXZpY2UgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBk
ZXZpY2VcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIHRocmVhZGdyb3VwIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShp
bnQgcikgdGhyZWFkZ3JvdXBcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIGNvbHVtbnNb
cl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNvbnN0IHRocmVhZCB2ZWM8VCwgUm93cz4g
Jm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICBy
ZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgZGV2aWNl
IHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgY29uc3QgZGV2aWNlXG4iCisiICAgIHtc
biIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGlu
ZSBjb25zdCBjb25zdGFudCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGNv
bnN0YW50XG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAg
ICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJh
dG9yW10oaW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJl
dHVybiBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisifTtcbiIKKworCiAgICAgfTsKKwogfQog
CiBzdGF0aWMgdm9pZCBkdW1wTWV0YWxDb2RlSWZOZWVkZWQoU3RyaW5nQnVpbGRlciYgc3RyaW5n
QnVpbGRlcikKQEAgLTY3LDcgKzIzMSw3IEBAIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5l
ZWRlZChTdHJpbmcKIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBw
cm9ncmFtLCBNYXRjaGVkUmVuZGVyU2VtYW50aWNzJiYgbWF0Y2hlZFNlbWFudGljcywgTGF5b3V0
JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWlsZGVyOwotICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1lciB0eXBlTmFtZXIocHJv
Z3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmluZ0J1aWxkZXIpOwpAQCAt
ODIsNyArMjQ2LDcgQEAgUmVuZGVyTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYQog
Q29tcHV0ZU1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmFtJiBwcm9ncmFtLCBNYXRj
aGVkQ29tcHV0ZVNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRpY3MsIExheW91dCYgbGF5b3V0KQog
ewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxD
b2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlwZU5hbWVyKHByb2dyYW0pOwogICAg
IHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWlsZGVyKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBzdGF0aWMg
aW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0
aDsKIH0KIAorLyoKIHN0YXRpYyBBU1Q6Ok5hbWVkVHlwZSYgdmVjdG9ySW5uZXJUeXBlKEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBuYXRpdmVUeXBlRGVjbGFyYXRpb24pCiB7CiAgICAgaWYg
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuaXNFbXB0eSgpKQpAQCAtMTE5
LDggKzEyMCw5IEBAIHN0YXRpYyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3QKICAg
ICAgICAgcmV0dXJuICI0IjsKICAgICB9CiB9CisqLwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0
aW9uKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBy
ZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJp
bnNpY3MmIGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1h
bmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0
aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYg
c3RyaW5nQnVpbGRlciwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3Ms
IE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwgSW50cmluc2ljcyYgLyppbnRyaW5zaWNz
Ki8sIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBJbmRlbnRhdGlvbjw0PikKIHsKICAgICBhdXRvIGFz
TWF0cml4VHlwZSA9IFsmXSAoQVNUOjpVbm5hbWVkVHlwZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uKiB7CiAgICAgICAgIGF1dG8mIHJlYWxUeXBlID0gdW5uYW1l
ZFR5cGUudW5pZnlOb2RlKCk7CkBAIC0xMzksNTEgKzE0MSw1NCBAQCB2b2lkIGlubGluZU5hdGl2
ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlTmFt
ZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0dXJuVHlwZSk7CiAKICAgICAgICAg
aWYgKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpIHsKLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHsg
fTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBl
TmFtZSwgIiB7IH0iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSkg
ewogICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBh
cmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJU
eXBlKTsKKyAgICAgICAgICAgIC8vYXV0byBtZXRhbFBhcmFtZXRlclR5cGVOYW1lID0gdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJUeXBlKTsKIAogICAgICAgICAgICAgYXV0
byBpc0VudW1lcmF0aW9uRGVmaW5pdGlvbiA9IFtdIChhdXRvJiB0eXBlKSB7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIGlzPEFTVDo6TmFtZWRUeXBlPih0eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0
aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHR5cGUpKTsKICAgICAgICAg
ICAgIH07CiAgICAgICAgICAgICBhdXRvJiB1bmlmaWVkUmV0dXJuVHlwZSA9IHJldHVyblR5cGUu
dW5pZnlOb2RlKCk7CiAgICAgICAgICAgICBpZiAoaXNFbnVtZXJhdGlvbkRlZmluaXRpb24odW5p
ZmllZFJldHVyblR5cGUpICYmICFpc0VudW1lcmF0aW9uRGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBl
LnVuaWZ5Tm9kZSgpKSkgewotICAgICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCBtZXRhbFBhcmFtZXRlclR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICI7XG4iKTsKICAgICAgICAgICAgICAgICBhdXRvJiBlbnVtZXJhdGlv
bkRlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNh
c3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZpZWRSZXR1cm5UeXBlKSk7Ci0gICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAic3dpdGNoICgiLCB2YXJpYWJsZU5hbWUsICIp
IHtcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRp
b25TY29wZSBzd2l0Y2hTY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBib29sIGhh
c1plcm9DYXNlID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbWVtYmVy
IDogZW51bWVyYXRpb25EZWZpbml0aW9uLmVudW1lcmF0aW9uTWVtYmVycygpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJjYXNlICIsIG1lbWJlci5nZXQoKS52YWx1ZSgpLCAi
OlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4i
KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBBU1NFUlRfVU5V
U0VEKGhhc1plcm9DYXNlLCBoYXNaZXJvQ2FzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZGVmYXVs
dDpcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgdmFyaWFibGVO
YW1lLCAiID0gMDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJl
YWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7CisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJu
VHlwZU5hbWUsICI+KCgiKTsKKyAgICAgICAgICAgICAgICBib29sIGxvb3BlZE9uY2UgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJhdGlvbkRlZmluaXRpb24uZW51bWVyYXRp
b25NZW1iZXJzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxvb3BlZE9uY2UpCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOworICAgICAg
ICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7CisgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMF0sICIgPT0gIiwgbWVt
YmVyLmdldCgpLnZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICBsb29wZWRPbmNlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBl
TmFtZSwgIj4oIiwgdmFyaWFibGVOYW1lLCAiKTtcbiIpOworICAgICAgICAgICAgICAgIEFTU0VS
VF9VTlVTRUQoaGFzWmVyb0Nhc2UsIGhhc1plcm9DYXNlKTsKKworICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gIiwgYXJnc1swXSwgIiA6IDApIik7CiAgICAgICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCBh
cmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJz
dGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKSIpOwog
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXV0byogbWF0
cml4VHlwZSA9IGFzTWF0cml4VHlwZShyZXR1cm5UeXBlKSkgeworICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJncy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzW2ldKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisKKyAgICAgICAg
ICAgIC8vIE9PUFM6IHRlc3QgdGhpcworCisgICAgICAgICAgICAvKgogICAgICAgICAgICAgdW5z
aWduZWQgbnVtUm93cyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOwogICAgICAg
ICAgICAgdW5zaWduZWQgbnVtQ29sdW1ucyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Q29s
dW1ucygpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MgfHwgbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MgKiBudW1Db2x1bW5zKTsKLQog
ICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFJldHVy
blR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOwpAQCAtMjA3LDI2NSArMjEyLDM3
IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7CisgICAgICAgICAgICAqLwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIigiKTsKKyAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAg
ICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICB9Ci0g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtlIGEgc3RydWN0IGZpZWxkIG5hbWVkICJsZW5ndGgi
IHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJzIGZvciB0aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlz
IGNvZGVwYXRoLgotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
b3BlcmF0b3IubGVuZ3RoIikgewotICAgICAgICBBU1NFUlRfVU5VU0VEKGludHJpbnNpY3MsIG1h
dGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCksIGludHJpbnNpY3MudWludFR5
cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7
Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpVbm5h
bWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0gICAgICAgIGlmIChpczxBU1Q6OkFycmF5VHlwZT4o
dW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBhcnJheVBhcmFtZXRl
clR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpOwot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7
XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChp
czxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKTsKLSAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtcbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9w
ZXJhdG9yLiJfc3RyKSkgewotICAgICAgICBhdXRvIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUgPSBb
Jl0gKGNvbnN0IFN0cmluZyYgZmllbGROYW1lKSB7Ci0gICAgICAgICAgICBhdXRvJiB1bmlmeU5v
ZGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51
bmlmeU5vZGUoKTsKLSAgICAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6
TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJl
RGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAgICAgICAgICAgIGF1dG8mIHN0cnVjdHVy
ZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlw
ZSk7Ci0gICAgICAgICAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURl
ZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1
cmVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJU
KGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpKTsKLSAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAg
aWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLmVuZHNXaXRoKCI9IikpIHsKLSAg
ICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMik7Ci0gICAgICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIubGVuZ3RoKCkpOwot
ICAgICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnN1YnN0cmluZygwLCBmaWVsZE5hbWUu
bGVuZ3RoKCkgLSAxKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIsCi0g
ICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAnLicpOwotICAgICAgICAgICAgYXBw
ZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiA9ICIsIGFyZ3NbMV0sICI7XG4iKTsKLQotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0
aCgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnLicpOwotICAgICAgICBhcHBlbmRNYW5nbGVk
RmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4i
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvciYuIl9zdHIpKSB7Ci0gICAgICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7
Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVuZ3RoKCkpOwotCi0gICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwg
YXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7Ci0KLSAgICAgICAgYXV0byYgdW5uYW1l
ZFR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUo
KTsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4o
dW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIG5h
bWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICBp
ZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAgICAg
ICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZp
bml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9
IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQodHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJlRWxlbWVudCkp
OwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxk
TmFtZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgOiBudWxscHRyO1xuIik7
Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3ImW10iKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIEFT
U0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKLQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICgiLCBhcmdzWzFdLCAi
IDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAmKCIsIGFyZ3NbMF0sICIucG9pbnRlclsi
LCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGF1dG8gdmVjdG9yU2l6ZSA9IFsmXSAoKSAtPiB1bnNpZ25lZCB7
Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsK
LSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURl
ZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRU
eXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS5uYW1lKCkgPT0gInZlY3RvciIpOwot
ICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHZlY3RvclR5
cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgpLnZhbHVlKCk7Ci0gICAgfTsK
LQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpU
eXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6
VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVz
b2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0LmlzTWF0cml4KCkpOwotICAgICAg
ICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW10iKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIGF1dG8m
IHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90
IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9u
Pih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50
eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAz
KSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAg
ICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRy
aXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRy
aXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwg
bWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
ICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzBdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdz
WzFdLCAiXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFsxXSA9ICIs
IGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cywgIl07XG4iKTsKLQot
ICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKLSAgICAgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzJdID0gIiwgYXJnc1sw
XSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl07XG4iKTsKLSAgICAg
ICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFszXSA9ICIsIGFyZ3NbMF0sICdb
JywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDMsICJdO1xuIik7Ci0gICAgCi0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
cmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0gICAgICAgICAgICB1bnNpZ25l
ZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKLQotICAgICAgICAgICAgYXV0byBtZXRhbFJl
dHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRp
b25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1
bHQ7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+
PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
ICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHQg
PSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlICgwKTtcbiIpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8m
IHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90
IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9u
Pih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50
eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAz
KSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1l
ID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJu
TmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRN
YXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBu
dW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7
Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5k
ZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBtID0gIiwgYXJnc1swXSwgIjtc
biIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBp
ID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChp
ID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIsIGFyZ3NbMl0sICJbMF07XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MsICJd
ID0gIiwgYXJnc1syXSwgIlsxXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNv
bHVtbnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAiLCBhcmdzWzJdLCAiWzJdO1xu
Iik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJP
ZlJvd3MgKiAzLCAiXSA9ICIsIGFyZ3NbMl0sICJbM107XG4iKTsKLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBtO1xuIik7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0KLSAgICAgICAgICAgIEFT
U0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7
Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+
dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1h
bmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAg
ICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgdiA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5hbWUsICIgaSA9ICIsIGFyZ3Nb
MV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoaSA+PSAiLCBudW1F
bGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJl
dHVybk5hbWUsICIgPSB2O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAidltpXSA9ICIsIGFyZ3NbMl0sICI7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2O1xuIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7
Ci0gICAgICAgIH0KLQorICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNP
cGVyYXRvcigpKSB7CiAgICAgICAgIGF1dG8gb3BlcmF0b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciJfc3RyLmxlbmd0aCgpKTsKLSAg
ICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKwogICAgICAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKKyAgICAgICAg
ICAgIC8vIFRoaXMgaXMgb2sgdG8gZG8gc2luY2UgdGhlIGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBh
cmUgYWxsIHRlbXBzLgorICAgICAgICAgICAgLy8gU28gdGhpbmdzIGxpa2UgKysgYW5kIC0tIGFy
ZSBvayB0byBkby4KKwogICAgICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJp
eFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4i
LAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgb3BlcmF0b3JOYW1lLCBhcmdzWzBdLCAn
WycsIGksICddJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5k
ZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1sw
XSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUs
ICcpJyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChvcGVyYXRvck5hbWUsIGFyZ3NbMF0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKQEAgLTQ3Myw0OSArMjUwLDQwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlciYKICAgICAgICAgaWYgKGF1dG8qIGxlZnRNYXRyaXggPSBhc01hdHJpeFR5
cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKSB7
CiAgICAgICAgICAgICBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpKSB7CiAgICAgICAg
ICAgICAgICAgLy8gbWF0cml4IDxvcD4gbWF0cml4Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAiW2ldICIs
IG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnWycsIGksICJdICIs
IG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIp
OworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUs
ICcpJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIG1hdHJpeCA8
b3A+IHNjYWxhcgotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
IntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRp
b25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBl
LCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgIltpXSAiLCBvcGVyYXRvck5hbWUsICcgJywg
YXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5h
bWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygn
KTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+
bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAo
aSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwor
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycs
IGksICJdID0gIiwgYXJnc1swXSwgJ1snLCBpLCAiXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJn
c1sxXSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxz
ZSBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBBU1NFUlQo
IWFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKSkpOwogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4gbWF0cml4Ci0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAn
ICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcp
OworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJpZ2h0TWF0cml4LT5udW1i
ZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdz
WzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycsIGksICddJyk7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4i
KTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcp
Jyk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiBzY2FsYXIK
ICAgICAgICAgICAgIC8vIHZlY3RvciA8b3A+IHZlY3RvcgogICAgICAgICAgICAgLy8gdmVjdG9y
IDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiB2ZWN0b3IKICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7
XG4iKTsKKyAgICAgICAgICAgICAgICAnKCcsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAn
ICcsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm47CkBAIC01NDgs
MzUgKzMxNiwzNiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAg
ICAgICAgIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsZW5ndGgiKSB7
CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAg
bWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBh
cmdzWzBdLCAnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJwb3ciIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpID09ICJhdGFuMiIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgIigiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFd
LCAiKTtcbiIpOworICAgICAgICAgICAgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCks
ICcoJywgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiY2xhbXAi
KSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIGlmIChhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlv
blNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHgu
c2l6ZSgpOyArK2kpIFxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0g
PSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAiW2ldLCAiLCBhcmdzWzJdLCAi
W2ldKTsiLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xu
Iik7CisKKyAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICAgICAgYm9vbCByYW5PbmNlID0gZmFsc2U7CisgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhD
b2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGog
PCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeFJvd3MoKTsgKytqKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChyYW5PbmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHJhbk9uY2UgPSB0cnVlOworICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdE5hbWUsICdbJywgaSwgIl1bIiwgaiwgIl0gPSBjbGFtcCgiLCBhcmdzWzBd
LCAnWycsIGksICJdWyIsIGosICJdLCAiLCBhcmdzWzFdLCAnWycsIGksICJdWyIsIGosICJdLCAi
LCBhcmdzWzJdLCAnWycsIGksICJdWyIsIGosICJdKSIpOworICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1c
biIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwg
IikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3Nb
MF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIpO1xuIik7CisgICAgICAgICAgICAg
ICAgImNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICcpJyk7
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU4NCwzOSArMzUzLDQwIEBA
IHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBT
eW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xu
IiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjpt
ZW1fdGhyZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2Jh
cnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4iKTsKKyAgICAgICAgICAgICJ0aHJlYWRn
cm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiLAorICAgICAgICAgICAgInRocmVh
ZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIiwKKyAgICAgICAgICAg
ICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpIik7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkgPT0gIkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NF
UlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIik7CisgICAgICAgICAgICAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
Ikdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJy
aWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIpOworICAgICAgICAgICAgInRocmVh
ZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApIik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCku
c3RhcnRzV2l0aCgiSW50ZXJsb2NrZWQiX3N0cikpIHsKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSIpIHsK
ICAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gNCk7CisgICAgICAgICAgICAvLyBPT1BTOiBQb2ludGVycz8gSXMgdGhpcyBl
dmVuIHBvc3NpYmxlPwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVy
X3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAgICAgICAgICAgaW5k
ZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAgICAg
ICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIs
ICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwgbWVt
b3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywgYXJnc1szXSwgIiA9
ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAg
ICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5sZW5ndGgoKSkpOwog
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgJyonLCBh
cmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwg
YXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAnKics
IGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAi
LCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtNjMwLDcgKzQwMCw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5n
dGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdz
WzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIsIGFyZ3NbMV0sICIs
ICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CiAgICAg
ICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAgLTY0MiwxNCArNDEy
LDE2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0Rl
cHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi4iLCAieHl6
dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQiKSB7CiAgICAgICAg
IEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
Mik7CisgICAgICAgIC8vIE9PUFMKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgCisgICAgICAgIC8qCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93
bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
PihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlm
eU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAg
ICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25U
eXBlKTsKQEAgLTcxNyw2ICs0ODksNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmlu
Z0J1aWxkZXImCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAg
ICAgIH0KICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtc
biIpOworICAgICAgICAqLwogCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MjQsMTggKzQ5
NywyMSBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgaWYg
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJsb2FkIikgewogICAgICAgICBB
U1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEp
OwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsIG1lbW9yeV9v
cmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0b21pY19sb2FkX2V4cGxpY2l0KCIs
IGFyZ3NbMF0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJzdG9y
ZSIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRvbWlj
X3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRl
cl9yZWxheGVkKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJHZXREaW1lbnNpb25zIikgeworICAgICAgICAv
LyBPT1BTOiBXZSBkb24ndCBoYXZlIHBvaW50ZXJzLCB3aGF0IHRvIGRvIGhlcmU/CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8qCiAgICAgICAgIGF1dG8m
IHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25j
YXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IDE7
CkBAIC03OTksNiArNTc1LDcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJgogICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCAqbnVtYmVyT2ZMZXZlbHNOYW1l
LCAiKVxuIiwKICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpudW1iZXJPZkxldmVs
c05hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9udW1fbWlwX2xldmVscygpO1xuIik7CiAgICAg
ICAgIH0KKyAgICAgICAgKi8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODM5LDYgKzYx
NiwxMCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAKICAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIlN0b3JlIikgewogICAgICAg
ICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDMpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgICAgIC8v
IE9PUFMKKyAgICAgICAgLyoKICAgICAgICAgCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0g
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRU
eXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51
bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBpdGVtVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKQEAg
LTg5Niw2ICs2NzcsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAg
ICAgICAgKi8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuaAkocmV2aXNpb24gMjQ5MDIwKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBNZXRhbCB7CiAK
IGNsYXNzIFR5cGVOYW1lcjsKIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWls
ZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50
TmFtZXMsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJp
YWJsZU5hbWUoKT4mJiwgSW5kZW50YXRpb248ND4pOwordm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlv
bihTdHJpbmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgY29uc3Qg
VmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVudE5hbWVzLCBNYW5nbGVkVmFyaWFi
bGVOYW1lIHJlc3VsdE5hbWUsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBJbmRlbnRhdGlvbjw0
Pik7CiAKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCShy
ZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9N
ZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsMTgg
KzEwMywxMSBAQCBTdHJpbmcgd3JpdGVOYXRpdmVUeXBlKEFTVDo6TmF0aXZlVHlwZURlCiAgICAg
ICAgICAgICByZXR1cm4gImZsb2F0IjsKICAgICAgICAgfSkoKTsKIAotICAgICAgICBBU1NFUlQo
V1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlw
ZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSkpOwotICAgICAgICBhdXRvJiBjb25zdGFu
dEV4cHJlc3Npb24xID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pOwotICAgICAgICBhdXRvJiBpbnRlZ2Vy
TGl0ZXJhbDEgPSBjb25zdGFudEV4cHJlc3Npb24xLmludGVnZXJMaXRlcmFsKCk7Ci0gICAgICAg
IHVuc2lnbmVkIHJvd3MgPSBpbnRlZ2VyTGl0ZXJhbDEudmFsdWUoKTsKLSAgICAgICAgQVNTRVJU
KHJvd3MgPT0gMiB8fCByb3dzID09IDMgfHwgcm93cyA9PSA0KTsKLQotICAgICAgICBBU1NFUlQo
V1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlw
ZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSkpOwotICAgICAgICBhdXRvJiBjb25zdGFu
dEV4cHJlc3Npb24yID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pOwotICAgICAgICBhdXRvJiBpbnRlZ2Vy
TGl0ZXJhbDIgPSBjb25zdGFudEV4cHJlc3Npb24yLmludGVnZXJMaXRlcmFsKCk7Ci0gICAgICAg
IHVuc2lnbmVkIGNvbHVtbnMgPSBpbnRlZ2VyTGl0ZXJhbDIudmFsdWUoKTsKLSAgICAgICAgQVNT
RVJUKGNvbHVtbnMgPT0gMiB8fCBjb2x1bW5zID09IDMgfHwgY29sdW1ucyA9PSA0KTsKLSAgICAg
ICAgcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PCIsIHByZWZpeCwgIiwgIiwgY29sdW1ucyAqIHJv
d3MsICI+Iik7CisgICAgICAgIC8vUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgLy8gT09QUzogbWFrZSBNU0wgbWF0cml4IG5vdworICAgICAgICAvLyBPT1BTOiB0aGV5J3Jl
IHN0YXRpYyBhc3NlcnRpbmcgbWF0cmljZXMgdXNlIGZsb2F0aW5nIHBvaW50IG51bXMuIFdURiEK
KyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIldTTE1hdHJpeDwiLCBwcmVmaXgsICIsICIsIG5h
dGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeENvbHVtbnMoKSwgIiwgIiwgbmF0aXZl
VHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0cml4Um93cygpLCAiPiIpOworICAgICAgICAvL3Jl
dHVybiBtYWtlU3RyaW5nKCJhcnJheTwiLCBwcmVmaXgsICIsICIsIGNvbHVtbnMgKiByb3dzLCAi
PiIpOwogICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVu
dHMoKS5zaXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVm
PEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRz
KClbMF0pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODk0MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODMxMCw2ICs4
MzEwLDcgQEAKIAkJNTFGQjY3REExQUU2QjVFNDAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25T
dHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRFeHRl
bnNpb25TdHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMxRTVB
MUM0RjE1NjEwMDMzRjgwMiAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTU4NjJDMjI5Mzc3Qjcw
MDU5MjVFRiAvKiBXSExTTEFTVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFTVC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xO
YW1lU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0hMU0xOYW1lU3BhY2UuaDsgcGF0aCA9IEFTVC9X
SExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJCQUI5NjIy
RTZBMzYyMDBDNTRDRTkgLyogV0hMU0xDb2RlTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hM
U0xDb2RlTG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyRDA3QTMy
MkZCQUI0MzAwQjkwNUJFIC8qIFdITFNMRXhwcmVzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXSExTTEV4cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJE
QTNEMzIyOUUxRDM5MDA0MkQxNTEgLyogV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXSExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNTUzMiw2ICsyNTUzMyw3IEBACiAJCQkJQzIxMEU5MTIyMUI0
QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJFQzIxRUVENkY2MDBB
MTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJCTFDQTBDMkVBMjFF
RUQ2RjUwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAorCQkJCTUyMjU2
Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAogCQkJCUMyMzRBOThE
MjFFODg4ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0QTk4
RTIxRTg4ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRBOThB
MjFFODg4M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBpcGVsaW5l
TWV0YWwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCShyZXZpc2lvbiAyNDkwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQ29tcHV0ZVBp
cGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTkzLDEwICs5MywxMCBAQCBzdGF0aWMg
T3B0aW9uYWw8V0hMU0w6OkNvbXB1dGVEaW1lbnNpb25zCiAgICAgICAgIGlmIChXSExTTDo6ZHVt
cE1ldGFsQ29tcGlsZVRpbWVzKQogICAgICAgICAgICAgZGF0YUxvZ0xuKCJNZXRhbCBjb21waWxl
IHRpbWVzOiAiLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWUpLm1pbGxpc2Vjb25k
cygpLCAiIG1zIik7CiAgICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0jaWZuZGVm
IE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAoIWNvbXB1dGVMaWJyYXJ5KQog
ICAgICAgICAgICAgTlNMb2coQCIlQCIsIGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAgICAg
ICAgQVNTRVJUKGNvbXB1dGVMaWJyYXJ5KTsKICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NzEgT25jZSB3ZSB6ZXJvLWZpbGwgdmFy
aWFibGVzLCB0aGVyZSBzaG91bGQgYmUgbm8gd2FybmluZ3MsIHNvIHdlIHNob3VsZCBiZSBhYmxl
IHRvIEFTU0VSVCghZXJyb3IpIGhlcmUuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQ
aXBlbGluZU1ldGFsLm1tCShyZXZpc2lvbiAyNDkwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDA5LDkgKzQwOSw5IEBAIHN0YXRpYyBib29sIHRyeVNldEZ1bmN0aW9ucyhj
b25zdCBHUFVQaXAKIAogICAgICAgICBpZiAoIXZlcnRleExpYnJhcnkgJiYgZXJyb3IpIHsKICAg
ICAgICAgICAgIGVycm9yU2NvcGVzLmdlbmVyYXRlUHJlZml4ZWRFcnJvcihlcnJvci5sb2NhbGl6
ZWREZXNjcmlwdGlvbi5VVEY4U3RyaW5nKTsKLSNpZm5kZWYgTkRFQlVHCisvLyNpZm5kZWYgTkRF
QlVHCiAgICAgICAgICAgICBOU0xvZyhAIiVAIiwgZXJyb3IpOwotI2VuZGlmCisvLyNlbmRpZgog
ICAgICAgICB9CiAKICAgICAgICAgQVNTRVJUKHZlcnRleExpYnJhcnkpOwpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI0ODk0MikJKGZyb20gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVj
dHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQ6MjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgZmllbGRTaG91bGRCZU51bGwgCisKSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHJldmlz
aW9uIDI0ODk0MikJKGZyb20gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVs
ZC1hY2Nlc3Mtb24tbnVsbC5odG1sOjI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPmZpZWxkIGFuZGVyIG9uIG51bGxwdHIg
c2hvdWxkIHJldHVybiBudWxsLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRl
c3RzLmZpZWxkU2hvdWxkQmVOdWxsID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHByb2dyYW0g
PSBgCisgICAgICAgIHN0cnVjdCBGb28geworICAgICAgICAgICAgaW50IHg7CisgICAgICAgICAg
ICBpbnQgeTsKKyAgICAgICAgICAgIGludCB6OworICAgICAgICB9CisgICAgICAgIGJvb2wgZm9v
KHVpbnQgaSkgeworICAgICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhyZWFk
IEZvbyogZm9vID0gJmZvb3NbaV07CisgICAgICAgICAgICB0aHJlYWQgaW50KiBwdHIgPSAmKGZv
by0+eik7CisgICAgICAgICAgICByZXR1cm4gcHRyID09IG51bGwgJiYgZm9vID09IG51bGw7Cisg
ICAgICAgIH0KKyAgICBgOworCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQorICAg
ICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28i
LCBbbWFrZVVpbnQoaSldKSwgZmFsc2UpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJv
b2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMCldKSwgdHJ1ZSk7CisgICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21h
a2VVaW50KDEwMDAwMDApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJv
b2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgweGZmZmZmZmZmKV0pLCB0cnVl
KTsKK307CisKK3J1blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCShyZXZp
c2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiA8aHRtbD4KIDxtZXRhIGNoYXJz
ZXQ9dXRmLTg+CiA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5m
aWVsZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgorPHRpdGxl
Pm9vYiBvbiBhcnJheXMuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CkBAIC0yMSwxNSArMjEsNDYgQEAgd2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFz
eW5jICgpIAogICAgICAgICAgICAgRm9vWzEwXSBmb29zOwogICAgICAgICAgICAgdGhyZWFkIEZv
byogZm9vID0gJmZvb3NbaV07CiAgICAgICAgICAgICB0aHJlYWQgaW50KiBwdHIgPSAmKGZvby0+
eik7Ci0gICAgICAgICAgICByZXR1cm4gcHRyID09IG51bGwgJiYgZm9vID09IG51bGw7CisgICAg
ICAgICAgICAqcHRyID0gNDI7CisgICAgICAgICAgICByZXR1cm4gZm9vc1swXS56ID09IDQyOwor
ICAgICAgICB9CisKKyAgICAgICAgYm9vbCBiYXIoKSB7CisgICAgICAgICAgICBGb29bMTBdIGZv
b3M7CisgICAgICAgICAgICB0aHJlYWQgRm9vKiBmb28gPSAmZm9vc1s0MjQyNDJdOworICAgICAg
ICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAgcmV0dXJuIGZv
byA9PSAmZm9vc1swXTsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0MyByZXRGbG9hdDMoKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZmxvYXQzKDEwLjAsIDAuMCwgMC4wKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGZsb2F0WzEwXSByZXRGbG9hdEFycmF5KCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZmxvYXRbMTBdIHY7CisgICAgICAgICAgICB2WzBdID0gMTAuMDsKKyAgICAg
ICAgICAgIHJldHVybiB2OworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBiYXooKSB7CisgICAg
ICAgICAgICByZXR1cm4gcmV0RmxvYXQzKClbNDJdID09IDEwLjA7CisgICAgICAgIH0KKworICAg
ICAgICBib29sIGpheigpIHsKKyAgICAgICAgICAgIHJldHVybiByZXRGbG9hdEFycmF5KClbNDJd
ID09IDEwLjA7CiAgICAgICAgIH0KICAgICBgOwogCiAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDsgKytpKQotICAgICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJv
Z3JhbSwgICJmb28iLCBbbWFrZVVpbnQoaSldKSwgZmFsc2UpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoaSld
KSwgaSA9PT0gMCA/IHRydWUgOiBmYWxzZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKICAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRy
dWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAg
ImJhciIsIFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0
aW9uKHByb2dyYW0sICAiYmF6IiwgW10pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJqYXoiLCBbXSksIHRydWUpOwogfTsKIAogcnVu
VGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
YmFkLWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw5
ICswLDAgQEAKLQotUEFTUyBpbmRleEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciAKLVBBU1MgaW5k
ZXhBbmRlckRvZXNudFRha2VSZWZlcmVuY2UgCi1QQVNTIGFuZGVyRG9lc250UmV0dXJuUG9pbnRl
ciAKLVBBU1MgYW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRlcldpdGhCYWRJbmRl
eCAKLVBBU1MgYW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFTUyBhbmRlcldpdGhXcm9uZ051bWJl
ck9mQXJndW1lbnRzIAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYmFkLWFuZGVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5o
dG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHByZWZpeC9wb3N0Zml4LjwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xU
ZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJEb2VzbnRSZXR1cm5Qb2ludGVyID0g
YXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAg
ICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaW50IG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZm9vLT54OwotICAgICAgICAgICAgfQot
ICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9lc250VGFrZVJlZmVyZW5j
ZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAg
ICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKEZvbyBmb28sIHVpbnQpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28ueDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJEb2VzbnRSZXR1cm5Qb2ludGVy
ID0gYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAg
ICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlID0gYXN5
bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAg
IHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyhGb28gZm9vKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aEJhZEluZGV4ID0gYXN5bmMgKCkgPT4KLXsK
LSAgICBhd2FpdCBjaGVja0ZhaWwoYGludCBmb28odGhyZWFkIGludFtdIHgpIHsgcmV0dXJuIHhb
LTFdOyB9YCk7Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoYGludCBmb28odGhyZWFkIGludFtdIHgp
IHsgcmV0dXJuIHhbMS5mXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRo
cmVhZCBpbnRbXSB4LCBpbnQgeSkgeyByZXR1cm4geFt5XTsgfWApOwotCi0gICAgYXdhaXQgY2hl
Y2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4LCBmbG9hdCB5KSB7IHJldHVybiB4W3ldOyB9
YCk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJXaXRoTm90aGluZ1dyb25nID0gYXN5bmMgKCkgPT4K
LXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAg
ICBpbnQgeDsKLSAgICAgICAgfQotICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciYuZm9vKHRo
cmVhZCBGb28qIGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0g
ICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyB4
OwotICAgICAgICAgICAgeC54ID0gMTM7Ci0gICAgICAgICAgICByZXR1cm4geC5mb287Ci0gICAg
ICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSksIDEzKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldpdGhXcm9uZ051
bWJlck9mQXJndW1lbnRzID0gYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAg
ICAgICAgYAotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbygpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4
OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAg
ICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciYuZm9vKHRo
cmVhZCBGb28qIGZvbywgaW50IGJsYWgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0
cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2R1cGxpY2F0ZS10eXBlcy1zaG91bGQtbm90LXByb2R1Y2UtZHVwbGljYXRlLWN0
b3JzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2R1cGxpY2F0
ZS10eXBlcy1zaG91bGQtbm90LXByb2R1Y2UtZHVwbGljYXRlLWN0b3JzLmh0bWwJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hv
dWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
OSwxNiArMTksMjAgQEAgdHlwZWRlZiBYWVozID0gWFlaOwogCiBbbnVtdGhyZWFkcygyLCAxLCAx
KV0KIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBmbG9hdFtdIGJ1ZmZlciA6IHJl
Z2lzdGVyKHUwKSwgZmxvYXQzIHRocmVhZElEIDogU1ZfRGlzcGF0Y2hUaHJlYWRJRCkgewotICAg
IHRocmVhZCBpbnQqIHg7Ci0gICAgdGhyZWFkIGludCogeTsKLSAgICB0aHJlYWQgZmxvYXQqIGYx
OwotICAgIHRocmVhZCBmbG9hdCogZjI7CisgICAgaW50IHZhbHVlOworICAgIGZsb2F0IHZhbHVl
MjsKKyAgICBpbnRbMTBdIHZhbHVlMzsKKworICAgIHRocmVhZCBpbnQqIHggPSAmdmFsdWU7Cisg
ICAgdGhyZWFkIGludCogeSA9ICZ2YWx1ZTsKKyAgICB0aHJlYWQgZmxvYXQqIGYxID0gJnZhbHVl
MjsKKyAgICB0aHJlYWQgZmxvYXQqIGYyID0gJnZhbHVlMjsKICAgICBYWVoxIGE7CiAgICAgWFla
MiBiOwogICAgIFhZWjMgYzsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxOwotICAgIHRo
cmVhZCBpbnRbXSBpbnRBcnJheVJlZjI7Ci0gICAgaWYgKCp4ID09ICp5ICYmIHggPT0geSAmJiB4
ID09IG51bGwgJiYgZjEgPT0gbnVsbCAmJiAqZjEgPT0gMCkgeworICAgIHRocmVhZCBpbnRbXSBp
bnRBcnJheVJlZjEgPSBAdmFsdWUzOworICAgIHRocmVhZCBpbnRbXSBpbnRBcnJheVJlZjIgPSBA
dmFsdWUzOworICAgIGlmICgqeCA9PSAqeSAmJiB4ID09IHkpIHsKICAgICAgICAgYnVmZmVyW3Vp
bnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwogICAgIH0K
IH0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIu
aHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luY3Jl
bWVudC1zZXR0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTUsMjIgKzE1LDE3IEBAIHdobHNs
VGVzdHMuaW5jcmVtZW50U2V0dGVyID0gYXN5bmMgKCkgPT4KICAgICBsZXQgcHJvZ3JhbSA9IGAK
ICAgICAgICAgc3RydWN0IEZvbyB7CiAgICAgICAgICAgICBpbnQgejsKLSAgICAgICAgfQotICAg
ICAgICBpbnQgb3BlcmF0b3IudyhGb28gZm9vKSB7Ci0gICAgICAgICAgICByZXR1cm4gODsKLSAg
ICAgICAgfQotICAgICAgICBGb28gb3BlcmF0b3Iudz0oRm9vIGZvbywgaW50IHZhbHVlKSB7Ci0g
ICAgICAgICAgICBmb28ueiA9IHZhbHVlOwotICAgICAgICAgICAgcmV0dXJuIGZvbzsKKyAgICAg
ICAgICAgIGludCB3OwogICAgICAgICB9CiAgICAgICAgIGludCBiYXIoKSB7CiAgICAgICAgICAg
ICBGb28gZm9vOwogICAgICAgICAgICAgZm9vLnogPSAzOworICAgICAgICAgICAgZm9vLncgPSAx
OwogICAgICAgICAgICAgaW50IHZhbHVlID0gZm9vLncrKzsKICAgICAgICAgICAgIHJldHVybiB2
YWx1ZSoxMDAgKyBmb28ueioxMCArIGZvby53OwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA4OTgp
OworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIi
LCBbXSksIDEwMCArIDMwICsgMik7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5k
ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgaW5k
ZXhBbmRlcldpdGhOb3RoaW5nV3JvbmcgCi1QQVNTIGluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJP
ZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVy
Lmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRl
eC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsNjkgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHN0cnVjdHMuPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3Rz
ID0ge307Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlcldpdGhOb3RoaW5nV3JvbmcgPSBhc3luYyAo
KSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAg
ICAgICAgIGludCB4OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltd
KHRocmVhZCBGb28qIGZvbywgdWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuICZm
b28tPng7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIEZvbyB4OwotICAgICAgICAgICAgeC54ID0gMTM7Ci0gICAgICAgICAgICByZXR1cm4geFs2
NjZdOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhB
bmRlcldpdGhXcm9uZ051bWJlck9mQXJndW1lbnRzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2Fp
dCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9y
JltdKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLSAg
ICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewot
ICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFk
IGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAg
ICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1
Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCwgdWludCkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdl
dHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg5NDIpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLQotUEFTUyBpbmRleFNldHRlcldpdGhOb0dl
dHRlck92ZXJsb2FkIAotUEFTUyBpbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkRml4ZWQg
Ci1QQVNTIG5vdExvbmVJbmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyIAotUEFTUyBs
b25lSW5kZXhTZXR0ZXJQb2ludGVyIAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
aW5kZXgtc2V0dGVyLWdldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNo
YXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRs
ZT5UZXN0IHN0cnVjdHMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMu
aW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsgfQotICAg
ICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvcltdKEZvbywg
dWludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gNTM0OwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBCYXIoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5pbmRleFNldHRlcldpdGhO
b0dldHRlck92ZXJsb2FkRml4ZWQgPSBhc3luYyAoKSA9PgotewotICAgIGNvbnN0IHByb2dyYW0g
PSBgCi0gICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgIGludCBvcGVyYXRvcltdKEJhciwg
dWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAgICAgfQotICAg
ICAgICBCYXIgb3BlcmF0b3JbXT0oQmFyLCB1aW50LCBpbnQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBCYXIoKTsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgeyByZXR1cm4g
QmFyKClbMF07IH0KLSAgICAgICAgaW50IGJhcigpIHsKLSAgICAgICAgICAgIEJhciBiOwotICAg
ICAgICAgICAgYlswXSA9IDQwMDsKLSAgICAgICAgICAgIHJldHVybiBiWzBdOwotICAgICAgICB9
Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCA1MzQpOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0
aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDUzNCk7Ci19OwotCi13aGxzbFRlc3RzLm5vdExvbmVJ
bmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAgICAg
ICAgaW50IG9wZXJhdG9yW10oaW50LCB1aW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gNjU7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yW109KGludCwgdWludCwgaW50
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gNTQzOwotICAgICAgICB9Ci0gICAgICAg
IGludCBmb28oKSB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIHJldHVybiB4WzBd
OwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXIoKSB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAg
ICAgICAgICAgIHhbMF0gPSA0MjsKLSAgICAgICAgICAgIHJldHVybiB4OwotICAgICAgICB9Ci0g
ICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10pLCA2NSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24o
cHJvZ3JhbSwgImJhciIsIFtdKSwgNTQzKTsKLX07Ci0KLXdobHNsVGVzdHMubG9uZUluZGV4U2V0
dGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAg
ICAgICAgICAgIGludCBvcGVyYXRvcltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICByZXR1cm4gNTQzOwotICAgICAgICAgICAgfQotICAgICAgICBgKTsK
LSAgICAgICAgCi19OwotCi13aGxzbFRlc3RzLmxvbmVJbmRleFNldHRlclBvaW50ZXIgPSBhc3lu
YyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3JbXT0odGhyZWFkIGludCogcHRyLCB1aW50LCBpbnQpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHB0cjsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3Njcmlw
dD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYWtlLWFycmF5LXJl
ZmVyZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYWtl
LWFycmF5LXJlZmVyZW5jZS5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
NywxMTQgKzcsMTE1IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBjb25zdCBzaGFkZXJTb3VyY2UgPSBg
Ci1ib29sIHRlc3QxKCkgewotICAgIGludCB2YWx1ZSA9IDQyOwotICAgIHRocmVhZCBpbnRbXSBh
cnJheSA9IEB2YWx1ZTsKLSAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoYXJyYXlbMTIwMjEzXSAhPSAwKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBhcnJheVswXSA9IDEzMzc7Ci0gICAgaWYgKHZhbHVlICE9IDEzMzcpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIHRlc3QyKCkgewotICAgIGlu
dCB2YWx1ZSA9IDQyOwotICAgIHRocmVhZCBpbnQqIHB0ciA9ICZ2YWx1ZTsKLSAgICBpZiAoKnB0
ciAhPSA0MikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdGhyZWFkIGludFtdIGFycmF5
ID0gQHB0cjsKLSAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBp
ZiAoYXJyYXlbMTIzNzQyMTddICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAg
ICAqcHRyID0gNjY2OwotICAgIGlmICgqcHRyICE9IDY2NikKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICh2YWx1ZSAhPSA2NjYpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAo
YXJyYXkubGVuZ3RoICE9IDEpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYXJyYXlb
MF0gIT0gNjY2KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhcnJheVswXSA9IDQyNDI7
Ci0gICAgaWYgKCpwdHIgIT0gNDI0MikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICh2
YWx1ZSAhPSA0MjQyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9
IDQyNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIHRl
c3QzKCkgewotICAgIGludFs0Ml0geDsKLSAgICB0aHJlYWQgaW50WzQyXSogYXJyYXlQdHIgPSAm
eDsKLSAgICBpZiAoYXJyYXlQdHItPmxlbmd0aCAhPSA0MikKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgeFs0MV0gPSA2NjY7Ci0gICAgaWYgKCgqYXJyYXlQdHIpWzQxXSAhPSA2NjYpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoKCphcnJheVB0cilbMF0gIT0gMCkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdGhyZWFkIGludFtdIGFycmF5ID0gQHg7Ci0gICAgaWYg
KGFycmF5Lmxlbmd0aCAhPSA0MikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXJyYXlb
MF0gPSAxMzM3OwotICAgIGlmICh4WzBdICE9IDEzMzcpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoKCphcnJheVB0cilbMF0gIT0gMTMzNykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgdGVzdDQoKSB7Ci0gICAgdGhyZWFkIGludCog
cHRyID0gbnVsbDsKLQotICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFy
cmF5Lmxlbmd0aCAhPSAwKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoYXJyYXlb
MF0gIT0gMCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKGFycmF5WzEwMDAwMF0g
IT0gMCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19CisvL2Jv
b2wgdGVzdDEoKSB7CisvLyAgICBpbnQgdmFsdWUgPSA0MjsKKy8vICAgIHRocmVhZCBpbnRbXSBh
cnJheSA9IEB2YWx1ZTsKKy8vICAgIGlmIChhcnJheS5sZW5ndGggIT0gMSkKKy8vICAgICAgICBy
ZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCisvLyAgICAgICAgcmV0dXJu
IGZhbHNlOworLy8gICAgaWYgKGFycmF5WzEyMDIxM10gIT0gMCkKKy8vICAgICAgICByZXR1cm4g
ZmFsc2U7CisvLworLy8gICAgYXJyYXlbMF0gPSAxMzM3OworLy8gICAgaWYgKHZhbHVlICE9IDEz
MzcpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHJldHVybiB0cnVlOworLy99
CisvLworLy9ib29sIHRlc3QyKCkgeworLy8gICAgaW50IHZhbHVlID0gNDI7CisvLyAgICB0aHJl
YWQgaW50KiBwdHIgPSAmdmFsdWU7CisvLyAgICBpZiAoKnB0ciAhPSA0MikKKy8vICAgICAgICBy
ZXR1cm4gZmFsc2U7CisvLworLy8gICAgdGhyZWFkIGludFtdIGFycmF5ID0gQHB0cjsKKy8vICAg
IGlmIChhcnJheS5sZW5ndGggIT0gMSkKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBp
ZiAoYXJyYXlbMF0gIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFy
cmF5WzEyMzc0MjE3XSAhPSAwKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIAorLy8g
ICAgKnB0ciA9IDY2NjsKKy8vICAgIGlmICgqcHRyICE9IDY2NikKKy8vICAgICAgICByZXR1cm4g
ZmFsc2U7CisvLyAgICBpZiAodmFsdWUgIT0gNjY2KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vICAgIGlmIChhcnJheS5sZW5ndGggIT0gMSkKKy8vICAgICAgICByZXR1cm4gZmFsc2U7Cisv
LyAgICBpZiAoYXJyYXlbMF0gIT0gNjY2KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisv
LyAgICBhcnJheVswXSA9IDQyNDI7CisvLyAgICBpZiAoKnB0ciAhPSA0MjQyKQorLy8gICAgICAg
IHJldHVybiBmYWxzZTsKKy8vICAgIGlmICh2YWx1ZSAhPSA0MjQyKQorLy8gICAgICAgIHJldHVy
biBmYWxzZTsKKy8vICAgIGlmIChhcnJheVswXSAhPSA0MjQyKQorLy8gICAgICAgIHJldHVybiBm
YWxzZTsKKy8vICAgIGlmIChhcnJheS5sZW5ndGggIT0gMSkKKy8vICAgICAgICByZXR1cm4gZmFs
c2U7CisvLworLy8gICAgcmV0dXJuIHRydWU7CisvL30KKy8vCisvL2Jvb2wgdGVzdDMoKSB7Cisv
LyAgICBpbnRbNDJdIHg7CisvLyAgICB0aHJlYWQgaW50WzQyXSogYXJyYXlQdHIgPSAmeDsKKy8v
ICAgIGlmIChhcnJheVB0ci0+bGVuZ3RoICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vCisvLyAgICB4WzQxXSA9IDY2NjsKKy8vICAgIGlmICgoKmFycmF5UHRyKVs0MV0gIT0gNjY2
KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIGlmICgoKmFycmF5UHRyKVswXSAhPSAw
KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICB0aHJlYWQgaW50W10gYXJyYXkg
PSBAeDsKKy8vICAgIGlmIChhcnJheS5sZW5ndGggIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZh
bHNlOworLy8KKy8vICAgIGFycmF5WzBdID0gMTMzNzsKKy8vICAgIGlmICh4WzBdICE9IDEzMzcp
CisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKCgqYXJyYXlQdHIpWzBdICE9IDEz
MzcpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHJldHVybiB0cnVlOworLy99
CisvLworLy9ib29sIHRlc3Q0KCkgeworLy8gICAgaW50IHggPSA0MjsKKy8vICAgIHRocmVhZCBp
bnQqIHB0ciA9ICZ4OworLy8KKy8vICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7CisvLyAg
ICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8v
ICAgIGlmIChhcnJheVswXSAhPSA0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8g
ICAgaWYgKGFycmF5WzEwMDAwMF0gIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8K
Ky8vICAgIHJldHVybiB0cnVlOworLy99CiAKIFtudW10aHJlYWRzKDEsIDEsIDEpXQogY29tcHV0
ZSB2b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNlIGludFtdIGJ1ZmZlciA6IHJlZ2lzdGVyKHUwKSwg
ZmxvYXQzIHRocmVhZElEIDogU1ZfRGlzcGF0Y2hUaHJlYWRJRCkgewotICAgIGlmICghdGVzdDEo
KSkKLSAgICAgICAgcmV0dXJuOworICAgIC8vaWYgKCF0ZXN0MSgpKQorICAgIC8vICAgIHJldHVy
bjsKIAotICAgIGlmICghdGVzdDIoKSkKLSAgICAgICAgcmV0dXJuOworICAgIC8vaWYgKCF0ZXN0
MigpKQorICAgIC8vICAgIHJldHVybjsKIAotICAgIGlmICghdGVzdDMoKSkKLSAgICAgICAgcmV0
dXJuOworICAgIC8vaWYgKCF0ZXN0MygpKQorICAgIC8vICAgIHJldHVybjsKIAotICAgIGlmICgh
dGVzdDQoKSkKLSAgICAgICAgcmV0dXJuOworICAgIC8vaWYgKCF0ZXN0NCgpKQorICAgIC8vICAg
IHJldHVybjsKIAogICAgIGJ1ZmZlclswXSA9IDE7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkocmV2aXNpb24gMjQ4
OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5b3V0Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTYwLDIwICs2MCwyMCBAQCBhc3luYyBmdW5jdGlvbiBzdGFy
dChkZXZpY2UpIHsKICAgICBjb25zdCBidWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IGJ1ZmZlci5t
YXBXcml0ZUFzeW5jKCk7CiAgICAgY29uc3QgYnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0
MzJBcnJheShidWZmZXJBcnJheUJ1ZmZlcik7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
MDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMV0gPSA0OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVsyXSA9IDg7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTI7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzRdID0gMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAxOworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVsyXSA9IDI7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMzsK
KyAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSA0OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDU7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzZdID0gOTsKLSAgICBidWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxMzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAyOwotICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IDY7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzZdID0gNjsKKyAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbN10gPSA3OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9
IDg7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzldID0gOTsKICAgICBidWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMTA7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE0OwotICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVsxMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSA3Owot
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDEyOworICAgIGJ1ZmZlckZs
b2F0MzJBcnJheVsxM10gPSAxMzsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMTQ7CiAg
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE1OwogICAgIGJ1ZmZlci51bm1hcCgpOwogCkBA
IC05OCwyMyArOTgsMjMgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAgY29u
c3QgcmVzdWx0c0FycmF5QnVmZmVyID0gYXdhaXQgcmVzdWx0c0J1ZmZlci5tYXBSZWFkQXN5bmMo
KTsKICAgICBjb25zdCByZXN1bHRzRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1
bHRzQXJyYXlCdWZmZXIpOwogICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09PSAxCi0g
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT09IDUKLSAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVsyXSA9PT0gOQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNd
ID09PSAxMworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzFdID09PSAyCisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT09IDMKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVszXSA9PT0gNAogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNF0gPT09
IDIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0gNQogICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzVdID09PSA2Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbNl0gPT09IDEwCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT09IDE0Cisg
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNl0gPT09IDcKKyAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVs3XSA9PT0gOAogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
OF0gPT09IDMKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs5XSA9PT0gNworICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzhdID09PSA5CisgICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbOV0gPT09IDEwCiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTBdID09
PSAxMQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzExXSA9PT0gMTUKKyAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMV0gPT09IDEyCiAKLSAgICAgICAgJiYgcmVzdWx0c0Zs
b2F0MzJBcnJheVsxMl0gPT09IDQKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxM10g
PT09IDgKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNF0gPT09IDEyCisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTJdID09PSAxMworICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzEzXSA9PT0gMTQKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNF0g
PT09IDE1CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTVdID09PSAxNikKICAgICAg
ICAgdGVzdFBhc3NlZCgiIik7CiAgICAgZWxzZQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL21hdHJpeC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9t
YXRyaXguaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L21hdHJpeC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02NiwyMiArNjYsMjQgQEAgY29tcHV0ZSB2
b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNlIGZsb2F0WwogICAgIGlmICghYWxsRXF1YWwoZm9vLCA0
MikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZvdXJ0eVR3b1sxMzM3XSA9IDUwOwotICAgIGZv
b1sxXSA9IGZvdXJ0eVR3bzsKLSAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBmb3VydHlUd29bMTAwMDAwMF0gPSA1MDsKLSAgICBmb29bMV0gPSBmb3Vy
dHlUd287Ci0gICAgaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKLSAgICAgICAgcmV0dXJuOworICAg
IC8vIE9PUFM6IHdoYXQgc2VtYW50aWNzIGFyZSB3ZSBjaG9vc2luZz8KIAotICAgIGZsb2F0MyBz
aG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKLSAgICBpZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8
fCBzaG91bGRCZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCi0gICAgICAgIHJl
dHVybjsKKyAgICAvL2ZvdXJ0eVR3b1sxMzM3XSA9IDUwOworICAgIC8vZm9vWzFdID0gZm91cnR5
VHdvOworICAgIC8vaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKKyAgICAvLyAgICByZXR1cm47CisK
KyAgICAvL2ZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUwOworICAgIC8vZm9vWzFdID0gZm91cnR5VHdv
OworICAgIC8vaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKKyAgICAvLyAgICByZXR1cm47CisKKyAg
ICAvL2Zsb2F0MyBzaG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKKyAgICAvL2lmIChzaG91bGRC
ZVplcm8ueCAhPSAwIHx8IHNob3VsZEJlWmVyby55ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnogIT0g
MCkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoZm91cnR5VHdvWzEwMDAwMDAwXSAhPSAw
KQotICAgICAgICByZXR1cm47CisgICAgLy9pZiAoZm91cnR5VHdvWzEwMDAwMDAwXSAhPSAwKQor
ICAgIC8vICAgIHJldHVybjsKIAogICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZl
clt1aW50KHRocmVhZElELngpXSAqIDIuMDsKIH0KQEAgLTE0NSw3ICsxNDcsNyBAQCBhc3luYyBm
dW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs3
XSA9PSA4KQogICAgICAgICB0ZXN0UGFzc2VkKCIiKTsKICAgICBlbHNlCi0gICAgICAgIHRlc3RG
YWlsZWQoIiIpOworICAgICAgICB0ZXN0RmFpbGVkKCJub3QgY29ycmVjdCIpOwogICAgIHJlc3Vs
dHNCdWZmZXIudW5tYXAoKTsKIH0KIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBwYXNzTnVsbFRv
UHRyTW9ub21vcnBoaWMgCitQQVNTIG51bGxJc0Vycm9yIAogCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvbnVsbC1hcmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvbnVsbC1hcmcuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBA
CiA8aHRtbD4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IHN0cnVjdHMuPC90aXRsZT4KKzx0aXRsZT5udWxsLjwv
dGl0bGU+CiA8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMTAsOSArMTAs
OSBAQAogPHNjcmlwdD4KIGNvbnN0IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5wYXNz
TnVsbFRvUHRyTW9ub21vcnBoaWMgPSBhc3luYyAoKSA9Pgord2hsc2xUZXN0cy5udWxsSXNFcnJv
ciA9IGFzeW5jICgpID0+CiB7Ci0gICAgbGV0IHByb2dyYW0gPSBgCisgICAgYXdhaXQgY2hlY2tG
YWlsKGAKICAgICAgICAgaW50IGZvbyh0aHJlYWQgaW50KiBwdHIpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHJldHVybiAqcHRyOwpAQCAtMjEsOCArMjEsMjEgQEAgd2hsc2xUZXN0cy5wYXNzTnVs
bFRvUHRyTW9ub21vcnBoaWMgPSBhcwogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gZm9v
KG51bGwpOwogICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJ
bnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAwKTsKKyAgICBgKTsKKworICAgIGF3YWl0
IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgYmFyKCkKKyAgICAgICAgeworICAgICAgICAgICAg
dGhyZWFkIGludCogeDsKKyAgICAgICAgfQorICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWls
KGAKKyAgICAgICAgdm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50
W10geDsKKyAgICAgICAgfQorICAgIGApOwogfQogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5j
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUg
KzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5j
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVm
ZXJlbmNlLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwotRm9vIGdldE51
bGxQdHIoKQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsKLSAgICBmbG9h
dCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVhZHMoMiwgMSwg
MSldCi1jb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiBy
ZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAg
ICBGb28gcHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQdHIoKSA9IDQy
OwotICAgIGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXROdWxsUHRyKCkp
IHsKLSAgICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAgICAgICAgICAg
ICB0aHJlYWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZWiB4eXo7Ci0g
ICAgICAgICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55ID0gMTsKLSAg
ICAgICAgICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5ei56ID09IDEu
MCAmJiB4eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICp4eXpQdHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQdHI7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4wICYmIHh5ei56
ID09IDAuMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVsbFB0cigpID09
IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipnZXROdWxsUHRy
KCkpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyW3Vp
bnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAg
IGNvbnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzog
MCwgdmlzaWJpbGl0eTogNywgdHlwZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBi
aW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExh
eW91dERlc2NyaXB0b3IpOwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHti
aW5kR3JvdXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0
YWdlLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUg
PSBkZXZpY2UuY3JlYXRlQ29tcHV0ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3Qgc2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7
Ci0KLSAgICBjb25zdCBidWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5NQVBfV1JJVEUgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0
IGJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29u
c3QgYnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAg
IGNvbnN0IGJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlC
dWZmZXIpOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzFdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVszXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbNV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDc7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsK
LQotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVC
dWZmZXJVc2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1JFQUR9OwotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3Jl
YXRlQnVmZmVyKHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJp
bmRpbmcgPSB7YnVmZmVyOiByZXN1bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3Jv
dXBCaW5kaW5nID0ge2JpbmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBj
b25zdCBiaW5kR3JvdXBEZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5k
aW5nczogW2JpbmRHcm91cEJpbmRpbmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2Uu
Y3JlYXRlQmluZEdyb3VwKGJpbmRHcm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21t
YW5kRW5jb2Rlci5jb3B5QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAw
LCBzaXplKTsKLSAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5i
ZWdpbkNvbXB1dGVQYXNzKCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNv
bXB1dGVQaXBlbGluZSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBi
aW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAg
ICBjb21wdXRlUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIg
PSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQo
W2NvbW1hbmRCdWZmZXJdKTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0
IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVz
dWx0c0Zsb2F0MzJBcnJheVswXSA9PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
MV0gPT0gNAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbNF0gPT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbN10gPT0gOCkKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQot
ICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rp
b24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxl
ZCgiIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7
Ci0gICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1h
Y2Nlc3MtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvb29iLWFjY2Vzcy0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL29vYi1hY2Nlc3MtMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNj
cmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdo
bHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29u
c3QgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGludCB4ID0gMzsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAg
ICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAg
ICAgICAgaW50IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAg
ICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsK
KyAgICAgICAgICAgIHJldHVybiB4WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBp
bnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJl
dHVybiB4WzFdOworICAgICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFz
c2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDAp
OworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ4OTQy
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLVtudW10aHJlYWRzKDIsIDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21w
dXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1
MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJb
MTMzN10gPSAwLjA7CiAgICAgYnVmZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1Nywx
NCBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFz
c0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0
ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBh
c3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5j
b2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2go
MSwgMSwgMSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBj
b21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1
ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlC
dWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJl
c3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7
Ci0gICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxv
YXQzMkFycmF5WzBdID09IDAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0
CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzNdID09IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9v
cGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkocmV2aXNpb24gMjQ4OTQyKQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhB
c3NpZ24gPSBhc3luYyAoKSAKICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHhbMF0g
PSAyMDsKICAgICAgICAgICAgIHhbMV0gPSAxMDsKLSAgICAgICAgICAgIHhbNTAwMF0gPSAyMDsK
KyAgICAgICAgICAgIHhbNTAwMF0gPSA0MDsKICAgICAgICAgICAgIHJldHVybiB4LnggLyB4Lnkg
KyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwIC8gMTAgKyA0
MCk7CiB9OwogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCShyZXZpc2lvbiAyNDg5
NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5k
ZXhMb2FkID0gYXN5bmMgKCkgPT4KICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHgu
eCA9IDIwOwogICAgICAgICAgICAgeC55ID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7
CisgICAgICAgICAgICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geFswXSAvIHhb
MV0gKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwLzEwICsg
NDApOwogfTsKIAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1
YnNjcmlwdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLQotUEFT
UyBvdmVycmlkZVN1YnNjcmlwdFN0cnVjdCAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RB
bmREb1N0b3JlcyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVycyAK
LVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5IAot
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlw
dC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3Zl
cnJpZGUtc3Vic2NyaXB0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IG92ZXJyaWRlIHN1YnNjcmlwdHMu
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3QgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBz
dHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAg
ICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1
aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQot
ICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7
Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZv
byBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7
Ci0gICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdICogMzsKLSAgICAgICAgfQotICAg
IGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdKSwgNDk4ICsgMTkgKiAzKTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlw
dFN0cnVjdEFuZERvU3RvcmVzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAK
LSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGlu
dCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBG
b28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09
IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5k
ZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJl
dHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vWzBdID0gNDk4OwotICAgICAgICAgICAg
Zm9vWzFdID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnggKyBmb28ueTsKLSAgICAgICAg
fQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2Ny
aXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFt
ID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAg
ICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5k
ZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlm
IChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAg
ICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBm
b28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAoKmZvbylbMF0gKyAoKmZvbylbMV07
Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZv
byBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7
Ci0gICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0
OTggKyAxOSk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQ
b2ludGVyc0luY29ycmVjdGx5ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBjaGVja0ZhaWwoCi0gICAg
ICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4Owot
ICAgICAgICAgICAgICAgIGludCB5OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFk
IGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpbnQgYmFyKHRocmVhZCBGb28qIGZvbykK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IGZvbygpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgRm9vIGZvbzsKLSAgICAgICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAg
ICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAgICAgICAgIHJldHVybiBiYXIoJmZvbyk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsK
LTwvc2NyaXB0PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1h
YnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVl
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZp
c2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlw
dD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZs
b2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJu
IHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQg
ZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19
Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikg
ewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsK
LSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21l
bnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsK
LSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5j
IGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmlj
ZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0p
OwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3Qg
cHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6
YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNv
bnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xv
ckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUw
ID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1
dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0
IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZl
cnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7Ymlu
ZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNy
ZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2Us
IHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0
aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVs
aW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5k
ZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4
QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1B
UF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBj
b25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBD
aGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29u
c3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4
dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVh
dGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwg
YjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDog
b3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwg
c3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7
Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFz
c0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0
ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9u
KCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwv
Y2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5
NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1s
dmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9j
YW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2
ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9u
IHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7
Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJl
dHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBG
b28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIqIGIpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0K
LXN0cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciYucSh0
aHJlYWQgQmF6KiBiKSB7Ci0gICAgcmV0dXJuICZiLT5wOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55
ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4w
KTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVy
TW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBp
c1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2
YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRl
ci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0ODk0
MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2
YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImLnko
dGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0g
ICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIqIGIpIHsK
LSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigp
IDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAgIHJldHVy
biBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24g
c3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNo
YWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29u
c3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVU
b3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRl
ID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0
YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdy
aXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhT
dGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVy
TG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJp
ZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0g
W2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRz
fTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxp
bmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZl
VG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0
YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQg
dmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3Jp
cHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hh
aW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0g
ICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRW
aWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5k
RW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAx
fTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0
dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAi
c3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFj
aG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5j
b2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRv
cik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0s
IFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewot
ICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAkocmV2aXNpb24g
MjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5k
ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygp
IHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdt
ZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBm
bG9hdDQoZ2VuZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIGdlbmVyYXRlRm9vKCkueSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
LCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRl
ci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0
ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTEx
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08
c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFk
ZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICBy
ZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZs
b2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1mcmFnbWVudCBm
bG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICBm
LnggPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChmLnksIGYueSwgZi55LCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRy
dWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9k
dWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNv
bnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0
ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAg
ICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAg
IGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwg
Y29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmli
dXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3Qg
aW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBj
b25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhC
dWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0g
e2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmlj
ZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0
YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywg
ZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBw
aXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRl
UmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2Fn
ZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZm
ZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlC
dWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0g
ICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBz
d2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAg
IGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVu
dFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUu
Y3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNl
LmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6
IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1l
bnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVh
ciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9y
ID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0
IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5k
ZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBb
dmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAs
IDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5k
QnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCku
c3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rp
b24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5j
dGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShj
YW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0
cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3Rl
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0
bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48
L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0
IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRp
b24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQg
eDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmLCB1aW50IGlu
ZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsK
LX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56
OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAg
Yi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hh
ZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAg
ICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwot
Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFz
eW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRl
dmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1s
dmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUt
My1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2
YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0g
YAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRl
KDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBG
b28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFk
IEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJh
ciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBCYXIq
IGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXogewot
ICAgIEJhciBwOwotfQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciZbXSh0aHJlYWQgQmF6KiBiLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT5wOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJh
Z21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzFdWzJdWzNd
ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXVszXSwgYlsxXVsyXVszXSwgYlsxXVsy
XVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29u
c3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVy
U291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxl
OiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBm
cmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21l
bnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJp
cCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3Vs
bE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1
bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29s
b3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAg
IAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZs
b2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFth
dHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVy
dGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0
ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25T
dGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxl
Q291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVS
VEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIg
PSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5
bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFy
cmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgi
Z3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDog
ImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3
YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0g
c3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZp
ZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21t
YW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNv
bnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFj
aG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDog
bnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9
XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJl
Z2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7
Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAg
IGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNE
ZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFs
dWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2
YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10o
dGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3Ry
dWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVh
ZCBCYXIqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAg
IGJbMV1bMl0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzFdWzJdLCBiWzFdWzJdLCBiWzFd
WzJdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25z
dCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJT
b3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZy
YWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVu
dFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlw
IjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxs
TW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xv
cldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAg
Ci0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxv
YXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0
dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0
ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRl
eFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0
YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVD
b3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJU
RVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9
IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3lu
YygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzdd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJn
cHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dh
cENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBz
d2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmll
dyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1h
bmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29u
c3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNo
bWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBu
dWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1d
OwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJl
bmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVn
aW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsK
LSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAg
ZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rl
dmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotRm9vIGdl
bmVyYXRlRm9vKCkgewotICAgIEZvbyBmOwotICAgIGYueCA9IDEuMDsKLSAgICByZXR1cm4gZjsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgcmV0dXJuIGZsb2F0NChnZW5lcmF0ZUZvbygpWzBdLCBnZW5lcmF0ZUZvbygpWzFdLCBnZW5l
cmF0ZUZvbygpWzJdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsK
LSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2Rl
OiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAg
IGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFu
Z2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAi
Y3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAv
LyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51
bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9y
bWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0
ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBj
b25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBj
b25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
ID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVy
aXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0
LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTog
RmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFw
V3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRD
b250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwg
Zm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29u
ZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRU
ZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNv
bnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9
Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNv
bG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZl
VGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29s
b3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAg
IGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3Rl
bmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVu
Y29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVu
ZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNo
KCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1p
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1n
ZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNl
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVP
bkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48
L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShj
YW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
Z2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZh
cz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRl
eFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewot
ICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0K
LQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmbG9h
dChpbmRleCk7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFy
Z2V0IDAgewotICAgIEZvbyBmOwotICAgIHJldHVybiBmbG9hdDQoZlsxXSwgZlsxXSwgZlsxXSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
LCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3Qt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0g
YAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRl
KDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBG
b28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQg
aW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQg
aW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotc3RydWN0
IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLUJhciBvcGVyYXRvcltdKEJheiBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuIGIucDsKLX0KLQotQmF6IG9wZXJhdG9yW109KEJheiBiLCB1aW50IGlu
ZGV4LCBCYXIgYSkgewotICAgIGIucCA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJheiBiOwotICAg
IGJbMl1bM11bNF0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdWzRdLCBiWzJdWzNd
WzRdLCBiWzJdWzNdWzRdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2Up
IHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtj
b2RlOiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFn
ZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9Owot
ICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9p
bnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRy
aWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNl
OiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1d
OyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9
IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwg
Zm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJp
YnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAg
ICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBl
bGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFz
dGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElu
cHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6
ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZm
ZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7
Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIu
bWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5l
dyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
MV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2Rldmlj
ZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQu
Y29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1
dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAg
IGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8v
IHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0
IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNv
bHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFy
Q29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwot
ICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRo
U3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFu
ZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmlu
aXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2
aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVh
cmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0
ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZh
cz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjkgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQg
cG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3Np
dGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0
b3JbXShGb28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVy
YXRvcltdPShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAg
cmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0
b3JbXShCYXIgYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVy
YXRvcltdPShCYXIgYiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJl
dHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQo
YlsyXVszXSwgYlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3Qg
dmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhT
aGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3Bv
bG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0g
e2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVu
ZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRl
cyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRl
TWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9j
YXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6
IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lu
cHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsK
LQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRz
OiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVM
YXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9w
b2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRl
LCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9Owot
ICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2Fn
ZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVy
dGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQg
PSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRv
ciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4g
PSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBj
b25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAg
Y29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3
KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5j
b2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsK
LSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJl
VmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3Rv
cmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1l
bnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2Rl
ciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFsw
XSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRF
bmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1
ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAg
IHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
bHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2Nh
bnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52
YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBpbmRleCkg
ewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvcltdPShGb28gZiwgdWludCBpbmRl
eCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBC
YXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFy
KiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9h
dDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzJd
WzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXSwgYlsyXVszXSwgYlsyXVszXSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
LCBpc1dITFNMOiB0cnVlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9
IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0
ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3Qg
Rm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVh
ZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBC
YXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIgYiwgdWludCBpbmRleCkg
ewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShCYXIgYiwgdWludCBpbmRl
eCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBm
bG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBG
b28gZm9vOwotICAgIGZvby54ID0gMS4wOwotICAgIGJbMV0gPSBmb287Ci0gICAgZm9vID0gYlsx
XTsKLSAgICByZXR1cm4gZmxvYXQ0KGZvby54LCBmb28ueCwgZm9vLngsIDEuMCk7Ci19Ci1gOwot
Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFz
eW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRl
dmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVs
cy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4
cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1
ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMt
bGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJu
IGYueDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0g
eDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZv
byBvcGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9y
Lnc9KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0
cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3IucShCYXogYikgewotICAg
IHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvci5xPShCYXogYiwgQmFyIGEpIHsKLSAgICBi
LnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFk
ZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAg
IHJldHVybiBmbG9hdDQoYi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5
bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2
aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVl
fSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5
UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVs
ZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25z
dCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVy
aXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAg
Y29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNv
bG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0
ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlu
cHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29u
c3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVm
ZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHti
aW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFn
ZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRl
cHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlw
ZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJl
bmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2Uu
TUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVy
KHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVm
ZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5
QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAg
IGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dh
cENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBj
b25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNj
cmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRU
ZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNy
ZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5j
cmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAw
LCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50
OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIi
LCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9
IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQ
YXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVy
UGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3Zl
cnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAw
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1
ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1
Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9u
KGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rp
b24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFs
dWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFz
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAot
dmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDAp
KSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28g
ewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1
cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLngg
PSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQot
Rm9vIG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0
b3Iudz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFy
IGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIu
dy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25z
dCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJT
b3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZy
YWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVu
dFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlw
IjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxs
TW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xv
cldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAg
Ci0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxv
YXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0
dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0
ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRl
eFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0
YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVD
b3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJU
RVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9
IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3lu
YygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzdd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJn
cHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dh
cENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBz
d2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmll
dyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1h
bmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29u
c3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNo
bWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBu
dWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1d
OwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJl
bmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVn
aW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsK
LSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAg
ZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rl
dmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
c2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxz
Y3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShy
ZXZpc2lvbiAyNDg5NDIpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQg
cG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3Np
dGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0
b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvci55PShGb28g
ZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBC
YXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFy
KiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRT
aGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAg
ICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25z
dCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1
bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5j
cmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZSwgaXNXSExTTDogdHJ1ZX0pOwot
ICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50
OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNo
YWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJp
bWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRp
b25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0
IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3Qg
Y29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJs
ZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0
IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0g
e3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAg
PSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlu
cHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6
IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdy
b3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0
ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBy
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHBy
aW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0
ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5l
TGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQ
aXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVm
ZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0
ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9X
UklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9
IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
cik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25z
dCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFp
bkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qg
c3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRv
cik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVy
ZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVE
ZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRl
Q29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjog
MSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0
cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3Rv
cmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2ls
QXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29s
b3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVy
UGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rl
c2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhC
dWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIg
PSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQo
W2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZp
Y2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkg
ewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7
Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2aXNpb24gMjQ4
OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3RzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0cyA9IHt9Owog
CiB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+CiB7Ci0gICAg
Y29uc3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBpbnQgb3Bl
cmF0b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7CkBAIC0zMCwx
MCArMzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jCiAgICAg
ICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAgICAgfQotICAg
IGA7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMuc2V0
dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyArNTMsNyBAQCB3
aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNsVGVzdHMuc2V0
dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0gICAgY29uc3Qg
cHJvZ3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVjdCBCYXIgeyB9
CiAgICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03NSwxNCArNzIs
MTIgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAogICAgICAgICAg
ICAgYmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAgICAgICAgIH0K
LSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hsc2xUZXN0cy5y
ZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKKyAg
ICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGlu
dCB4OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxzbFRlc3RzLnJl
Y3Vyc2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFyLmMgPSA4Owog
ICAgICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0KLSAgICBgOwot
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmIiwgW10p
LCA4Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFzeW5jICgpID0+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUt
Z2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAotUEFTUyBzaW1w
bGVTZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24g
MjQ4OTQyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlwdD4KIGNvbnN0
IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBhc3luYyAoKSA9
PiB7Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4gewogICAgIGxl
dCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGludCB4Owog
ICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQgZm9vKCkKICAg
ICAgICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54ID0gNzgwNDsK
LSAgICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNzgwNCk7
Ci19OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsKLSAgICBsZXQg
cHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAg
ICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnk9
KEZvbyBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLnggPSB2YWx1
ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueSA9IDc4
MDQ7CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBgOwpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVj
dHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODk0MikK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51
bGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0KLVBBU1MgZmll
bGRTaG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1
cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJKHJldmlzaW9u
IDI0ODk0MikKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNj
ZXNzLW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQg
cmV0dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMuZmll
bGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAg
ICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5
OwotICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBmb28odWludCBp
KSB7Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJlYWQgRm9vKiBm
b28gPSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsK
LSAgICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKLSAgICAgICAg
fQotICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0gICAgICAgIGFz
c2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtl
VWludChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0
aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQo
MTAwMDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0
aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRydWUpOwotfTsK
LQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377537</attachid>
            <date>2019-08-28 19:35:12 -0700</date>
            <delta_ts>2019-08-28 19:54:36 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>934985</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDYgKzMzMSw3IEBAIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU2Vt
YW50aWNNYXRjaGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNo
ZWNrZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3Bw
CitNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTFR5cGVOYW1lci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TE1ldGFsQ29kZUdlbmVyYXRvci5jcHAKQEAgLTM0Nyw3ICszNDgsNiBAQCBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xTcGVjaWFsaXphCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xTdGFnZUluT3V0U2VtYW50aWMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xG
bG9hdExpdGVyYWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdl
ckxpdGVyYWxUeXBlLmNwcAotTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xTdGF0ZW1lbnQu
Y3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDIsMTIgKzMwMiw2
IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYKICAgICBtX291dC5w
cmludChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiB9CiAKLXZvaWQgQVNURHVtcGVyOjp2aXNpdChB
U1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBtX291dC5wcmludCgibnVsbCIp
OwotICAgIHZpc2l0KG51bGxMaXRlcmFsLnR5cGUoKSk7Ci19Ci0KIHZvaWQgQVNURHVtcGVyOjp2
aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBpZiAoYm9v
bGVhbkxpdGVyYWwudmFsdWUoKSkKQEAgLTMyOCwxMCArMzIyLDYgQEAgdm9pZCBBU1REdW1wZXI6
OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVAogewogfQogCi12b2lkIEFTVER1bXBlcjo6dmlzaXQo
QVNUOjpOdWxsTGl0ZXJhbFR5cGUmKQotewotfQotCiB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkKIHsK
ICAgICBtX291dC5wcmludChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwubGVmdCgpLCAiLiIsIGVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5yaWdodCgpKTsKQEAgLTQyNSw3ICs0MTUsNiBAQCB2b2lk
IEFTVER1bXBlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBlCiAgICAgYm9vbCBza2lwUGFyZW5z
ID0gaXM8QVNUOjpCb29sZWFuTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNU
OjpGbG9hdExpdGVyYWw+KGV4cHJlc3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6SW50ZWdlckxp
dGVyYWw+KGV4cHJlc3Npb24pCi0gICAgICAgIHx8IGlzPEFTVDo6TnVsbExpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVz
c2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6Q29tbWFFeHByZXNzaW9uPihleHByZXNzaW9uKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwxMiAr
NzEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRl
Z2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsVHlwZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5
cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Ok51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0
ZSYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjksOCArMzI5LDggQEAgc3RhdGljIE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYQogICAgICAgICAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBBY2NlcHRh
YmlsaXR5IHsKICAgICAgICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSB1bm5hbWVkVHlwZS0+
dW5pZnlOb2RlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSkgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihkb3duY2FzdDxBU1Q6OlVubmFt
ZWRUeXBlPih1bmlmeU5vZGUpKSA/IEFjY2VwdGFiaWxpdHk6OlllcyA6IEFjY2VwdGFiaWxpdHk6
Ok5vOwotICAgICAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYg
cmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpIC0+IEFjY2VwdGFiaWxpdHkgewotICAgICAgICAgICAg
ICAgIHJldHVybiBpczxBU1Q6Ok51bGxMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UtPnJlc29sdmFibGVUeXBlKCkpID8gQWNjZXB0YWJpbGl0eTo6TWF5YmUgOiBBY2NlcHRhYmls
aXR5OjpObzsKKyAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5j
ZT4mKSAtPiBBY2NlcHRhYmlsaXR5IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQWNjZXB0YWJp
bGl0eTo6Tm87CiAgICAgICAgICAgICB9KSk7CiAgICAgICAgIH07CiAgICAgICAgIGF1dG8gbGVm
dEFjY2VwdGFiaWxpdHkgPSBhY2NlcHRhYmlsaXR5KHR5cGVzWzBdLmdldCgpKTsKQEAgLTYwMCwx
MCArNjAwLDEyIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHJlY3Vy
c2VBbmRXcmFwQmFzZVR5cGUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKTsKICAgICBi
b29sIHJlY3Vyc2VBbmRSZXF1aXJlQm9vbFR5cGUoQVNUOjpFeHByZXNzaW9uJik7CiAgICAgdm9p
ZCBhc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKKyAgICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShB
U1Q6OkV4cHJlc3Npb24mLCBBU1Q6Ok5hbWVkVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwog
ICAgIHZvaWQgYXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWZQdHI8UmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2U+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKICAgICB2b2lkIGZvcndhcmRUeXBl
KEFTVDo6RXhwcmVzc2lvbiYsIFJlc29sdmluZ1R5cGUmLCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsK
IAogICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6VHlwZVJlZmVyZW5jZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CkBAIC02MjEsNyArNjIzLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0
KEFTVDo6TnVsbExpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHBy
ZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC02MzUsOCArNjM2LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0
KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRp
bmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlv
bmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRp
b24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZp
bmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpO
YW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYg
YmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY0OCwxMSArNjQ3LDExIEBAIHByaXZh
dGU6CiAgICAgICAgIHJldHVybiAqbV93cmFwcGVkRmxvYXRUeXBlOwogICAgIH0KIAotICAgIEFT
VDo6VW5uYW1lZFR5cGUmIGdlbmVyaWNQb2ludGVyVHlwZSgpCisgICAgQVNUOjpVbm5hbWVkVHlw
ZSYgd3JhcHBlZFVpbnRUeXBlKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9nZW5lcmljUG9pbnRl
clR5cGUpCi0gICAgICAgICAgICBtX2dlbmVyaWNQb2ludGVyVHlwZSA9IEFTVDo6UG9pbnRlclR5
cGU6OmNyZWF0ZSh7IH0sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIEFTVDo6VHlwZVJlZmVy
ZW5jZTo6d3JhcCh7IH0sIG1faW50cmluc2ljcy5mbG9hdFR5cGUoKSkpOwotICAgICAgICByZXR1
cm4gKm1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgICAgICBpZiAoIW1fd3JhcHBlZFVpbnRUeXBl
KQorICAgICAgICAgICAgbV93cmFwcGVkVWludFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6Ondy
YXAoeyB9LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSk7CisgICAgICAgIHJldHVybiAqbV93cmFw
cGVkVWludFR5cGU7CiAgICAgfQogCiAgICAgQVNUOjpVbm5hbWVkVHlwZSYgbm9ybWFsaXplZFR5
cGVGb3JGdW5jdGlvbktleShBU1Q6OlVubmFtZWRUeXBlJiB0eXBlKQpAQCAtNjYxLDE0ICs2NjAs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKHVuaWZ5Tm9kZSA9PSAmbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkgfHwgdW5pZnlOb2RlID09ICZtX2ludHJpbnNpY3MuaW50VHlwZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIHdyYXBwZWRGbG9hdFR5cGUoKTsKIAotICAgICAgICBpZiAoaXM8QVNUOjpS
ZWZlcmVuY2VUeXBlPih0eXBlKSkKLSAgICAgICAgICAgIHJldHVybiBnZW5lcmljUG9pbnRlclR5
cGUoKTsKLQogICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAKICAgICBSZWZQdHI8QVNUOjpU
eXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRGbG9hdFR5cGU7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVu
Y2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgc3Rk
Ojp1bmlxdWVfcHRyPFJlc29sdmluZ1R5cGU+PiBtX3R5cGVNYXA7CiAgICAgSGFzaFNldDxTdHJp
bmc+IG1fdmVydGV4RW50cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fZnJhZ21lbnRFbnRyeVBvaW50c1tBU1Q6Om5hbWVTcGFjZUNvdW50XTsKQEAg
LTY3OSw2ICs2NzUsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXksIFZlY3Rv
cjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4sIDE+LCBG
dW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7CiAgICAg
SGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiwgQW5k
T3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4gbV9hbmRP
dmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNwYWNlIHsg
QVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1BhcmFtZXRl
ciB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFByb2dyYW0mIHByb2dyYW0p
CkBAIC03MzMsNiArNzMwLDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tTaGFkZXJUeXBlKGNvbnN0
IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNQYXJhbWV0ZXIgPSB0cnVl
OworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVjbGFyYXRpb24pOworICAgIG1faXNQYXJh
bWV0ZXIgPSBmYWxzZTsKK30KKwogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9
IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lU3BhY2UoKTsKQEAgLTc5MCw2ICs3OTQsMTcgQEAgc3Rh
dGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZAogICAgIH0pKTsKIH0KIAorc3Rh
dGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSwgQVNU
OjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNp
dChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHJlc29sdmluZ1R5
cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5nVHlwZSwgbmFtZWRUeXBlKSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwgWyZd
KFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmluZ1R5cGUpIC0+IGJvb2wg
eworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFtZWRUeXBlLCByZXNvbHZpbmdUeXBl
LT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisKIHN0YXRpYyBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJlc29sdmluZ1R5cGUpCiB7CiAgICAg
cmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6
VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHsK
QEAgLTgxOCw5ICs4MzMsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIENoZWNrZXI6OnJl
c29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFi
bGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSgpKQogICAgICAgICAgICAgICAg
IHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAgICAgICAgICBpZiAocmVzb2x2YWJs
ZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNOdWxsTGl0ZXJhbFR5cGUoKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVyVHlwZSgpOwotCiAgICAgICAgICAg
ICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxlVHlwZSgp
KS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiArOTcwLDkgQEAgdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYQogICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3Io
IkRlY2xhcmVkIHZhcmlhYmxlIHR5cGUgZG9lcyBub3QgbWF0Y2ggaXRzIGluaXRpYWxpemVyJ3Mg
dHlwZS4iLCB2YXJpYWJsZURlY2xhcmF0aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKCFtX2lzUGFyYW1ldGVyICYmIGlz
PEFTVDo6UmVmZXJlbmNlVHlwZT4odmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCktPnVuaWZ5Tm9k
ZSgpKSkgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSByZWZlcmVu
Y2UgdHlwZSB2YXJpYWJsZSBpbiBpdHMgaW5pdGlhbGl6ZXIuIiwgdmFyaWFibGVEZWNsYXJhdGlv
bi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05Njgs
NiArOTgzLDExIEBAIHZvaWQgQ2hlY2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAg
ICBleHByZXNzaW9uLnNldFR5cGVBbm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
IH0KIAordm9pZCBDaGVja2VyOjphc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBl
eHByZXNzaW9uLCBBU1Q6Ok5hbWVkVHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5v
dGF0aW9uKQoreworICAgIGFzc2lnbkNvbmNyZXRlVHlwZShleHByZXNzaW9uLCBBU1Q6OlR5cGVS
ZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24oKSwgdHlwZSksIGFubm90YXRpb24pOwor
fQorCiB2b2lkIENoZWNrZXI6OmFzc2lnblR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9u
LCBSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+IHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LCBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCkp
CiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3R5cGVNYXAuYWRkKCZleHByZXNzaW9uLCBtYWtl
VW5pcXVlPFJlc29sdmluZ1R5cGU+KFdURk1vdmUocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpKSk7
CkBAIC0xMDI5LDcgKzEwNDksNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlm
eVdyaXRlCiAgICAgaWYgKCFyZXN1bHRJbmZvKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3J3
YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKKyAgICBmb3J3YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CiB9CiAKIHN0YXRpYyBBU1Q6
OlVubmFtZWRUeXBlKiBnZXRVbm5hbWVkVHlwZShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBl
KQpAQCAtMTE3MCwxNDQgKzExOTAsMTEzIEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNW
YWxpZFZlY3RvclByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCksICInIGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
IAotICAgIGlmICghbGVmdEFkZHJlc3NTcGFjZSAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbiAmJiAh
Z2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlByb3BlcnR5IGFjY2Vz
cyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGEgdGhyZWFkIGFuZGVyIG9yIGEgZ2V0dGVy
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQorICAgICAgICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9u
LmZpZWxkTmFtZSgpLmxlbmd0aCgpOworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7
CisgICAgICAgIGlmIChmaWVsZExlbmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGRvdEV4cHJlc3Npb24sIGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1f
aW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5
cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRW
ZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7
CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNz
aW9uLCBtX2ludHJpbnNpY3MudWludFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFz
ZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5u
ZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2ln
bkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBl
Rm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSB2YWx1
ZSBvZiBkb3QgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RydWN0dXJlLCBhcnJheSwgb3IgdmVjdG9y
LiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKK30KIAotICAgIGlmICh0aHJlYWRB
bmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9y
KCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVz
c2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldElu
Zm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRl
eEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0
aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRB
bmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBv
ZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1
cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBl
LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9y
KCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNl
dEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJl
c3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAg
fQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3Qg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21t
aXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7
CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUg
YmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFu
ZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBl
OwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxw
dHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0g
ICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUu
Y29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2
aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9
OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRl
ckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAg
c2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAg
YXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9u
TmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJB
cmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFz
ZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25j
YXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCks
IEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOwor
ICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25D
b25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlw
ZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVU
eXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAg
ICBhdXRvIGFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5pc1JpZ2h0VmFs
dWUoKSA/IEFTVDo6VHlwZUFubm90YXRpb24geyBBU1Q6OlJpZ2h0VmFsdWUoKSB9IDogQVNUOjpU
eXBlQW5ub3RhdGlvbiB7IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKSB9OworICAgICAgICBpZiAo
bmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGlu
ZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYWRkcmVzc1Nw
YWNlKTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAg
ICAgICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOwor
ICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhS
b3dzKCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5i
b29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYWRk
cmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2lu
dHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlw
ZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRleEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51
bVJvd3MpKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBlLiIs
IGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBzZXR0ZXJSZXR1cm5UeXBl
ID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgaWYgKHNldHRlckZ1bmN0
aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90
IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEgY29ycmVzcG9uZGluZyBnZXR0ZXIu
IiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIH0K
KyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lvbiBv
biB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0R2V0
dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVhZEFuZGVyRnVuY3Rpb24pOwotICAg
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJGdW5jdGlvbihzZXR0ZXJGdW5jdGlv
bik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdo
dFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAgICAgaWYgKGFuZGVyRnVuY3Rp
b24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6TGVmdFZhbHVlIHsgZG93bmNh
c3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmFkZHJlc3NTcGFj
ZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdHlw
ZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgfSBlbHNlIGlmICgh
YmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1ZSgpICYmIChzZXR0ZXJGdW5jdGlv
biB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6
OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29uY3JldGVUeXBlKHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBXVEZNb3ZlKHR5cGVBbm5vdGF0aW9u
KSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHBy
ZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4cHJlc3Npb24pOwotfQotCi12b2lk
IENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCi17
Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lvbi5p
bmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5mbykKLSAgICAgICAgcmV0dXJuOwot
ICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwgJmJhc2VJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2
YXJpYWJsZVJlZmVyZW5jZSkKQEAgLTEzNjIsMTEgKzEzNTEsNiBAQCB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmCiAgICAgYXNzaWduVHlwZShmbG9hdExpdGVyYWwsIGFk
b3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UoZmxvYXRMaXRlcmFsLnR5cGUoKSkp
KTsKIH0KIAotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJh
bCkKLXsKLSAgICBhc3NpZ25UeXBlKG51bGxMaXRlcmFsLCBhZG9wdFJlZigqbmV3IFJlc29sdmFi
bGVUeXBlUmVmZXJlbmNlKG51bGxMaXRlcmFsLnR5cGUoKSkpKTsKLX0KLQogdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBhc3Np
Z25Db25jcmV0ZVR5cGUoYm9vbGVhbkxpdGVyYWwsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChi
b29sZWFuTGl0ZXJhbC5jb2RlTG9jYXRpb24oKSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpKTsK
QEAgLTE0ODgsOCArMTQ3Miw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0
ZW1lbnQKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1p
dCgqdmFsdWVUeXBlLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnR5cGUoKSkpOwogICAgICAgICB9
LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgLT4gYm9vbCB7CiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwg
ZmxvYXRMaXRlcmFsLnR5cGUoKSkpOwotICAgICAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYg
bnVsbExpdGVyYWwpIC0+IGJvb2wgewotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJv
b2w+KG1hdGNoQW5kQ29tbWl0KCp2YWx1ZVR5cGUsIG51bGxMaXRlcmFsLnR5cGUoKSkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYpIC0+IGJvb2wgewogICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXMoKnZhbHVlVHlwZSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbCkgLT4gYm9vbCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHJl
dmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDM0ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRf
RElTQUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRv
IGxpdmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBI
aWdoWm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZp
c2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNz
aW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3Zl
cnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0j
ZW5kaWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmlu
ZEhpZ2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNF
RF9QQVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6
OnZpc2l0KHByb2dyYW0pOwotI2VuZGlmCiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW5mZXJUeXBlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xJbmZlclR5cGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDEwICsxMjcsNiBAQCBSZWZQ
dHI8QVNUOjpVbm5hbWVkVHlwZT4gbWF0Y2hBbmRDb21taXQoCiAgICAgICAgIHJlc29sdmFibGVU
eXBlMi5yZXNvbHZlKGRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJl
c29sdmFibGVUeXBlMikucHJlZmVycmVkVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICZkb3duY2Fz
dDxBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTEpLnByZWZl
cnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNv
bHZhYmxlVHlwZTEpICYmIGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTIp
KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8gbWF0Y2ggbnVsbHB0ciBhbmQgbnVsbHB0
ciBmYWlscy4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQogICAgIHJldHVybiBudWxs
cHRyOwogfQogCkBAIC0xNTIsMTAgKzE0OCw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBj
b21taXQoQVNUOjpSZXMKICAgICAgICAgcmVzb2x2YWJsZVR5cGUucmVzb2x2ZSh1bnNpZ25lZElu
dGVnZXJMaXRlcmFsVHlwZS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1cm4gJnVuc2ln
bmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlz
PEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZSkpIHsKLSAgICAgICAgLy8gRklY
TUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRyIGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmlu
c2ljcy5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEludHJpbnNpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fYm9vbFR5cGU7CiAgICAgfQogCisgICAgQVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGJvb2xWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBz
aXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNp
emUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yQm9vbFtzaXpl
IC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRUeXBl
KCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3VpbnRUeXBlKTsKQEAgLTgyLDYgKzg4
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvclVpbnRbMl07CiAgICAgfQog
CisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRWZWN0b3JUeXBlRm9yU2l6ZSh1
bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9
PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9y
VWludFtzaXplIC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludDJUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3ZlY3RvckludFswXSk7
CkBAIC05NCw2ICsxMDYsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9ySW50
WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBpbnRWZWN0b3JU
eXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1
cm4gKm1fdmVjdG9ySW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgc2FtcGxlclR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
c2FtcGxlclR5cGUpOwpAQCAtMTI0LDYgKzE0MiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biAqbV92ZWN0b3JGbG9hdFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09
IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwog
ICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBtYXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1Qg
aWYgdGhleSBhcmUgdW51c2VkLgogICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiog
ZGR4KCkgY29uc3QKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYg
QEAKIAogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hM
U0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlw
ZS5oIgogI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMVHlwZVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgpAQCAtNzMsMTEgKzcyLDYgQEAgcHJp
dmF0ZToKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbik7CiAgICAgICAgIEFT
U0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24tPmNhblJlcHJlc2VudFVuc2lnbmVkSW50ZWdlcigp
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnZhbHVlKCkpKTsKICAgICB9Ci0KLSAgICB2b2lk
IHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJiBudWxsTGl0ZXJhbFR5cGUpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICBBU1NFUlQobnVsbExpdGVyYWxUeXBlLm1heWJlUmVzb2x2ZWRUeXBlKCkp
OwotICAgIH0KIH07CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUGFyc2VyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDMsOCArNDAzLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlQ29uc3RhbnRF
eHByZXNzaW9uKCkgLQogICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKHZhbHVlLmVy
cm9yKCkpOwogICAgICAgICByZXR1cm4ge3sgQVNUOjpGbG9hdExpdGVyYWwoeyAqdHlwZSB9LCAq
dmFsdWUpIH19OwogICAgIH0KLSAgICBjYXNlIFRva2VuOjpUeXBlOjpOdWxsOgotICAgICAgICBy
ZXR1cm4geyBBU1Q6Ok51bGxMaXRlcmFsKFdURk1vdmUoKnR5cGUpKSB9OwogICAgIGNhc2UgVG9r
ZW46OlR5cGU6OlRydWU6CiAgICAgICAgIHJldHVybiB7IEFTVDo6Qm9vbGVhbkxpdGVyYWwoV1RG
TW92ZSgqdHlwZSksIHRydWUpIH07CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6RmFsc2U6CkBAIC04
NzUsNyArODczLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlRW51bWVyYXRpb25NZW1iZXIoaW50Ngog
ICAgICAgICB9LCBbJl0oQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVn
ZXJMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKTsKICAgICAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRlcmFsJikgewotICAgICAgICB9
LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6Qm9vbGVhbkxp
dGVyYWwmKSB7CiAgICAgICAgIH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYp
IHsKICAgICAgICAgfSkpOwpAQCAtMjA2Myw3ICsyMDYwLDcgQEAgYXV0byBQYXJzZXI6OnBhcnNl
VGVybSgpIC0+IEV4cGVjdGVkPFVuaQogICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFT
VDo6RmxvYXRMaXRlcmFsPigqdHlwZSwgKnZhbHVlKSB9OwogICAgIH0KICAgICBjYXNlIFRva2Vu
OjpUeXBlOjpOdWxsOgotICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFTVDo6TnVsbExp
dGVyYWw+KCp0eXBlKSB9OworICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIidu
dWxsJyBpcyBhIHJlc2VydmVkIGtleXdvcmQuIiwgdHlwZS0+Y29kZUxvY2F0aW9uKSk7CiAgICAg
Y2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgbWFrZVVuaXF1ZVJlZjxB
U1Q6OkJvb2xlYW5MaXRlcmFsPigqdHlwZSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29s
IGR1bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBBU1RBZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNU
QXRFbmQgPSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1
cmVzID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJl
cyA9IHRydWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFT
VEJlZm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8
IGFsd2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNl
VGltZXMgPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVwYXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNM
IHsKIAotY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29tcGlsZVRpbWVzID0gZmFsc2U7Citjb25z
dGV4cHIgYm9vbCBkdW1wTWV0YWxDb21waWxlVGltZXMgPSB0cnVlOwogCiBVbmlxdWVSZWY8U2hh
ZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU3RyaW5nJiB3aGxzbFNvdXJjZSk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9ncmFtLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NzMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNM
UHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CituYW1lc3BhY2UgV0hMU0wgeworCitib29sIFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0
eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAgaWYgKG1fdmVjdG9yUHJvcGVydGllcy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
InoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV92
ZWN0b3JQcm9wZXJ0aWVzLmNvbnRhaW5zKHByb3BlcnR5KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQ
VSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUs
OCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVDb250ZXh0LmFkZChtX25hdGl2ZVR5
cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAgICBib29sIGlzVmFsaWRWZWN0b3JQ
cm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0KCkgeyByZXR1
cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3MmIGludHJpbnNpY3MoKSB7IHJldHVy
biBtX2ludHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkBAIC0xMDYsNiArMTA4LDcgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPj4gbV9mdW5jdGlv
bkRlZmluaXRpb25zOwogICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uPj4gbV9uYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uczsKICAgICBWZWN0b3I8VW5p
cXVlUmVmPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPj4gbV9uYXRpdmVUeXBlRGVjbGFyYXRp
b25zOworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlY3RvclByb3BlcnRpZXM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBy
b3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVy
dHlSZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04Mjgs
NiArODMwLDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsK
ICAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLwor
Cit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFj
ZSBXSExTTAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNo
YWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0
YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZp
bml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2
aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUK
LSAgICB7Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmlu
aXRpb24+KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpG
dW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZp
c2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRG
dW5jdGlvbihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rp
b24oZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0
aW9uKGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlz
aXQoZXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5p
dGlvbio+IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hh
YmxlRnVuY3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02ODksMTE3ICs2
ODksMTE3IEBAIGZsb2F0IHRyYW5zcG9zZShmbG9hdCB4KSB7CiBmbG9hdDJ4MiB0cmFuc3Bvc2Uo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRyYW5zcG9zZShmbG9h
dDN4MiB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4
WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cmFuc3Bvc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVsw
XTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwotICAgIHJlc3VsdFsxXVszXSA9IHhb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiB0cmFuc3Bvc2UoZmxvYXQy
eDMgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzFd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsy
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdHJhbnNwb3NlKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsy
XVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJhbnNwb3NlKGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsx
XTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSB4
WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CisgICAgcmVzdWx0WzNdWzJdID0g
eFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0
Mng0IHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhb
MV1bM107CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4
WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgdHJhbnNwb3NlKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1b
MF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9
IHhbMV1bM107Ci0gICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHRbMF1bM10g
PSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzNd
ID0geFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJhbnNwb3NlKGZs
b2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFsw
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
eFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9
IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
PSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0WzNdWzBd
ID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICByZXN1bHRbM11b
MV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFd
WzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwogICAgIHJlc3VsdFsz
XVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAgICByZXN1bHRb
MV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0
WzNdWzNdID0geFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTE2NSwxMTcgKzEx
NjUsMTE3IEBAIGZsb2F0NCBzYXR1cmF0ZShmbG9hdDQgeCkgewogZmxvYXQyeDIgc2F0dXJhdGUo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2F0dXJhdGUoZmxvYXQyeDMgeCkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgc2F0dXJhdGUoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBz
YXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2F0dXJhdGUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1
cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
YXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgc2F0
dXJhdGUoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgc2F0dXJhdGUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBz
YXR1cmF0ZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgewog
ICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1
cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgc2F0dXJhdGUo
ZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0
ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1
cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgc2F0dXJhdGUoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0
ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
YXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0g
PSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBzYXR1cmF0ZSh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTMwOSwxMTcgKzEzMDksMTE3IEBAIGZs
b2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0MngyIG1hZChmbG9h
dDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBt
YWQoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1hZChmbG9hdDN4MiB4LCBmbG9hdDN4
MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0s
IHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwg
ZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
YWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQo
eFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5
WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1h
ZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1h
ZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFsz
XVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYWQoZmxvYXQ0eDMgeCwgZmxv
YXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFk
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBt
YWQoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTE0MjksMTAxNCArMTQyOSw3NDEgQEAgZmxvYXQ0eDQgbWFkKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsbwogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogaXApIHsKICAgICB1
aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0gICAgICAgICppcCA9
IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOwogICAgIHJl
dHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgsIHRocmVhZCBmbG9h
dDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0g
PSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5
KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9
IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRo
cmVhZCBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
Ml0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM10gPSBt
b2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10g
PSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5KSB7
CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1b
MF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsx
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbW9k
ZihmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1b
MV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZs
b2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbW9kZihm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9k
Zih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFsz
XVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFd
WzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBt
b2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZs
b2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0g
PSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10s
ICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwor
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYo
eFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFsz
XVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZs
b2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMl0g
PSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwor
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgqeSlbM11bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2Rm
KHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIGRldmljZSBmbG9hdCog
aXApIHsKICAgICB1aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0g
ICAgICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1
bHQpOwogICAgIHJldHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgs
IGRldmljZSBmbG9hdDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHkpIHsK
ICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBt
b2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhb
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZm
ZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7Cisg
ICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZs
b2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbM10gPSBtb2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM10gPSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHkp
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZm
ZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgZGV2aWNlIGZs
b2F0MngzKiB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVsw
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQy
eDQqIHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIp
OworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtb2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4
NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVsz
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsx
XVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsw
XSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFsz
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgz
KiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsy
XVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsy
XSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlb
MV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0g
bW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gYnVmZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgq
eSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0KiBpcCkgewogICAgIHVpbnQgcmVzdWx0ID0gdWludCh4KTsKLSAgICBp
ZiAoaXAgIT0gbnVsbCkKLSAgICAgICAgKmlwID0geCAtIGZsb2F0KHJlc3VsdCk7CisgICAgKmlw
ID0geCAtIGZsb2F0KHJlc3VsdCk7CiAgICAgcmV0dXJuIGZsb2F0KHJlc3VsdCk7CiB9CiBmbG9h
dDIgbW9kZihmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5KSB7CiAgICAgZmxvYXQyIHJl
c3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlb
MV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtb2RmKGZsb2F0MyB4
LCB0aHJlYWRncm91cCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCog
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XSA9IG1vZGYoeFswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXSA9IG1v
ZGYoeFsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXSA9IG1vZGYoeFsy
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXSA9IG1vZGYoeFszXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtb2Rm
KGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0MngzKiB5KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSkgewog
ICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBt
b2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
bW9kZihmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4
WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbW9kZihmbG9h
dDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgzKiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1
ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0
KiB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgKCp5KVszXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
M11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bMl0gPSBtb2Rm
KHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10g
PSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bM10gPSBtb2RmKHhbM11bM10sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBidWZmZXI7
CisgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0z
MzQwLDExNyArMzA2NywxMTcgQEAgZmxvYXQ0IGV4cDIoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGV4
cDIoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGV4cDIoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgZXhwMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGV4cDIoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cDIo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGV4cDIoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4
cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgZXhwMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhw
Mih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGV4cDIoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cDIo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gZXhwMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBleHAyKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
Mih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZXhwMihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAy
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIo
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGV4cDIoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGV4cDIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4
cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwMih4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAyKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNd
WzJdID0gZXhwMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
Mih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC00NDcxLDExNyArNDE5OCwxMTcgQEAgZmxvYXQ0IGF0YW4oZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIGF0YW4oZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGF0YW4oZmxvYXQyeDMgeCkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYXRhbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGF0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4oZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbihmbG9hdDN4MyB4KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGF0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGF0YW4oZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBh
dGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBhdGFuKGZsb2F0
NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0
YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFu
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGF0YW4oZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
dGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4
WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGF0
YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBhdGFuKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00NzEyLDExNyArNDQzOSwxMTcgQEAg
ZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgpIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nKGZsb2F0
MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2coeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxvZyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2co
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nKGZsb2F0M3gyIHgpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
bG9nKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2coZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBsb2coeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxvZyhmbG9h
dDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZyh4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01MzA1LDExNyArNTAzMiwxMTcgQEAgZmxv
YXQ0IHNpbihmbG9hdDQgeCkgewogZmxvYXQyeDIgc2luKGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2luKGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIHNpbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lu
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNp
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2lu
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBzaW4oZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
c2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBz
aW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNpbihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01OTgwLDQ1NDAgKzU3MDcsMjkwMiBAQCBmbG9h
dDQgb3BlcmF0b3IueXl6eChmbG9hdDQgdikgewogCiAvKiBGdW5jdGlvbnMgbmFtZWQgc2luY29z
ICovCiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIHksIHRocmVhZCBmbG9hdCog
eikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOworICAgICp5ID0gc2luKHgpOworICAgICp6
ID0gY29zKHgpOwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRo
cmVhZCBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZCBmbG9hdDQqIHksIHRocmVhZCBm
bG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9h
dDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJl
YWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMq
IHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJl
YWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4Myog
eSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFk
IGZsb2F0MiogeSwgZGV2aWNlIGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgZGV2
aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0
NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4
MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRldmlj
ZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCog
eSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxv
YXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRo
cmVhZCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxv
YXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhy
ZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHksIGRl
dmljZSBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWRn
cm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICp5ID0gc2luKHgp
OwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgpOwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMg
eCwgdGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwg
dGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5
LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBm
bG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVh
ZCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhy
ZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4Myogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVh
ZCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3Mo
eCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9h
dDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhy
ZWFkIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0
M3g0KiB5LCB0aHJlYWQgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9h
dDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJl
YWQgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZCBmbG9hdDR4NCogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQy
KiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCBkZXZpY2UgZmxv
YXQzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5LCBk
ZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0K
IHZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0
MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCBkZXZp
Y2UgZmxvYXQyeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4Miog
eSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZs
b2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAg
ICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4Miog
eSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxv
YXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgZGV2aWNlIGZs
b2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZs
b2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZp
Y2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2Ug
ZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0
Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0
M3gzKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0
IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxv
YXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4
LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0
NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgp
OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSwgdGhyZWFk
IGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRo
cmVhZCBmbG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4Miog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhy
ZWFkIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSwgdGhyZWFk
IGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZCBm
bG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11b
M10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRn
cm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0
MyogeSwgZGV2aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0Mngy
KiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxv
YXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJl
c3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQz
eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwg
ZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5
LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQg
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwg
ZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9
IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9h
dDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gz
KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgs
IHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdy
b3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAg
ZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9CiAKIApAQCAtMTA4NTEs
MTE3ICs4OTQwLDExNyBAQCBmbG9hdDQgc21vb3Roc3RlcChmbG9hdDQgeCwgZmxvYXQ0IHksIGZs
CiBmbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHop
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0
ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Ro
c3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzbW9v
dGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBzbW9vdGhzdGVwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHop
IHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Ro
c3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9v
dGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
c21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IHNtb290aHN0ZXAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxv
YXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9v
dGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
c21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzbW9vdGhzdGVwKGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwg
elsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNtb290aHN0ZXAoZmxv
YXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBzbW9vdGhzdGVwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3Rl
cCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhz
dGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNtb290
aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21v
b3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
bW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNtb290aHN0ZXAo
ZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVw
KHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0
ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21vb3Ro
c3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzbW9v
dGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNt
b290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0
NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNt
b290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1b
Ml0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVsz
XVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5
WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNd
WzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTExMTgs
MTE3ICs5MjA3LDExNyBAQCBmbG9hdDQgZXhwKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAoZmxv
YXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBleHAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4
cCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZXhwKGZsb2F0Mng0
IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZXhwKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBleHAoZmxvYXQz
eDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBleHAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgyIGV4cChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4
cCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZXhwKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBleHAoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZXhwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBl
eHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7
CiAgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bM10gPSBleHAoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyMTA3LDIz
NCArMTAxOTYsMjM0IEBAIGJvb2wgYWxsKGZsb2F0NCB4KSB7CiBib29sIGFsbChmbG9hdDJ4MiB4
KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0MngzIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYWxsKGZsb2F0Mng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDN4MiB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBi
b29sIGFsbChmbG9hdDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYWxsKGZsb2F0NHgyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbGwoZmxvYXQ0eDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wy
eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBh
bGwoYm9vbDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sMng0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGJvb2wgYWxsKGJvb2wzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDN4MyB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sM3g0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2w0eDIgeCkgewog
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHg0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
M107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyODA3LDExNyArMTA4OTYsMTE3IEBAIGZsb2F0NCBkZHhf
ZmluZShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR4X2ZpbmUoZmxvYXQyeDIgeCkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4X2ZpbmUoZmxv
YXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZGR4X2ZpbmUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhf
ZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2ZpbmUoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2ZpbmUo
ZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDIgZGR4X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmlu
ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4X2ZpbmUoZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHhfZmlu
ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhf
ZmluZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2ZpbmUo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHhf
ZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHhfZmluZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTQxNjAsMTE3ICsxMjI0OSwxMTcgQEAgZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByc3FydChmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByc3FydChmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyByc3FydChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByc3FydChmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJz
cXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiByc3FydChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByc3FydChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJz
cXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByc3Fy
dChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJz
cXJ0KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHJzcXJ0KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHJzcXJ0KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDcz
OSwxMTcgKzEyODI4LDExNyBAQCBmbG9hdDQgc3FydChmbG9hdDQgeCkgewogZmxvYXQyeDIgc3Fy
dChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgc3FydChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBzcXJ0KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBzcXJ0KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzcXJ0KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNxcnQoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0
NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzcXJ0KGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
cXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc3Fy
dCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNxcnQoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTE0ODgwLDExNyArMTI5NjksMTE3IEBAIGZsb2F0NCBhY29zKGZsb2F0
NCB4KSB7CiBmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsK
ICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFj
b3MoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFjb3MoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhY29zKGZsb2F0M3gy
IHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhY29zKGZs
b2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
YWNvcyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYWNvcyhmbG9h
dDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3Mo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
Y29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGFjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBhY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGFjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3Mo
eFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBh
Y29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTUzOTMsMTE3ICsxMzQ4MiwxMTcg
QEAgZmxvYXQ0IHRhbmgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbmgoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IHRhbmgoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
dGFuaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdGFuaChmbG9h
dDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHRhbmgoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdGFu
aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5o
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IHRhbmgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1b
MF0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRh
bmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFu
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRhbmgoZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0
YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0YW5oKGZsb2F0NHg0IHgpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0YW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNd
WzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
aCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9
IHRhbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTU2ODUsMTE3ICsxMzc3NCwxMTcgQEAgZmxvYXQ0IGNvcyhmbG9hdDQgeCkg
ewogZmxvYXQyeDIgY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY29zKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGNvcyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNv
cyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29z
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBj
b3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGNvcyhmbG9hdDN4
MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGNvcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgY29zKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGNvcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3Mo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGNvcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29z
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CkBAIC0xNjI1OSwxMTcgKzE0MzQ4LDExNyBAQCBmbG9hdDQgbG9nMihmbG9hdDQgeCkg
ewogZmxvYXQyeDIgbG9nMihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMihmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMihmbG9hdDN4MiB4KSB7
CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsb2cyKGZsb2F0M3gzIHgpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9n
Mih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMihmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzIo
eFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxvZzIoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBsb2cyKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
Mih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
bG9nMihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBs
b2cyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsK
ICAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxv
ZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxvZzIoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2NDE3LDExNyArMTQ1MDYsMTE3IEBAIGZs
b2F0NCBsZGV4cChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGxkZXhwKGZsb2F0Mngy
IHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGxkZXhwKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxkZXhwKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRl
eHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxkZXhwKGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRl
eHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAo
eFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRl
eHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAo
eFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRl
eHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAo
eFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
bGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVsz
XSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxkZXhwKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRl
eHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwg
eVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxkZXhw
KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsy
XSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwg
eVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFsz
XVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
bGRleHAoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
QEAgLTE2NzgwLDExNyArMTQ4NjksMTE3IEBAIGZsb2F0NCBhYnMoZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIGFicyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGFicyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
YnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYWJzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBh
YnMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGFicyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBhYnMoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGFicyhmbG9hdDN4NCB4KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJz
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhYnMo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWJz
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBhYnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBh
YnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFi
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJz
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhYnMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGFi
cyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBh
YnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFi
cyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYWJz
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGFicyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMTY5NTYsMTE3ICsxNTA0NSwxMTcgQEAgZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CiBmbG9h
dDJ4MiByb3VuZChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByb3VuZChmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByb3VuZChmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJv
dW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MiByb3VuZChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJv
dW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyByb3VuZChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJv
dW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByb3VuZChmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJv
dW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5k
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IHJvdW5kKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByb3Vu
ZChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5k
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJv
dW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByb3VuZChmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJv
dW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5k
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByb3VuZChmbG9hdDR4
NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJvdW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5k
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IHJv
dW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhb
Ml1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJvdW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHJvdW5kKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzIxMCwyMzQgKzE1
Mjk5LDIzNCBAQCBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdCB5KSB7CiBmbG9hdDJ4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHgg
KiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsy
XVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwogICAg
IHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1
bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1b
MV0gPSB4WzJdWzFdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZs
b2F0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFd
ID0geCAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9h
dDJ4NCB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJl
c3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5
OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhb
Ml1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFsw
XVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10g
KiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9
IHhbM11bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQg
eCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICByZXN1
bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsK
ICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICog
eVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0
WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7Cisg
ICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHgg
KiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAg
IHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1bHRbMV1bMF0g
PSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICBy
ZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzBdWzFd
ID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAq
IHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJd
WzNdID0geCAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdCB5KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0g
KiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3Vs
dFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5Owog
ICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV0gKiB5OwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJl
c3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5
OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwogICAgIHJlc3VsdFsyXVsyXSA9IHhb
Ml1bMl0gKiB5OwotICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3VsdFsz
XVsyXSA9IHhbM11bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0g
PSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSB4ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSB4ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZs
b2F0NHgyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAg
cmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
eFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsy
XSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNd
ID0geFsxXVszXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG11bChmbG9h
dCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHgg
KiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsw
XVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAg
IHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9
IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICog
eTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4
WzJdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJd
ICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICByZXN1
bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsK
KyAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJd
WzNdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0IHgsIGZs
b2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CiAgICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzBdID0geCAqIHlb
M11bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CiAgICAgcmVz
dWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAq
IHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAg
cmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzNdID0geCAqIHlbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9h
dCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0g
KiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9
IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3Vs
dFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owot
ICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1b
M10gKiB5OwogICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsx
XSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwotICAgIHJl
c3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwogICAgIHJlc3VsdFsz
XVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0g
KiB5OwogICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9
IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJlc3Vs
dFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5Owog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzQ3Miw5ICsxNTU2MSw5IEBAIGZsb2F0MiBtdWwo
ZmxvYXQyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc0ODIsOSArMTU1NzEsOSBAQCBmbG9hdDIg
bXVsKGZsb2F0MngyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NDkyLDk1ICsxNTU4MSw5NSBAQCBm
bG9hdDMgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsx
XSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsy
XSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzIHkpIHsK
ICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9
IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5
WzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtdWwoZmxvYXQyIHgsIGZsb2F0Mng0IHkp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICBy
ZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl0gPSAw
OwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFsz
XSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICog
eVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyIG11bChmbG9hdDJ4NCB4LCBm
bG9hdDQgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICBy
ZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0g
eFswXVszXSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJl
c3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlb
M107CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07
CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsK
KyAgICByZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MiBtdWwoZmxvYXQzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVsw
XSAqIHlbMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAq
IHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzFdICogeVsxXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQzeDMg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsx
XVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1
bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NTg4
LDE1ICsxNTY3NywxNSBAQCBmbG9hdDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
WzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsK
KyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0g
KiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlb
MF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4
WzJdWzJdICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc2MDQsMTMxICsxNTY5
MywxMzEgQEAgZmxvYXQ0IG11bChmbG9hdDMgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKICAgICByZXN1bHRb
Ml0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0g
Kz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlb
Ml1bMl07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsy
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDN4NCB4LCBmbG9hdDQg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlbM107CiAg
ICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAg
cmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICog
eVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFd
OworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsx
XVsyXSAqIHlbMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzNdICogeVszXTsKKyAgICByZXN1bHRbMl0gKz0geFszXVsyXSAqIHlbM107
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5
WzNdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdICs9IHhbM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDQg
bXVsKGZsb2F0NHgyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4
WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CiAgICAgcmVz
dWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsK
KyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MyBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhb
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKKyAgICByZXN1
bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzFdWzNd
OwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDQgbXVsKGZsb2F0NHgzIHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsx
XVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJd
ICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKICAg
ICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbM10gKz0geFszXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5
WzJdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0g
eFsxXVszXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl1bM10gKiB5WzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAg
ZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsK
KyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0g
Kz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSAr
PSB4WzNdICogeVsxXVszXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsx
XTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhb
M10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICByZXN1
bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
M10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzJdWzNdOwor
ICAgIHJlc3VsdFszXSArPSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XSArPSB4WzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3MzYsMjMg
KzE1ODI1LDIzIEBAIGZsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9h
dDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAg
IHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAq
IHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9
IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVsz
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhb
M11bMV0gKiB5WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1b
MF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwog
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJlc3VsdFsz
XSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSAr
PSB4WzNdWzFdICogeVsxXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07CisgICAg
cmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdWzNdICog
eVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXVszXSAqIHlbMl07CiAgICAgcmVzdWx0WzNdICs9
IHhbM11bM10gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzc2MCwxNSArMTU4
NDksMTUgQEAgZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3Nzc2LDEwNjMgKzE1ODY1LDEwNjMgQEAg
ZmxvYXQyeDMgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0g
PSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5
WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAw
OwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsx
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDIgeSkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4NCB5KSB7CiAg
ICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVsz
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0g
PSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsz
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAw
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHg0IHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbM11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsz
XVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9
IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0g
Kz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNd
WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxv
YXQyeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwog
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG11bChmbG9hdDN4MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4
WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFd
OwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQz
eDIgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
PSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRb
M11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
MV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsx
XVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1
bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1b
MV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0g
MDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBd
WzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzFdID0g
MDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsy
XVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0g
KiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDMg
eCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1b
MF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVsw
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10g
PSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
MV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0g
KiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJd
WzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Cisg
ICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFsz
XVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAw
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9
IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDMgeSkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVsw
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsz
XVsxXSAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
M11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0
eDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICog
eVszXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
MV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBd
ID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBd
ICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1b
M107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1
bHRbMl1bM10gKz0geFsyXVszXSAqIHlbM11bM107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0
eDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0
WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSAw
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsK
LSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVsw
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1b
MV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFd
WzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
MV1bMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJd
WzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBd
WzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJd
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsy
XVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBd
ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzNdICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVs
KGZsb2F0NHgzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRb
MF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0g
KiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
MDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
c3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
MV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzNdID0gMDsK
LSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNd
ICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsy
XVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVszXSArPSB4WzJdWzNd
ICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHg0
IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVsw
XSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11b
MF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBd
WzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
M11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbM11b
M10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9
IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
M11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlb
M11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbM11bMl0gKz0geFszXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9
IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
LSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4
WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAg
cmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
MV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAq
IHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10gKz0geFsy
XVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVszXSAqIHlbM11bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4
WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzJdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1b
M10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICog
eVsyXVszXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsxXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTkx
MjgsMTE3ICsxNzIxNywxMTcgQEAgZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IHJhZGlhbnMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJhZGlhbnMoZmxvYXQyeDMg
eCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcmFkaWFucyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5z
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5z
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFkaWFu
cyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByYWRpYW5zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlh
bnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlh
bnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJhZGlh
bnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlh
bnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRp
YW5zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRp
YW5zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRp
YW5zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRp
YW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJhZGlhbnMoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwogICAg
IHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmFk
aWFucyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByYWRpYW5zKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTI5OSwxMTcgKzE3Mzg4LDExNyBAQCBmbG9hdDQgY2Vp
bChmbG9hdDQgeCkgewogZmxvYXQyeDIgY2VpbChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2Vp
bCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY2VpbChmbG9hdDJ4
MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBjZWlsKGZsb2F0Mng0IHgpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBj
ZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgY2VpbChm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjZWlsKGZsb2F0M3gzIHgp
IHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWls
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
Y2VpbChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBj
ZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IGNlaWwoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGNl
aWwoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2Vp
bCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBjZWlsKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwo
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgY2VpbChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNl
aWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2Vp
bCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IGNlaWwoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5NTI0LDExNyArMTc2
MTMsMTE3IEBAIGZsb2F0NCBhc2luKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhc2luKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBhc2luKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFzaW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFz
aW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhc2luKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNp
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGFzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
YXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGFzaW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBh
c2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBhc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNp
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYXNpbihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGFzaW4oZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhc2luKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhc2luKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
YXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFzaW4o
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTk5OTEsMTE3ICsxODA4MCwxMTcgQEAgZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKIGZsb2F0MngyIHBvdyhmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1b
MV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBwb3coZmxvYXQy
eDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10p
OworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHBvdyhmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBwb3coZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBv
dyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHBvdyhmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBv
dyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBw
b3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
cG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10s
IHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsx
XSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1b
M10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBwb3coZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcG93KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHBvdyhmbG9hdDR4NCB4LCBmbG9h
dDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHBv
dyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBw
b3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA0NTQs
MTE3ICsxODU0MywxMTcgQEAgZmxvYXQ0IHRhbihmbG9hdDQgeCkgewogZmxvYXQyeDIgdGFuKGZs
b2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0
YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHRhbihmbG9hdDJ4
NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IHRhbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdGFuKGZsb2F0
M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRhbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdGFuKGZsb2F0M3g0IHgpIHsKICAgICBmbG9h
dDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRh
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFu
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRh
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgzIHRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
dGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0
YW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRh
bih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdGFuKGZsb2F0NHg0
IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IHRhbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OwogICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRh
bih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gdGFuKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yMDU5Nywx
MTcgKzE4Njg2LDExNyBAQCBmbG9hdDQgZm1hKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHop
CiBmbG9hdDJ4MiBmbWEoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewogICAg
IGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxv
YXQyeDMgeikgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0
IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZt
YSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0s
IHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbWEo
ZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewogICAgIGZsb2F0M3gyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
YSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZm1hKGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQz
eDQgeikgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBd
WzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZtYShmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9h
dDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1h
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
Zm1hKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1h
KHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhb
Ml1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBmbWEoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBm
bWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1hKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJd
WzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBmbWEoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNzE3LDU5ICsxODgwNiw1OSBAQCBmbG9hdCBkZXRl
cm1pbmFudChmbG9hdCB4KSB7CiAgICAgcmV0dXJuIHg7CiB9CiBmbG9hdCBkZXRlcm1pbmFudChm
bG9hdDJ4MiB4KSB7Ci0gICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFswXVsxXSAqIHhb
MV1bMF07CisgICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFsxXVswXSAqIHhbMF1bMV07
CiB9CiBmbG9hdCBkZXRlcm1pbmFudChmbG9hdDN4MyB4KSB7CiAgICAgcmV0dXJuIHhbMF1bMF0g
KiB4WzFdWzFdICogeFsyXVsyXSArCi0gICAgICAgICAgIHhbMF1bMV0gKiB4WzFdWzJdICogeFsy
XVswXSArCi0gICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzBdICogeFsyXVsxXSAtCi0gICAgICAg
ICAgIHhbMl1bMF0gKiB4WzFdWzFdICogeFswXVsyXSAtCi0gICAgICAgICAgIHhbMl1bMV0gKiB4
WzFdWzJdICogeFswXVswXSAtCi0gICAgICAgICAgIHhbMl1bMl0gKiB4WzFdWzBdICogeFswXVsx
XTsKKyAgICAgICAgICAgeFsxXVswXSAqIHhbMl1bMV0gKiB4WzBdWzJdICsKKyAgICAgICAgICAg
eFsyXVswXSAqIHhbMF1bMV0gKiB4WzFdWzJdIC0KKyAgICAgICAgICAgeFswXVsyXSAqIHhbMV1b
MV0gKiB4WzJdWzBdIC0KKyAgICAgICAgICAgeFsxXVsyXSAqIHhbMl1bMV0gKiB4WzBdWzBdIC0K
KyAgICAgICAgICAgeFsyXVsyXSAqIHhbMF1bMV0gKiB4WzFdWzBdOwogfQogZmxvYXQgZGV0ZXJt
aW5hbnQoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0IHJlc3VsdDsKICAgICBmbG9hdDN4MyBtaW5v
cjsKICAgICBtaW5vclswXVswXSA9IHhbMV1bMV07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzJd
OwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKICAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07
Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOwotICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsK
ICAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwor
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKICAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Cisg
ICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKICAg
ICBtaW5vclsyXVsyXSA9IHhbM11bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVswXSAq
IGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07Ci0gICAgbWlu
b3JbMF1bMV0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKLSAgICBtaW5v
clsxXVswXSA9IHhbMl1bMF07CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9y
WzFdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3Jb
MF1bMV0gPSB4WzBdWzJdOwogICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsx
XVsyXSA9IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwogICAgIG1pbm9yWzJd
WzFdID0geFszXVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9
IHhbMV1bMF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0g
eFsxXVszXTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4
WzJdWzFdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsKICAgICBtaW5vclsxXVsyXSA9IHhb
Ml1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0geFsz
XVsxXTsKICAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsg
eFswXVsyXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07
Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVsyXTsK
LSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzFdOwot
ICAgIG1pbm9yWzFdWzJdID0geFsyXVsyXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMF07Ci0g
ICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgLSB4WzBdWzNdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIHJl
c3VsdCA9IHJlc3VsdCAtIHhbMV1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAgbWlub3Jb
MF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBtaW5vclsy
XVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1pbm9yWzFd
WzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3JbMF1b
Ml0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsyXVsy
XSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFsyXVswXSAqIGRldGVybWluYW50
KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlub3JbMV1bMF0gPSB4
WzFdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclswXVsxXSA9IHhb
MF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzJdWzFdID0geFsy
XVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3JbMV1bMl0gPSB4WzFd
WzNdOworICAgIG1pbm9yWzJdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgLSB4
WzNdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTIwODM0LDExNyArMTg5MjMsMTE3IEBAIGZsb2F0NCBmbG9vcihmbG9hdDQgeCkgewogZmxvYXQy
eDIgZmxvb3IoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZmxvb3IoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZmxvb3IoZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbG9v
cih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZmxvb3IoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9v
cih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgZmxvb3IoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9v
cih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZmxvb3IoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9v
cih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBmbG9vcih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZmxvb3Io
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
bG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBmbG9vcih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9v
cih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZmxvb3IoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9v
cih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBm
bG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZmxvb3IoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmbG9vcih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
bG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBmbG9v
cih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmbG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBm
bG9vcih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjEyNDcsMTE3ICsxOTMz
NiwxMTcgQEAgZmxvYXQ0IGF0YW4yKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxvYXQyeDIgYXRh
bjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgYXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFu
Mih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgYXRhbjIoZmxv
YXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFu
Mih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBh
dGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJd
LCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0
eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgYXRhbjIoZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBh
dGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFu
Mih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
Mih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBh
dGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtMjIzMzcsMTE3ICsyMDQyNiwxMTcgQEAgZmxvYXQ0IGZtb2QoZmxvYXQ0
IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbW9kKGZsb2F0
MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0Mng0IGZtb2QoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhb
MF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11b
MV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbW9kKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
b2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGZtb2QoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbW9kKGZsb2F0
M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
b2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2Qo
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
Zm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
Zm1vZChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2Qo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
Zm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2Qo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Zm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1v
ZCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBmbW9kKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1v
ZCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CiAgICAg
cmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsK
ICAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwg
eVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5WzNdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjMwOTMsMTE3ICsyMTE4MiwxMTcgQEAgZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIG1pbihmbG9hdDJ4MiB4LCBmbG9hdDJ4
MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBd
WzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1pbihmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFsw
XVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBtaW4oZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4o
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWlu
KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1pbihmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
aW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtaW4oZmxvYXQzeDMgeCwg
ZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
aW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0s
IHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNd
WzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWluKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBd
WzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyBtaW4oZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4o
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWlu
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1p
bih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBt
aW4oeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1p
bihmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
aW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVsz
XSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IG1pbih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMjM1MzIsMTE3ICsyMTYyMSwxMTcgQEAgZmxvYXQ0IHRydW5jKGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiB0cnVuYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRy
dW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiB0cnVuYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRydW5j
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCB0cnVuYyhmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5j
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRy
dW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiB0cnVuYyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRy
dW5jKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0cnVuYyhmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRy
dW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5j
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0cnVu
YyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5j
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRy
dW5jKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHRydW5jKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5j
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHRydW5jKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNDY0
NSwxMTcgKzIyNzM0LDExNyBAQCBmbG9hdDQgbWF4KGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxv
YXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1heChmbG9hdDJ4NCB4LCBmbG9h
dDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1h
eCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbWF4
KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1h
eCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG1heChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0s
IHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbWF4KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4
WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1heChmbG9hdDR4MyB4LCBmbG9h
dDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1h
eCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBt
YXgoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwg
eVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0s
IHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFd
LCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbWF4KHhbM11b
M10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNzQ4MCwxMTcgKzI1NTY5
LDExNyBAQCBmbG9hdDQgZGVncmVlcyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZGVncmVlcyhmbG9h
dDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdy
ZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdy
ZWVzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZWdyZWVzKGZs
b2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVn
cmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGVn
cmVlcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGVncmVlcyhm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRl
Z3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBkZWdyZWVzKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZGVncmVlcyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgyIGRlZ3JlZXMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9
IGRlZ3JlZXMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBkZWdyZWVzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBkZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgZGVncmVlcyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTI4MTEyLDExNyArMjYyMDEsMTE3IEBAIGZsb2F0NCBzaW5oKGZsb2F0NCB4KSB7
CiBmbG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBzaW5oKGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbmgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
aW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzaW5oKGZsb2F0M3gyIHgpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5o
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBzaW5oKGZsb2F0M3g0
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2luaChmbG9hdDR4MiB4
KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2luaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2lu
aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgz
IHNpbmgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBz
aW5oKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNp
bmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2lu
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luaCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjgyNTMsMTE3ICsyNjM0MiwxMTcgQEAgZmxv
YXQ0IGRkeShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR5KGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRk
eSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGR5KGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHkoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR5KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIGRkeShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgZGR5KGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBk
ZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHkoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHkoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGRkeShmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzA4NCwxMTcgKzMxMTczLDExNyBAQCBmbG9h
dDQgZnJhYyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZnJhYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZnJhYyhm
bG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZy
YWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBmcmFjKGZsb2F0Mng0IHgp
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFj
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZnJhYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
cmFjKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBmcmFjKGZsb2F0
M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZy
YWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgZnJhYyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIGZyYWMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBmcmFjKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGZyYWMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZnJhYyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBm
cmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGZyYWMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTMzNDU5LDEx
NyArMzE1NDgsMTE3IEBAIGZsb2F0NCBsb2cxMChmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nMTAo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBsb2cxMCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMTAo
ZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbG9nMTAo
ZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cx
MCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cx
MCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBs
b2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbG9nMTAoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cx
MCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cx
MCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAg
ICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cx
MCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBsb2cxMCh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzM4MjMsMTE3ICszMTkxMiwxMTcgQEAg
ZmxvYXQ0IGRkeV9maW5lKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBk
ZHlfZmluZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5l
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfZmluZShmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4
KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9m
aW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5l
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9m
aW5lKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNDE5OCwyMzQgKzMyMjg3LDIzNCBAQCBib29sIGFueShm
bG9hdDQgeCkgewogYm9vbCBhbnkoZmxvYXQyeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQyeDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0Mng0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
M10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
Ml0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0M3gzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNd
WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDR4MiB4KSB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYW55KGZsb2F0NHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDQgeCkg
ewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAh
PSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
M11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzNdICE9IDAp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngyIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBib29sIGFueShib29sMng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFu
eShib29sM3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFd
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sM3gzIHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBib29sIGFueShib29sM3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgyIHgpIHsKICAgICBib29sIHJl
c3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHg0IHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CkBAIC0zNDYzNiwxMTcgKzMyNzI1LDExNyBAQCBmbG9hdDQgZGR5X2NvYXJzZShm
bG9hdDQgeCkgewogZmxvYXQyeDIgZGR5X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQy
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fy
c2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBkZHlfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fy
c2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2Nv
YXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZGR5X2NvYXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfY29h
cnNlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlf
Y29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRk
eV9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJz
ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeV9jb2Fyc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9j
b2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5
X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fy
c2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlf
Y29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBkZHlfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2Uo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRk
eV9jb2Fyc2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1MDk1LDExNyAr
MzMxODQsMTE3IEBAIGZsb2F0NCBkZHgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRkeChmbG9hdDJ4
MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGRkeChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHgo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeChmbG9hdDN4MiB4
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR4KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgZGR4KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHgoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MyBkZHgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4KHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeChmbG9hdDR4NCB4KSB7
CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGRkeCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IGRkeCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzUzODQsMTE3ICsz
MzQ3MywxMTcgQEAgZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNvc2goZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQg
Y29zaChmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2go
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBj
b3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNv
c2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDMgY29zaChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvc2goZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2go
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBj
b3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3NoKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29z
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgY29zaChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3No
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvc2go
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNvc2goZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNv
c2goeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhb
Ml1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY29z
aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0zNTUyNywxMTcgKzMzNjE2LDExNyBAQCBmbG9hdDQgZGR4X2NvYXJzZShmbG9hdDQg
eCkgewogZmxvYXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29h
cnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29h
cnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4
X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR4X2Nv
YXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHhfY29hcnNlKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4
X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fy
c2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhf
Y29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
Y29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2Uo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHhfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29h
cnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9j
b2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBk
ZHhfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeF9jb2Fy
c2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1OTgyLDExNyArMzQwNzEs
MTE3IEBAIGZsb2F0NCByY3AoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNw
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJj
cChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHJjcChmbG9hdDN4MiB4KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4MyByY3AoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3Ao
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
Y3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNw
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3Ao
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcmNw
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBy
Y3AoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
Y3AoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJjcChmbG9hdDR4NCB4KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBy
Y3AoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHJj
cCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzY0ODQsMTE3ICszNDU3Mywx
MTcgQEAgZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkgewogZmxvYXQyeDIgZndpZHRoKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgZndpZHRoKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGZ3aWR0aChmbG9hdDJ4NCB4KSB7CiAgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRo
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgZndpZHRoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3
aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZ3aWR0aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZndpZHRoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3
aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmd2lkdGgo
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
d2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZ3aWR0aChmbG9hdDR4MyB4KSB7
CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndp
ZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRo
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3
aWR0aCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
ZndpZHRoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNzI0MiwxMTcgKzM1
MzMxLDExNyBAQCBmbG9hdDQgbGVycChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6CiBmbG9h
dDJ4MiBsZXJwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBsZXJwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZs
b2F0MngzIHopIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVy
cCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxlcnAoZmxvYXQyeDQgeCwgZmxvYXQyeDQg
eSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxl
cnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJd
WzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0s
IHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MiBsZXJwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gy
IHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxlcnAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxv
YXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4NCBsZXJwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsK
ICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11b
MV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
ZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAo
eFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBd
LCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxlcnAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxv
YXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGVy
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5
WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1b
M10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZXJwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBs
ZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxlcnAo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsy
XVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbGVycCh4WzNdWzNdLCB5WzNdWzNd
LCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3Rh
bmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAgICBW
aXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSBv
dmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFt
ZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7Ci0g
ICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVy
RnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFtZXM7
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5j
dGlvbnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVz
aXplRW51bWVyYXQKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZp
bml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5h
cHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpu
dWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9z
dHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2Rl
OjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RG
TW92ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBl
bnVtIHR5cGUuIikpOwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2
YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KGxvY2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVs
bHB0cik7Ci0gICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7
Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRp
b24pKTsKICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNU
OjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+
dHlwZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRy
LCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAg
ICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikp
KQogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNy
ZWF0ZSBjb3B5IGNvbnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFZpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsOCArMTkyLDYgQEAgdm9pZCBW
aXNpdG9yOjp2aXNpdChBU1Q6OkNvbnN0YW50RXhwcmVzcwogICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRl
cmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0
ZXJhbCk7Ci0gICAgfSwgWyZdKEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKSB7Ci0gICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6Qm9v
bGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKSB7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChib29sZWFuTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpIHsKQEAgLTIzOCwxMSArMjM2LDYgQEAgdm9p
ZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZgogICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChmbG9hdExpdGVyYWwudHlwZSgpKTsKIH0KIAotdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6
Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobnVs
bExpdGVyYWwudHlwZSgpKTsKLX0KLQogdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkJvb2xlYW5M
aXRlcmFsJikKIHsKIH0KQEAgLTI2OCwxMiArMjYxLDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNpdChB
U1Q6OkZsb2F0TGl0ZXJhbFR5cAogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmbG9hdExpdGVyYWxU
eXBlLnByZWZlcnJlZFR5cGUoKSk7CiB9CiAKLXZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpOdWxs
TGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkKLXsKLSAgICBpZiAobnVsbExpdGVyYWxUeXBl
Lm1heWJlUmVzb2x2ZWRUeXBlKCkpCi0gICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0
ZXJhbFR5cGUucmVzb2x2ZWRUeXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6
RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikKIHsKIH0KQEAgLTM5OSw5ICszODYsNiBAQCB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBBU1Q6OkV4cHJl
c3Npb246OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93
bmNhc3Q8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246OktpbmQ6Ok51bGxMaXRlcmFsOgotICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6
RG90OgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpEb3RFeHByZXNz
aW9uPihleHByZXNzaW9uKSk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgJKHJldmlzaW9uIDI0
OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRv
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFN0YWdlSW5PdXRTZW1h
bnRpYzsKIGNsYXNzIEludGVnZXJMaXRlcmFsOwogY2xhc3MgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bDsKIGNsYXNzIEZsb2F0TGl0ZXJhbDsKLWNsYXNzIE51bGxMaXRlcmFsOwogY2xhc3MgQm9vbGVh
bkxpdGVyYWw7CiBjbGFzcyBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw7CiBjbGFzcyBOdW1UaHJl
YWRzRnVuY3Rpb25BdHRyaWJ1dGU7CkBAIC0xMzgsMTIgKzEzNywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2b2lk
IHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJik7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6
TnVsbExpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJh
bCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpOwog
ICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVHlwZSYpOwotICAgIHZp
cnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0
KEFTVDo6TnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
QVNULmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDYgQEAKICNpbmNsdWRlICJXSExTTE5h
bWVkVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5oIgog
I2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xO
dWxsTGl0ZXJhbC5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVk
ZSAiV0hMU0xOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJXSExTTFBv
aW50ZXJUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0
YW50RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xDb25zdGFu
dEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IldITFNMRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xGbG9hdExp
dGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEludGVnZXJMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hM
U0xOdWxsTGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC5o
IgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4K
QEAgLTYzLDExICs2Miw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgQ29uc3RhbnRF
eHByZXNzaW9uKE51bGxMaXRlcmFsJiYgbnVsbExpdGVyYWwpCi0gICAgICAgIDogbV92YXJpYW50
KFdURk1vdmUobnVsbExpdGVyYWwpKQotICAgIHsKLSAgICB9Ci0KICAgICBDb25zdGFudEV4cHJl
c3Npb24oQm9vbGVhbkxpdGVyYWwmJiBib29sZWFuTGl0ZXJhbCkKICAgICAgICAgOiBtX3Zhcmlh
bnQoV1RGTW92ZShib29sZWFuTGl0ZXJhbCkpCiAgICAgewpAQCAtOTAsMTIgKzg0LDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEludGVnZXJMaXRlcmFsPihtX3ZhcmlhbnQp
OwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNv
bnN0IFZpc2l0b3ImIHZpc2l0b3IpIC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3Rk
OjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWws
IEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1l
bWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8g
dmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNp
dG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0dXJuIFdURjo6dmlzaXQodmlzaXRvciwg
bV92YXJpYW50KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSBjb25zdCAtPiBkZWNsdHlwZShXVEY6OnZp
c2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25l
ZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIE51bGxMaXRlcmFsLCBCb29sZWFuTGl0ZXJh
bCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQorICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0IC0+IGRl
Y2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxp
dGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgQm9vbGVhbkxpdGVy
YWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkKICAgICB7CiAgICAgICAgIHJldHVy
biBXVEY6OnZpc2l0KHZpc2l0b3IsIG1fdmFyaWFudCk7CiAgICAgfQpAQCAtMTA4LDggKzEwMiw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiB1bnNpZ25lZEludGVnZXJMaXRlcmFsLmNs
b25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKICAgICAgICAgICAgIHJldHVybiBmbG9hdExpdGVyYWwu
Y2xvbmUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKLSAgICAgICAgICAgIHJldHVybiBudWxsTGl0ZXJhbC5j
bG9uZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRl
cmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW5M
aXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgLT4gQ29uc3RhbnRFeHByZXNzaW9uIHsK
QEAgLTEyNyw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVk
SW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJh
bCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IGZsb2F0TGl0ZXJhbC52YWx1
ZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmKSB7Ci0gICAgICAgICAgICBy
ZXN1bHQgPSBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPE51bGxMaXRlcmFsPihvdGhlci5tX3Zhcmlh
bnQpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFs
KSB7CiAgICAgICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxCb29sZWFuTGl0ZXJh
bD4ob3RoZXIubV92YXJpYW50KSkgewogICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8mIG90aGVy
Qm9vbGVhbkxpdGVyYWwgPSBXVEY6OmdldDxCb29sZWFuTGl0ZXJhbD4ob3RoZXIubV92YXJpYW50
KTsKQEAgLTE1Miw4ICsxNDIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQgPSB2YWx1
ZSA9PSB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCk7CiAgICAgICAgIH0sIFsmXShjb25z
dCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgcmVzdWx0ID0gdmFs
dWUgPT0gZmxvYXRMaXRlcmFsLnZhbHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0
ZXJhbCYpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICB9LCBbJl0oY29u
c3QgQm9vbGVhbkxpdGVyYWwmKSB7CiAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAg
ICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIHsKQEAgLTE2OSw3ICsx
NTcsNiBAQCBwcml2YXRlOgogICAgICAgICBJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgVW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgRmxvYXRMaXRlcmFsLAotICAgICAgICBOdWxsTGl0
ZXJhbCwKICAgICAgICAgQm9vbGVhbkxpdGVyYWwsCiAgICAgICAgIEVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbAogICAgICAgICA+IG1fdmFyaWFudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9u
LmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9u
LCBLaW5kOjpEb3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92
ZShmaWVsZE5hbWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAg
ICAgfQogCiAgICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEg
QEAgcHVibGljOgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVs
ZXRlOwogICAgIERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAg
ICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZygib3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKCJvcGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYg
ZmllbGROYW1lKCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9maWVsZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xFeHByZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcyLDYgQEAgdm9pZCBFeHByZXNzaW9uOjpk
ZXN0cm95KEV4cHJlc3Npb24mIGV4cAogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TWFrZVBv
aW50ZXI6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihl
eHByZXNzaW9uKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpO
dWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2FzdDxOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbik7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6RG90Ogog
ICAgICAgICBkZWxldGUgJmRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Npb24pOwogICAg
ICAgICBicmVhazsKQEAgLTEzOCw5ICsxMzUsNiBAQCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0
KEV4cHJlc3Npb24mIGV4CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpNYWtlUG9pbnRlcjoK
ICAgICAgICAgZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKS5+TWFr
ZVBvaW50ZXJFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXhwcmVzc2lv
bjo6S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKS5+TnVsbExpdGVyYWwoKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNz
aW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Np
b24pLn5Eb3RFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTY4LDMzICsxNjIsNiBA
QCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1T
dHJpbmcgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25z
dAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBk
b3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAg
aWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8
SW5kZXhFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbjo6c2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRo
aXMpLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNl
dHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19
Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkg
Y29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNh
c3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAv
LyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJl
c3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBwdWJsaWM6CiAgICAgICAg
IExvZ2ljYWxOb3QsCiAgICAgICAgIE1ha2VBcnJheVJlZmVyZW5jZSwKICAgICAgICAgTWFrZVBv
aW50ZXIsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBSZWFkTW9kaWZ5V3JpdGUsCiAg
ICAgICAgIFRlcm5hcnksCiAgICAgICAgIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsCkBAIC0xMzgs
NyArMTM3LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2dpY2FsTm90RXhwcmVzc2lvbigpIGNv
bnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dpY2FsTm90OyB9CiAgICAgYm9vbCBpc01h
a2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2lu
ZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9vbCBpc01ha2VQb2ludGVyRXhwcmVzc2lv
bigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpNYWtlUG9pbnRlcjsgfQotICAgIGJv
b2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpOdWxsTGl0
ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oKSBjb25zdCB7IHJl
dHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4RXhwcmVzc2lvbigpOyB9CiAgICAgYm9v
bCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9vbCBpc1Rlcm5hcnlFeHByZXNzaW9uKCkg
Y29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRlcm5hcnk7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4RXhwcmVzc2lvbihjb25z
dCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4cHJlc3Npb24oSW5kZXhF
eHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdIl9zdHI7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3ImW10iX3N0cjsK
LSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24oKSB7IHJldHVybiBtX2lu
ZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRleCgpIHsgcmV0dXJuIFdU
Rk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xh
cmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigx
KTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAgICB9CiAgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhE
aW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgfQor
CisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5
cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0KKworICAgIHVuc2lnbmVk
IHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOworICAgICAg
ICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1bWVudHMo
KVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVu
Y2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNNYXRyaXgo
KSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlw
ZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElzSW50KCkgeyBtX2lzSW50
ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJh
bC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1u
YW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVyYWwgZmluYWwgOiBwdWJsaWMgRXhwcmVz
c2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExp
dGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAgICAgICA6IEV4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAgICB9Ci0KLSAgICB+TnVsbExpdGVyYWwo
KSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChjb25zdCBOdWxsTGl0ZXJhbCYpID0gZGVs
ZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBO
dWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgTnVsbExpdGVy
YWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBOdWxsTGl0ZXJh
bChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvbHZlZFR5cGUgPSBtX3R5
cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgICAgIHJlc3VsdC5tX3R5cGUucmVzb2x2
ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigqcmVzb2x2ZWRUeXBlKSk7Ci0gICAgICAg
IGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLXBy
aXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFsKQotCi1T
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJFU1NJT04oTnVsbExpdGVyYWwsIGlzTnVs
bExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
RGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAjIwot
QXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFs
VHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0KLSNp
ZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7
Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNvbHZlKGNvbnN0IFR5cGUmIHR5cGUpIGNv
bnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4odHlwZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PFVubmFtZWRUeXBlPih0eXBl
KTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi11bnNpZ25lZCBOdWxsTGl0ZXJhbFR5
cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRUeXBlJikgY29uc3QKLXsKLSAgICByZXR1
cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi0jZW5kaWYKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBl
LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZXNvbHZhYmxlVHlw
ZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNzIE51bGxMaXRl
cmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxlVHlwZSB7Ci0gICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWxUeXBlKCkKLSAgICAgICAgOiBS
ZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkKLSAgICB7IH0KLQotICAgIH5OdWxsTGl0
ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUoY29uc3QgTnVsbExp
dGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlKE51bGxMaXRlcmFsVHlw
ZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShjb25zdCBO
dWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9y
PShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAgYm9vbCBjYW5SZXNvbHZlKGNv
bnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBjb252ZXJzaW9uQ29zdChjb25zdCBVbm5h
bWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsKLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0K
LX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUoTnVsbExpdGVyYWxUeXBlKQotCi1TUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVsbExpdGVyYWxUeXBlLCBpc051bGxMaXRl
cmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAj
IwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDQ1
ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0IFBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3Ry
aW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlv
bk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLQot
ICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9nZXR0
ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24oKSB7
IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJl
YWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0gICAg
RnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRlckZ1
bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRp
b24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9IGdl
dHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5jdGlv
bkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1bmN0
aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVyRnVu
Y3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7Ci0g
ICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0gICAg
fQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJGdW5j
dGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNlOyB9
CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4gbV9i
YXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4gV1RG
TW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IG1f
YmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVsbHB0
ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxwdHIg
fTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBudWxs
cHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw2IEBAIHZvaWQgVHlwZTo6ZGVz
dHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAg
IGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2Fz
dDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6
OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAgICAgICBicmVhazsKQEAgLTExNSw5ICsx
MTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUmIHR5cGUpCiAgICAgY2FzZSBLaW5kOjpJ
bnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBl
KS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgS2luZDo6
TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4odHlwZSkufk51
bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKTsKICAgICAgICAgYnJlYWs7
CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZhYmxlVHlwZTo6Y2FuUmVzb2x2ZShjb25z
dCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMpLmNh
blJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlw
ZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0
PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5k
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGRlZmF1
bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQgUmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNp
b25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMp
LmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJz
aW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7
CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29z
dCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUmVzb2x2YWJs
ZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAgICAgICAgSW50ZWdlckxpdGVyYWwsCi0g
ICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFsLAogICAg
IH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0Zsb2F0TGl0ZXJh
bFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6RmxvYXRMaXRlcmFsOyB9CiAg
ICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBL
aW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbFR5cGUoKSBjb25z
dCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29sIGlzVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAgVHlwZSYgdW5pZnlOb2RlKCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDx3dGYv
U2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNp
bmNsdWRlIDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSBXSExTTCB7CkBAIC02Myw3ICs2NSw1NyBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3Ry
dWN0IFZhcmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xl
ZFR5cGVOYW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVi
bGljIFZpc2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNv
bGxlY3RvcihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cikKKyAgICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChB
U1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgewor
ICAgICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICBzaXpl
X3Qgc2l6ZSA9IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgICAg
IGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgZnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKKyAgICAgICAg
ICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsKKyAgICAgICAgICAgIHZh
cmlhYmxlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgICAgICAgICBmb3Ig
KGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUoKSk7CisgICAgICAgICAg
ICAgICAgYXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQo
VmFyaWFibGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoIWlzVm9pZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZh
cmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9I
b2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAg
ICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAgICAg
ICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdy
aXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZh
cmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlX
cml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5k
KFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0pOworCisgICAgICAg
ICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZhcmlhYmxlcykpOwor
CisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUpOworICAgICAgICB9
CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxl
Pj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3MmIGludHJpbnNpY3Ms
IFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbios
IE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91dCYgbGF5b3V0KQog
ICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAtMTAwLDE0ICsxNTIs
MTIgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJikg
b3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2
aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC0xMzEsNjUgKzE4MSw2IEBAIHBy
b3RlY3RlZDoKIAogICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCkgeyByZXR1cm4geyBtX3ZhcmlhYmxlQ291bnQrKyB9OyB9CiAKLSAgICBlbnVtIGNsYXNz
IE51bGxhYmlsaXR5IDogdWludDhfdCB7Ci0gICAgICAgIE5vdE51bGwsCi0gICAgICAgIENhbkJl
TnVsbAotICAgIH07Ci0KLSAgICBzdHJ1Y3QgU3RhY2tJdGVtIHsKLSAgICAgICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWU7
Ci0gICAgICAgIE51bGxhYmlsaXR5IHZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIE51bGxhYmls
aXR5IGxlZnRWYWx1ZU51bGxhYmlsaXR5OwotICAgICAgICBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRW
YXJpYWJsZU5hbWUoKT4gZ2VuZXJhdGVMZWZ0VmFsdWU7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBT
dGFja1ZhbHVlIHsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAg
TnVsbGFiaWxpdHkgbnVsbGFiaWxpdHk7Ci0gICAgfTsKLQotICAgIC8vIFRoaXMgaXMgdGhlIGlt
cG9ydGFudCBkYXRhIGZsb3cgc3RlcCB3aGVyZSB3ZSBjYW4gdGFrZSB0aGUgbnVsbGFiaWxpdHkg
b2YgYW4gbHZhbHVlCi0gICAgLy8gYW5kIHRyYW5zZmVyIGl0IGludG8gdGhlIG51bGxhYmlsaXR5
IG9mIGFuIHJ2YWx1ZS4gVGhpcyBpcyBjb252ZXllZCBpbiBNYWtlUG9pbnRlckV4cHJlc3Npb24K
LSAgICAvLyBhbmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uLiBNYWtlUG9pbnRlckV4cHJlc3Npb24g
d2lsbCB0cnkgdG8gcHJvZHVjZSBydmFsdWVzIHdoaWNoIGFyZQotICAgIC8vIG5vbi1udWxsLCBh
bmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uIHdpbGwgdGFrZSBhIG5vbi1udWxsIHJ2YWx1ZSBhbmQg
dHJ5IHRvIHByb2R1Y2UKLSAgICAvLyBhIG5vbi1udWxsIGx2YWx1ZS4KLSAgICB2b2lkIGFwcGVu
ZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoQVNUOjpFeHByZXNzaW9uJiwgTWFuZ2xlZFZhcmlh
YmxlTmFtZSB2YWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHkpCi0gICAgewotICAgICAgICBt
X3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUpLCB7IH0sIG51bGxhYmlsaXR5LCBOdWxsYWJp
bGl0eTo6Q2FuQmVOdWxsLCB7IH0gfSk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRSaWdodFZh
bHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoZXhwcmVz
c2lvbiwgV1RGTW92ZSh2YWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwpOwotICAgIH0KLQot
ICAgIHZvaWQgYXBwZW5kTGVmdFZhbHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFu
Z2xlZFZhcmlhYmxlTmFtZSB2YWx1ZSwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWUsIE51
bGxhYmlsaXR5IG51bGxhYmlsaXR5LCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUo
KT4gZ2VuZXJhdGVMZWZ0VmFsdWUgPSB7IH0pCi0gICAgewotICAgICAgICBBU1NFUlRfVU5VU0VE
KGV4cHJlc3Npb24sIGV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNl
KCkpOwotICAgICAgICBBU1NFUlQobGVmdFZhbHVlIHx8IGdlbmVyYXRlTGVmdFZhbHVlKTsKLSAg
ICAgICAgbV9zdGFjay5hcHBlbmQoeyBXVEZNb3ZlKHZhbHVlKSwgV1RGTW92ZShsZWZ0VmFsdWUp
LCBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsLCBudWxsYWJpbGl0eSwgV1RGTW92ZShnZW5lcmF0ZUxl
ZnRWYWx1ZSkgfSk7Ci0gICAgfQotCi0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB0YWtlTGFzdFZh
bHVlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3N0YWNrLnRha2VMYXN0KCkudmFsdWU7Ci0g
ICAgfQotCi0gICAgU3RhY2tWYWx1ZSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKQotICAg
IHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICByZXR1
cm4geyBsYXN0LnZhbHVlLCBsYXN0LnZhbHVlTnVsbGFiaWxpdHkgfTsKLSAgICB9Ci0KLSAgICBT
dGFja1ZhbHVlIHRha2VMYXN0TGVmdFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8gbGFzdCA9
IG1fc3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgaWYgKCFsYXN0LmxlZnRWYWx1ZSkKLSAgICAg
ICAgICAgIGxhc3QubGVmdFZhbHVlID0gbGFzdC5nZW5lcmF0ZUxlZnRWYWx1ZSgpOwotICAgICAg
ICByZXR1cm4geyBsYXN0LmxlZnRWYWx1ZSwgbGFzdC5sZWZ0VmFsdWVOdWxsYWJpbGl0eSB9Owot
ICAgIH0KLQogICAgIGVudW0gY2xhc3MgQnJlYWtDb250ZXh0IHsKICAgICAgICAgTG9vcCwKICAg
ICAgICAgU3dpdGNoCkBAIC0yMDMsMTIgKzE5NCwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgSGFzaE1h
cDxBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qLCBNYW5nbGVkRnVuY3Rpb25OYW1lPiYgbV9mdW5j
dGlvbk1hcHBpbmc7CiAgICAgSGFzaE1hcDxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qLCBNYW5n
bGVkVmFyaWFibGVOYW1lPiBtX3ZhcmlhYmxlTWFwcGluZzsKIAotICAgIFZlY3RvcjxTdGFja0l0
ZW0+IG1fc3RhY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5UG9pbnRTY2FmZm9sZGluZz4g
bV9lbnRyeVBvaW50U2NhZmZvbGRpbmc7CiAgICAgTGF5b3V0JiBtX2xheW91dDsKICAgICB1bnNp
Z25lZCBtX3ZhcmlhYmxlQ291bnQgeyAwIH07CiAgICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxl
TmFtZT4gbV9icmVha091dE9mQ3VycmVudExvb3BFYXJseVZhcmlhYmxlOwogICAgIEluZGVudGF0
aW9uPDQ+IG1faW5kZW50IHsgMCB9OworICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVj
dG9yPFZhcmlhYmxlPj4gbV9ob2lzdGVkVmFyaWFibGVzOwogfTsKIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYpCkBA
IC0yMTgsNiArMjA5LDIwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25E
ZWZpbml0aW9uJiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CisKKyAgICB7CisgICAgICAgIEhvaXN0
ZWRWYXJpYWJsZUNvbGxlY3RvciBjb2xsZWN0b3IoKnRoaXMpOworICAgICAgICBjb2xsZWN0b3Iu
VmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsKKyAgICAgICAgbV9ob2lzdGVkVmFy
aWFibGVzID0gV1RGTW92ZShjb2xsZWN0b3IudG9Ib2lzdCk7CisgICAgfQorCisgICAgYXV0byBk
ZWZpbmVIb2lzdGVkVmFyaWFibGVzID0gWyZdIHsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2
ZWN0b3IgOiBtX2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAo
YXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4i
KTsKKyAgICAgICAgfQorICAgIH07CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1h
cHBpbmcuZmluZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0g
bV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50
cnlQb2ludFR5cGUoKSkgewpAQCAtMjM4LDggKzI0MywxMCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0s
IG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5
KTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygp
OworCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJs
b2NrKCkpOwotICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG5cbiIpOwogCkBAIC0yNDgsMTcg
KzI1NSwyMiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24u
cGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIg
PSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkp
CiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRk
KCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5
cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
e1xuIik7CisKKyAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygpOworCiAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgIEFT
U0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
In1cbiIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwogICAgIH0KIH0K
QEAgLTMwOSw4ICszMjEsOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1
bEV4cHJlc3Npb25TdGF0ZW1lbnQmIGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQpCiB7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7CiAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQuZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsK
LSAgICB0YWtlTGFzdFZhbHVlKCk7IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3Rm
dWwsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgorICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM0MywxMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25k
aXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29u
ZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VM
YXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVh
aztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICszNjUsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3Jl
bWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBt
X3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVt
ZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFs
dWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlm
ICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNz
aW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIs
CisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0zOTAsMTIgKzQwNiwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVt
ZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25h
bCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VM
YXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4i
KTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQor
CiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5
ICs0MjIsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAg
ICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0
dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgp
KSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
KSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1f
c3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsK
KyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1
aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVO
YW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVt
cFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9y
IChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00
NTQsNTkgKzQ3OCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRl
cmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBp
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50
ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1
ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRU
eXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5h
bWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOwotfQotCi12b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCi17Ci0g
ICAgYXV0byYgdW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2Rl
KCk7Ci0gICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpOwotICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwotCi0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobnVsbExpdGVyYWwucmVzb2x2
ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwotICAgIGlmIChpc0FycmF5UmVm
ZXJlbmNlVHlwZSkKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgieyBudWxscHRyLCAw
IH07XG4iKTsKLSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIm51bGxw
dHI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKG51bGxMaXRlcmFsLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBl
TmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0
ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGJvb2xlYW5MaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAi
ID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52
YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVl
KGJvb2xlYW5MaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwu
dmFsdWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIsICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVy
YWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwotICAgIGF1dG8gdmFyaWFibGVOYW1l
ID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUg
PSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
LnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBt
YW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbWFuZ2xlZFR5cGVOYW1l
LCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSksICI7XG4iKTsKLSAgICBh
cHBlbmRSaWdodFZhbHVlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsLmVudW1lcmF0aW9uTWVtYmVyKCkpKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKQEAgLTUxNCw1MCAr
NTEzLDkxIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBW
aXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAv
LyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGgg
QVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0K
LQogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewotICAgIGF1dG8gdmFsdWVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgTWFuZ2xlZFR5cGVOYW1lIG1h
bmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShnbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQo
Z2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1l
IHN0cnVjdFZhcmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAgICAgTWFuZ2xlZFN0cnVjdHVy
ZUVsZW1lbnROYW1lIG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clN0cnVjdHVyZUVsZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uuc3RydWN0RmllbGQoKSk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiktPiIsIG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0gICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YWx1ZU5h
bWUsICIgPSAiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIp
Owordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lv
biYgZG90RXhwcmVzc2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNl
KCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xv
YmFsVmFyaWFibGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmds
ZWRGaWVsZE5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICAgICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAi
LCBwb2ludGVyTmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxk
TmFtZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9
KTsKKyAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAg
ICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZp
bml0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVy
ZURlZmluaXRpb24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsK
KworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN0cmlu
ZyBlbGVtZW50TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCk7CisgICAgICAgIGlmIChl
bGVtZW50TmFtZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5
cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0
eXBlKS5pc1ZlY3RvcigpKSkpIHsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJl
bmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmxlbmd0
aCIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsK
KyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih0eXBlKS5udW1FbGVtZW50cygpLCAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOwor
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7Cisg
ICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRf
Tk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoaW5kZXhFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19CisgICAg
YXV0byYgdHlwZSA9IGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlO
b2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKS5wb2ludGVyWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIikgPCAoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGggPyAiKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Np
b24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA6IDBdIik7CisgICAgfSBl
bHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNz
aW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikuZGF0YSgpWygi
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJl
c3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPCAiLCBkb3duY2Fz
dDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwgIiA/ICIpOworICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDogMF0iKTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRp
dmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKQor
ICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Cisg
ICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkKKyAgICAgICAgICAgIHNpemUg
PSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAg
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4
IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2Uo
KSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilbKCIpOworICAgICAgICBjaGVj
a0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDwgIiwgc2l6ZSwgIikgPyAoIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogMF0iKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxl
RGVjbGFyYXRpb24pCkBAIC01NjgsMTgxICs2MDgsMTk1IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVz
dWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZpZXJzLgogICAgIGlmICh2YXJp
YWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7CiAgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigpKTsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7IH07XG4iKTsK
IH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6QXNzaWdubWVu
dEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Np
b24ubGVmdCgpKTsKLSAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVsbGFiaWxpdHldID0gdGFrZUxh
c3RMZWZ0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3Np
Z25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIFtyaWdodE5hbWUsIHJpZ2h0TnVs
bGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0KLSAgICBpZiAobnVs
bGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCIsIHBvaW50ZXJOYW1lLCAi
KVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICoiLCBwb2ludGVyTmFtZSwgIiA9ICIs
IHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtcbiIp
OwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoYXNzaWdubWVudEV4cHJlc3Np
b24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7CisgICAgYXV0byBpdGVyID0gbV9o
b2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsKKyAgICBSRUxFQVNFX0FTU0VS
VChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVz
ID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQoY2FsbEV4cHJlc3Npb24uYXJndW1l
bnRzKCkuc2l6ZSgpIDw9IHZhcmlhYmxlcy5zaXplKCkpOwogICAgIFZlY3RvcjxNYW5nbGVkVmFy
aWFibGVOYW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxs
RXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXJn
dW1lbnQpOwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0YWtlTGFzdFZhbHVlKCkpOwot
ICAgIH0KIAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZl
ZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAgICAgICByZXR1cm5OYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lv
bi5yZXNvbHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtcbiIpOworICAgIE1hbmdsZWRW
YXJpYWJsZU5hbWUgcmVzdWx0TmFtZTsKKyAgICBpZiAoIW1hdGNoZXMoY2FsbEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKSkKKyAgICAgICAgcmVzdWx0
TmFtZSA9IHZhcmlhYmxlcy5sYXN0KCkubmFtZTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3Vt
ZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQodmFy
aWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxl
c1tpXS5uYW1lLCAiID0gIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChjYWxsRXhwcmVz
c2lvbi5hcmd1bWVudHMoKVtpXSk7CiAgICAgfQogCi0gICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpIHsKLSAgICAgICAg
YXV0byBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUgPSBbdGhpc10oKSAtPiBNYW5nbGVkVmFyaWFi
bGVOYW1lIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLT5nZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKLSAgICAgICAgfTsKKyAgICBpZiAoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6
ZSgpKQorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogCi0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
PihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgcmV0dXJuTmFtZSwgYXJndW1lbnROYW1lcywg
bV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgV1RGTW92ZShnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUpLCBtX2luZGVudCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Cisg
ICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24u
ZnVuY3Rpb24oKSkpIHsKKyAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdCdWls
ZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNz
aW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCByZXN1bHROYW1lLCBtX2ludHJpbnNpY3Ms
IG1fdHlwZU5hbWVyLCBtX2luZGVudCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fZnVu
Y3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpOwogICAgICAgICBB
U1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwotICAgICAgICBpZiAo
IWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmV0dXJuTmFtZSwg
IiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudE5hbWVzLnNpemUo
KTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Npb24u
YXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0gICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhwcmVzc2lvbiwg
cmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJlc3Npb24mIGNv
bW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiByZXN1
bHQ7CisgICAgaWYgKCFjb21tYUV4cHJlc3Npb24ubGlzdCgpLnNpemUoKSkgeworICAgICAgICBk
YXRhTG9nTG4oIkVtcHR5IGNvbW1hISIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcwJyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcoJyk7CisgICAgYm9vbCByYW5PbmNlID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBleHBy
ZXNzaW9uIDogY29tbWFFeHByZXNzaW9uLmxpc3QoKSkgeworICAgICAgICBpZiAocmFuT25jZSkK
KyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgIHJhbk9u
Y2UgPSB0cnVlOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZXhwcmVzc2lvbik7Ci0gICAg
ICAgIHJlc3VsdCA9IHRha2VMYXN0VmFsdWUoKTsKICAgICB9Ci0gICAgQVNTRVJUKHJlc3VsdCk7
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShjb21tYUV4cHJlc3Npb24sICpyZXN1bHQpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJiBkZXJlZmVyZW5jZUV4cHJl
c3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKigiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uLnBvaW50ZXIoKSk7Ci0gICAgYXV0byBb
aW5wdXRQb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHko
KTsKLSAgICBhdXRvIHJlc3VsdFZhbHVlID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0g
ICAgYXV0byByZXN1bHRUeXBlID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGRlcmVm
ZXJlbmNlRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBpZiAobnVsbGFiaWxpdHkg
PT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkgewotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIHJlc3VsdFR5cGUgLCAnICcsIHJlc3VsdFZhbHVl
LCAiID0gIiwgaW5wdXRQb2ludGVyLCAiID8gIiwgJyonLCBpbnB1dFBvaW50ZXIsICIgOiAiLCBy
ZXN1bHRUeXBlLCAieyB9O1xuIik7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIHJlc3VsdFZhbHVlLCAiID0gKiIsIGlucHV0UG9pbnRlciwgIjtc
biIpOwotCi0gICAgYXBwZW5kTGVmdFZhbHVlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0
VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxpdHkpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFT
VDo6TG9naWNhbEV4cHJlc3Npb24mIGxvZ2ljYWxFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIigoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxFeHBy
ZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0byBsZWZ0ID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIHJp
Z2h0ID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogCi0g
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcg
JywgdmFyaWFibGVOYW1lLCAiID0gIiwgbGVmdCk7CiAgICAgc3dpdGNoIChsb2dpY2FsRXhwcmVz
c2lvbi50eXBlKCkpIHsKICAgICBjYXNlIEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6OkFu
ZDoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiICYmICIpOwogICAgICAgICBicmVh
azsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlQobG9naWNhbEV4cHJlc3Npb24udHlwZSgp
ID09IEFTVDo6TG9naWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yKTsKKyAgICBjYXNlIEFTVDo6TG9n
aWNhbEV4cHJlc3Npb246OlR5cGU6Ok9yOgogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCIgfHwgIik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKHJpZ2h0LCAiO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShsb2dpY2FsRXhwcmVzc2lv
biwgdmFyaWFibGVOYW1lKTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKSkiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6TG9naWNhbE5vdEV4cHJlc3Npb24mIGxvZ2ljYWxOb3RFeHByZXNz
aW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiEoIik7CiAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGxvZ2ljYWxOb3RFeHByZXNzaW9uLm9wZXJhbmQoKSk7Ci0gICAgYXV0byBvcGVy
YW5kID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7Ci0KLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICBtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvZ2ljYWxOb3RFeHBy
ZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAhIiwgb3BlcmFu
ZCwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbE5vdEV4cHJlc3Npb24sIHZh
cmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpNYWtlQXJyYXlSZWZlcmVuY2VF
eHByZXNzaW9uJiBtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uKQogewotICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKICAg
ICAvLyBGSVhNRTogVGhpcyBuZWVkcyB0byBiZSBtYWRlIHRvIHdvcmsuIEl0IHByb2JhYmx5IHNo
b3VsZCBiZSB1c2luZyB0aGUgbGFzdCBsZWZ0VmFsdWUgdG9vLgogICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg4MzgKLSAgICBhdXRvIHZhcmlhYmxlTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCiAgICAgYXV0byBtYW5nbGVkVHlwZU5h
bWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbi5yZXNvbHZlZFR5cGUoKSk7CiAgICAgaWYgKGlzPEFTVDo6UG9pbnRlclR5cGU+KG1h
a2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpKSB7
Ci0gICAgICAgIGF1dG8gcHRyVmFsdWUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0gICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1l
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHB0clZhbHVlLCAiID8gIiwgbWFuZ2xlZFR5cGVO
YW1lLCAieyAiLCBwdHJWYWx1ZSwgIiwgMSB9IDogIiwgbWFuZ2xlZFR5cGVOYW1lLCAieyBudWxs
cHRyLCAwIH07XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5nbGVkVHlw
ZU5hbWUsICJ7ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJl
bmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiwgMSB9Iik7CiAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4obWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSkpIHsKLSAgICAg
ICAgYXV0byBsVmFsdWUgPSB0YWtlTGFzdExlZnRWYWx1ZSgpLnZhbHVlOwogICAgICAgICBhdXRv
JiBhcnJheVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4obWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5h
bWUsICIgPSB7ICIsIGxWYWx1ZSwgIi0+ZGF0YSgpLCAiLCBhcnJheVR5cGUubnVtRWxlbWVudHMo
KSwgIiB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVO
YW1lLCAiIHsgIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiLmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfSIpOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsKLSAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAn
ICcsIHZhcmlhYmxlTmFtZSwgIiA9IHsgIiwgbFZhbHVlLCAiLCAxIH07XG4iKTsKKyAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtYW5nbGVkVHlwZU5hbWUsICIgeyAmIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1
ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAxIH0iKTsKICAgICB9Ci0g
ICAgYXBwZW5kUmlnaHRWYWx1ZShtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLCB2YXJpYWJs
ZU5hbWUpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpN
YWtlUG9pbnRlckV4cHJlc3Npb24mIG1ha2VQb2ludGVyRXhwcmVzc2lvbikKIHsKKyAgICAvLyBP
T1BTCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAgICBjaGVja0Vycm9yQW5k
VmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsKLSAgICBhdXRvIFtwb2lu
dGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFi
bGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VQb2lu
dGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwg
cG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFr
ZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24mKQordm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYg
cmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFk
eS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAgICAqICAxLiBFdmFsdWF0
ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX29sZFZhbHVl
CisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9uCisgICAgICogIDQuIEFz
c2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4gQXNzaWduIHRoZSByZXN1
bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9yZXN1bHRFeHByZXNzaW9u
CisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAgICovCisKKyAgICBhdXRvIGl0ZXIg
PSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFy
aWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQodmFyaWFibGVzLnNpemUo
KSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZh
cmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJs
ZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFk
TW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7CisgICAgbV92YXJpYWJs
ZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJs
ZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9yQW5k
VmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9uKCkpOworCisgICAgLy8g
T09QUzogZG9uJ3QgZXZhbHVhdGUgbGVmdFZhbHVlIHR3aWNlIQorICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5s
ZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFsdWVW
YXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRl
LnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhw
cmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNh
dGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhw
cmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtlTGFzdFZhbHVl
KCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBl
bHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9uLnJl
c29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIsIGJv
ZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVybmFy
eUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJp
YWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgwNiw3IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlQoaXRlcmF0
b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRMZWZ0VmFsdWUo
dmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lXSB7Ci0g
ICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAidGhyZWFkICIs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZl
ZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtcbiIp
OwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6Q29uc3RhbnRF
eHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODIxLDYgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0oQVNUOjpGbG9h
dExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAgIFsmXShBU1Q6
Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVs
bHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9v
bGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQog
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2Vu
ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0OTIyNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxD
b2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzksOSBAQCBuYW1lc3Bh
Y2UgV0hMU0wgewogCiBuYW1lc3BhY2UgTWV0YWwgewogCi1zdGF0aWMgY29uc3RleHByIGJvb2wg
ZHVtcE1ldGFsQ29kZSA9IGZhbHNlOworc3RhdGljIGNvbnN0ZXhwciBib29sIGR1bXBNZXRhbENv
ZGUgPSB0cnVlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQorc3RhdGlj
IFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJpbmdWaWV3
IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1MywxNzEg
QEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxuIgogICAg
ICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisidGVtcGxhdGUg
PHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyJzdHJ1Y3QgV1NMTWF0cml4XG4i
Cisie1xuIgorIiAgICB2ZWM8VCwgUm93cz4gY29sdW1uc1tDb2xzXTtcbiIKKyIgICAgcHJpdmF0
ZTpcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorIiAgICBzdGF0
aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2NvbChpbml0aWFsaXplcl9saXN0PFU+IGNvbCwgX2ludGVn
ZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAgcmV0dXJuIHso
UiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtcbiIKKyIgICAg
fVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2ZWM8VCwgUm93
cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGluaXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiB7
KihlbGVtcy5iZWdpbigpICsgYyAqIFJvd3MgKyBSKS4uLn07XG4iCisiICAgIH1cbiIKKyIgICAg
c3RydWN0IGNvbHNfaW5pdF90YWcgeyB9O1xuIgorIiAgICBzdHJ1Y3QgY29sc19hbGxfdGFnIHsg
fTtcbiIKKyIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9O1xuIgorIiAgICB0ZW1wbGF0ZSA8
aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3Rh
ZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5zaXpl
KCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMpIHRocmVhZFxu
IgorIiAgICAgICAgOiBjb2x1bW5zeyBjb2xzLi4uIH1cbiIKKyIgICAge1xuIgorIiAgICB9XG4i
CisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQg
V1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgorIiAgICAgICAg
OiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRlbXBsYXRlIDxp
bnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9s
aXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRcbiIKKyIg
ICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAg
dGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNv
bHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyhD
IDwgY29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4u
fVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+
XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNv
bHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4iCisiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVtcykgY29uc3Rh
bnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICAgICAge1xuIgorIiAgICAgICAgfVxuIgor
IiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRy
aXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4u
PikgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVt
cywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7XG4i
CisiICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KCkgdGhy
ZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0
PHZlYzxULCBSb3dzPj4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb2xz
X2luaXRfdGFnKCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJlYWRcbiIKKyIg
ICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09IENvbHMsIGNv
bHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAge1xuIgorIiAg
ICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSBjb25zdGFudCA9IGRlZmF1bHQ7XG4iCisi
ICAgIGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMp
IGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMs
IF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCkgY29uc3RhbnRcbiIK
KyIgICAgICAgIDogV1NMTWF0cml4KHZhbCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUu
Li4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZhbHMpIGNvbnN0
YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNpemVvZi4uLihVKSA9
PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMuLi4pXG4iCisiICAg
IHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xN
YXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNv
bnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgorIiAg
ICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+
KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0
IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7
XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQg
V1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRo
cmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NM
TWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhy
ZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4PFUsIENvbHMs
IFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtl
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIK
KyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VCwgQ29s
cywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdy
b3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisiICAgICAgICA6
IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIK
KyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFk
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1h
dHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFu
dFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0
cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50
ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2lu
dGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIg
ICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NM
TWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xN
YXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAg
IHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3Vw
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1h
dHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNv
bnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIHB1YmxpYzpc
biIKKyIgICAgaW5saW5lIHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIHRo
cmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAg
fVxuIgorIiAgICBpbmxpbmUgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikg
ZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorIiAg
ICB9XG4iCisiICAgIGlubGluZSB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5z
W3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWQgdmVjPFQsIFJvd3M+
ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRcbiIKKyIgICAge1xuIgorIiAgICAgICAg
cmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNvbnN0IGRldmlj
ZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGRldmljZVxuIgorIiAgICB7
XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxp
bmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBj
b25zdGFudFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIg
ICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgdGhyZWFkZ3JvdXAgdmVjPFQsIFJvd3M+ICZvcGVy
YXRvcltdKGludCByKSBjb25zdCB0aHJlYWRncm91cFxuIgorIiAgICB7XG4iCisiICAgICAgICBy
ZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIn07XG4iCisKKwogICAgIH07CisKIH0K
IAogc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZ0J1aWxkZXImIHN0cmlu
Z0J1aWxkZXIpCkBAIC02Nyw3ICsyMzEsNyBAQCBzdGF0aWMgdm9pZCBkdW1wTWV0YWxDb2RlSWZO
ZWVkZWQoU3RyaW5nCiBSZW5kZXJNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhbSYg
cHJvZ3JhbSwgTWF0Y2hlZFJlbmRlclNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRpY3MsIExheW91
dCYgbGF5b3V0KQogewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQobWV0YWxDb2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlwZU5hbWVyKHBy
b2dyYW0pOwogICAgIHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWlsZGVyKTsKQEAg
LTgyLDcgKzI0Niw3IEBAIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29kZShQcm9ncmEK
IENvbXB1dGVNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhbSYgcHJvZ3JhbSwgTWF0
Y2hlZENvbXB1dGVTZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkK
IHsKICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQobWV0YWxDb2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFs
Q29kZVByb2xvZ3VlKCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAg
ICB0eXBlTmFtZXIuZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3Jp
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVG
dW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAgc3RhdGlj
IGludCB2ZWN0b3JMZW5ndGgoQVNUOjpOYXRpdmVUeXBlRAogICAgIHJldHVybiB2ZWN0b3JMZW5n
dGg7CiB9CiAKKy8qCiBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVyVHlwZShBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZlVHlwZURlY2xhcmF0aW9uKQogewogICAgIGlm
IChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLmlzRW1wdHkoKSkKQEAgLTEw
NCw2ICsxMDUsNyBAQCBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVyVHlwZShBCiAg
ICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKICAgICByZXR1cm4g
V1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50
eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKIH0KKyovCiAKIHN0YXRpYyBjb25z
dCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3Rvckxlbmd0aCkKIHsKQEAgLTEyMCw3ICsxMjIs
NyBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVjdG9yU3VmZml4KGludCB2ZWN0CiAgICAgfQogfQog
Ci12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIs
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
biwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZh
cmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVOYW1lciYgdHlw
ZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5saW5lTmF0aXZl
RnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgQVNUOjpOYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLCBjb25zdCBWZWN0b3I8TWFu
Z2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwg
SW50cmluc2ljcyYgLyppbnRyaW5zaWNzKi8sIFR5cGVOYW1lciYgdHlwZU5hbWVyLCBJbmRlbnRh
dGlvbjw0PikKIHsKICAgICBhdXRvIGFzTWF0cml4VHlwZSA9IFsmXSAoQVNUOjpVbm5hbWVkVHlw
ZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uKiB7CiAgICAgICAg
IGF1dG8mIHJlYWxUeXBlID0gdW5uYW1lZFR5cGUudW5pZnlOb2RlKCk7CkBAIC0xMzksNTEgKzE0
MSw1NCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAg
IGF1dG8gbWV0YWxSZXR1cm5UeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
cmV0dXJuVHlwZSk7CiAKICAgICAgICAgaWYgKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkpIHsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgcmV0dXJuTmFtZSwgIiA9IHsgfTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgIiB7IH0iKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgewogICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlw
ZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwot
ICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJUeXBlKTsKKyAgICAgICAgICAgIC8vYXV0byBtZXRhbFBh
cmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShwYXJhbWV0ZXJU
eXBlKTsKIAogICAgICAgICAgICAgYXV0byBpc0VudW1lcmF0aW9uRGVmaW5pdGlvbiA9IFtdIChh
dXRvJiB0eXBlKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFTVDo6TmFtZWRUeXBlPih0
eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1l
ZFR5cGU+KHR5cGUpKTsKICAgICAgICAgICAgIH07CiAgICAgICAgICAgICBhdXRvJiB1bmlmaWVk
UmV0dXJuVHlwZSA9IHJldHVyblR5cGUudW5pZnlOb2RlKCk7CiAgICAgICAgICAgICBpZiAoaXNF
bnVtZXJhdGlvbkRlZmluaXRpb24odW5pZmllZFJldHVyblR5cGUpICYmICFpc0VudW1lcmF0aW9u
RGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBlLnVuaWZ5Tm9kZSgpKSkgewotICAgICAgICAgICAgICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFBhcmFtZXRlclR5cGVO
YW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iKTsKICAgICAgICAg
ICAgICAgICBhdXRvJiBlbnVtZXJhdGlvbkRlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OkVudW1l
cmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZpZWRSZXR1cm5U
eXBlKSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAic3dp
dGNoICgiLCB2YXJpYWJsZU5hbWUsICIpIHtcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0Y2hTY29wZShpbmRlbnQpOwotICAg
ICAgICAgICAgICAgICAgICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7Ci0gICAgICAgICAgICAg
ICAgICAgIGZvciAoYXV0byYgbWVtYmVyIDogZW51bWVyYXRpb25EZWZpbml0aW9uLmVudW1lcmF0
aW9uTWVtYmVycygpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAh
bWVtYmVyLmdldCgpLnZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJjYXNlICIs
IG1lbWJlci5nZXQoKS52YWx1ZSgpLCAiOlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9DYXNlLCBoYXNaZXJvQ2FzZSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiZGVmYXVsdDpcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICIgICAgIiwgdmFyaWFibGVOYW1lLCAiID0gMDtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0
YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCgiKTsKKyAgICAgICAgICAgICAg
ICBib29sIGxvb3BlZE9uY2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBib29sIGhhc1plcm9D
YXNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJh
dGlvbkRlZmluaXRpb24uZW51bWVyYXRpb25NZW1iZXJzKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGxvb3BlZE9uY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiIHx8ICIpOworICAgICAgICAgICAgICAgICAgICBoYXNaZXJvQ2FzZSB8PSAhbWVt
YmVyLmdldCgpLnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGFyZ3NbMF0sICIgPT0gIiwgbWVtYmVyLmdldCgpLnZhbHVlKCkpOworICAgICAgICAgICAg
ICAgICAgICBsb29wZWRPbmNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGlj
X2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgdmFyaWFibGVOYW1lLCAiKTtcbiIp
OworICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nhc2UsIGhhc1plcm9DYXNl
KTsKKworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gIiwgYXJnc1sw
XSwgIiA6IDApIik7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRh
bFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKTtcbiIpOworICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1l
LCAiPigiLCBhcmdzWzBdLCAiKSIpOwogCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAogICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShyZXR1cm5UeXBl
KSkgeworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBlTmFt
ZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJncy5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChhcmdzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CisKKyAgICAgICAgICAgIC8vIE9PUFM6IHRlc3QgdGhpcworCisgICAgICAg
ICAgICAvKgogICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG1hdHJpeFR5cGUtPm51bWJl
ck9mTWF0cml4Um93cygpOwogICAgICAgICAgICAgdW5zaWduZWQgbnVtQ29sdW1ucyA9IG1hdHJp
eFR5cGUtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJv
d3MgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51
bVJvd3MgKiBudW1Db2x1bW5zKTsKLQogICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCBtZXRhbFJldHVyblR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIjtc
biIpOwpAQCAtMjA3LDI2NSArMjEyLDM3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgdmFyaWFibGVOYW1lLCAiO1xuIik7Cisg
ICAgICAgICAgICAqLwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1
cm5UeXBlTmFtZSwgIigiKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1
cm5UeXBlTmFtZSwgJygnKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAg
ICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KGFyZ3NbaV0pOwogICAgICAgICB9Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xu
Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtlIGEgc3Ry
dWN0IGZpZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJzIGZvciB0
aG9zZSBzaG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgotICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVuZ3RoIikgewotICAgICAgICBBU1NF
UlRfVU5VU0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCksIGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRv
JiBwYXJhbWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJhbWV0ZXJU
eXBlID0gZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0gICAgICAg
ICAgICBhdXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4o
dW5uYW1lZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0
ZXJUeXBlLm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1l
ZFBhcmFtZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtcbiIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yLiJfc3RyKSkgewotICAgICAgICBhdXRvIGFw
cGVuZE1hbmdsZWRGaWVsZE5hbWUgPSBbJl0gKGNvbnN0IFN0cmluZyYgZmllbGROYW1lKSB7Ci0g
ICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgICAgIGF1dG8mIG5h
bWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAg
ICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAg
ICAgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVj
dHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICAgICAgYXV0byogc3RydWN0
dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAg
ICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50
KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihu
YW1lZFR5cGUpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7
Ci0gICAgICAgIH07Ci0KLSAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpLmVuZHNXaXRoKCI9IikpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgICAgICBhdXRvIGZp
ZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3Bl
cmF0b3IuIl9zdHIubGVuZ3RoKCkpOwotICAgICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1l
LnN1YnN0cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAxKTsKLQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAi
ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAnLicpOwotICAgICAgICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICIsIGFyZ3NbMV0sICI7XG4iKTsK
LQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAg
YXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJp
bmcoIm9wZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnLicp
OwotICAgICAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRv
ciYuIl9zdHIpKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVu
Z3RoKCkpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5k
ZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7
Ci0KLSAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZG93
bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlO
b2RlKCk7Ci0gICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
Pih1bmlmeU5vZGUpOwotICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihu
YW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93
bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAg
YXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5h
bWUpOwotICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxl
bWVudCgqc3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikgOiBudWxscHRyO1xuIik7Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3ImW10iKSB7
Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMik7Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICgiLCBhcmdzWzFdLCAiIDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAm
KCIsIGFyZ3NbMF0sICIucG9pbnRlclsiLCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gdmVjdG9yU2l6
ZSA9IFsmXSAoKSAtPiB1bnNpZ25lZCB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBk
b3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRU
eXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlw
ZS5uYW1lKCkgPT0gInZlY3RvciIpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJn
dW1lbnRzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25z
dGFudEV4cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0
ZXJhbCgpLnZhbHVlKCk7Ci0gICAgfTsKLQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAo
KSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVm
ZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVS
ZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVz
b2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVz
dWx0LmlzTWF0cml4KCkpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLSAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW10iKSB7Ci0g
ICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gMik7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5
cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3du
Y2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50
eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBp
ZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJu
TmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRN
YXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBu
dW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
ImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2Nv
cGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAi
LCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzBd
ID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiXTtcbiIsCi0gICAgICAgICAgICAgICAgICAg
IGluZGVudCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51
bWJlck9mUm93cywgIl07XG4iKTsKLQotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVt
bnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAicmVzdWx0WzJdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZS
b3dzICogMiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49
IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJl
c3VsdFszXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAq
IDMsICJdO1xuIik7Ci0gICAgCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0g
Mik7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKLQot
ICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
IG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJl
dHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJl
YWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xu
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsICJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0
b3JbXT0iKSB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5
cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpKTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3du
Y2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50
eXBlKCkpLnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBp
ZiAobnVtVHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICAgICAg
YXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgq
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAg
ICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNp
Z25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7
Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCku
bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFt
ZSwgIiBtID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtp
XSA9ICIsIGFyZ3NbMl0sICJbMF07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJt
W2kgKyAiLCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1syXSwgIlsxXTtcbiIpOwotICAgICAg
ICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwg
Il0gPSAiLCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9m
Q29sdW1ucyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXSA9ICIsIGFyZ3NbMl0sICJbM107
XG4iKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSBtO1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMg
PT0gMik7Ci0KLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVy
Mk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxS
ZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0g
dmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNj
b3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgdiA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1l
dGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSB2O1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAidltpXSA9ICIsIGFyZ3Nb
Ml0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2
O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0KLQorICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7CiAgICAgICAgIGF1dG8gb3BlcmF0
b3JOYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVy
YXRvciJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKKwogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDEpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgb2sgdG8gZG8gc2luY2UgdGhl
IGFyZ3MgdG8gdGhpcyBmdW5jdGlvbiBhcmUgYWxsIHRlbXBzLgorICAgICAgICAgICAgLy8gU28g
dGhpbmdzIGxpa2UgKysgYW5kIC0tIGFyZSBvayB0byBkby4KKwogICAgICAgICAgICAgaWYgKGF1
dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpKSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
e1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlv
blNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUs
ICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xu
Iik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRy
aXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwg
b3BlcmF0b3JOYW1lLCBhcmdzWzBdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIElu
ZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0
dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn1cbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChvcGVyYXRvck5hbWUsIGFyZ3NbMF0pOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTQ3Myw0OSArMjUwLDQwIEBAIHZv
aWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgaWYgKGF1dG8q
IGxlZnRNYXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcmlnaHRNYXRy
aXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
WzFdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0cml4IDxvcD4gbWF0cml4Ci0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3Bl
KGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHgu
c2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhb
aV0gPSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ld
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7
XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1h
dHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAi
LCBhcmdzWzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycs
IGksICddJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IHNjYWxhcgotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgIltp
XSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwgJ1snLCBpLCAiXSAi
LCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJp
eFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkp
KSB7CiAgICAgICAgICAgICBBU1NFUlQoIWFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwogICAgICAgICAgICAgLy8gc2NhbGFy
IDxvcD4gbWF0cml4Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7
XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNj
b3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyAr
K2kpXG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3Nb
MF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHJpZ2h0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5h
bWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdz
WzFdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAvLyBzY2FsYXIgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHZlY3RvciA8b3A+IHZlY3Rv
cgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyBzY2Fs
YXIgPG9wPiB2ZWN0b3IKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0
b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKKyAgICAgICAgICAgICAgICAnKCcsIGFyZ3Nb
MF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm47CkBAIC01NDgsMzUgKzMxNiwzNiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWFwRnVu
Y3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBd
LCAiKTtcbiIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJwb3ci
IHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJhdGFuMiIpIHsKICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAyKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgIigi
LCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOworICAgICAgICAgICAgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgJykn
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIGlmIChhc01h
dHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdz
WzFdLCAiW2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisKKyAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5
cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Cisg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgYm9vbCBy
YW5PbmNlID0gZmFsc2U7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0
cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeFJvd3Mo
KTsgKytqKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChyYW5PbmNlKQorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAg
ICAgIHJhbk9uY2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE5hbWUsICdbJywgaSwgIl1bIiwg
aiwgIl0gPSBjbGFtcCgiLCBhcmdzWzBdLCAnWycsIGksICJdWyIsIGosICJdLCAiLCBhcmdzWzFd
LCAnWycsIGksICJdWyIsIGosICJdLCAiLCBhcmdzWzJdLCAnWycsIGksICJdWyIsIGosICJdKSIp
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0s
ICIpO1xuIik7CisgICAgICAgICAgICAgICAgImNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3Nb
MV0sICIsICIsIGFyZ3NbMl0sICcpJyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTU4NCwzOSArMzUzLDQwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5n
QnVpbGRlciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFs
bE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllciht
ZW1fZmxhZ3M6Om1lbV9kZXZpY2UpO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdy
b3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAg
IGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4i
KTsKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2Rldmlj
ZSkiLAorICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhy
ZWFkZ3JvdXApIiwKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6
bWVtX3RleHR1cmUpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3Jv
dXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2Up
O1xuIik7CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9k
ZXZpY2UpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMi
KSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtc
biIpOworICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhy
ZWFkZ3JvdXApIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgiSW50ZXJsb2NrZWQiX3N0cikpIHsK
ICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJJbnRlcmxv
Y2tlZENvbXBhcmVFeGNoYW5nZSIpIHsKICAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gNCk7CisgICAgICAgICAgICAvLyBP
T1BTOiBQb2ludGVycz8gSXMgdGhpcyBldmVuIHBvc3NpYmxlPwogICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwg
YXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtc
biIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFd
LCAiO1xuIik7CisgICAgICAgICAgICAgICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFr
X2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBt
ZW1vcnlfb3JkZXJfcmVsYXhlZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAg
ICAgICAgICcqJywgYXJnc1szXSwgIiA9ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9t
aWNOYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJs
b2NrZWQiX3N0ci5sZW5ndGgoKSkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhw
bGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQp
O1xuIik7CisgICAgICAgICAgICAnKicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9l
eHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhl
ZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjMwLDcgKzQwMCw3IEBAIHZvaWQg
aW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5W
ZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBh
cmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0s
ICIuc2FtcGxlKCIsIGFyZ3NbMV0sICIsICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5p
c1RleHR1cmVBcnJheSgpKSB7CiAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5n
dGggPiAxKTsKQEAgLTY0Miw4MSArNDEyLDY2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlciYKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAg
ICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIi4iLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JM
ZW5ndGgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkgPT0gIkxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIAorCiAgICAgICAgIGF1dG8mIHRl
eHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0
PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVu
aWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JM
ZW5ndGgobG9jYXRpb25UeXBlKTsKICAgICAgICAgYXV0byYgcmV0dXJuVHlwZSA9IGRvd25jYXN0
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkudW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0
byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CisgICAgICAg
IGF1dG8gbG9jYXRpb25UeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9j
YXRpb25UeXBlKTsKIAotICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUocmV0dXJuVHlwZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluZGVudGF0
aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlz
VGV4dHVyZUFycmF5KCkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JM
ZW5ndGggPiAxKTsKLSAgICAgICAgICAgICAgICBTdHJpbmcgZGltZW5zaW9uc1tdID0geyAid2lk
dGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0ciB9OwotICAgICAgICAgICAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxOyArK2kpIHsKLSAgICAg
ICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhpLCAxKTsK
LSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8
IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwg
YXJnc1swXSwgIi5nZXRfIiwgZGltZW5zaW9uc1tpXSwgIigpKSB7XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVy
bk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBhdXRvIHN1ZmZpeCA9ICJ4eXp3Il9zdHIuc3Vi
c3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSwgMSk7CisgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJywgYXJnc1sxXSwgIiA9ICIpOworICAgICAgICBpZiAodGV4dHVyZVR5cGUu
aXNUZXh0dXJlQXJyYXkoKSkgeworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVu
Z3RoID4gMSk7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJn
c1sxXSwgIiwgIiwgbG9jYXRpb25UeXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgbG9jYXRpb25WZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiksICIsIGxvY2F0aW9uVHlwZU5h
bWUsICcoJyk7CisKKyAgICAgICAgICAgIFN0cmluZyBkaW1lbnNpb25zW10gPSB7ICJ3aWR0aCJf
c3RyLCAiaGVpZ2h0Il9zdHIsICJkZXB0aCJfc3RyIH07CisgICAgICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsgKytpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIp
OwogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8IHN0YXRp
Y19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwgYXJnc1sw
XSwgIi5nZXRfYXJyYXlfc2l6ZSgpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPT0gMSkgewotICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
ImlmICgiLCBhcmdzWzFdLCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sx
XSwgIikgPj0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSkge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5O
YW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVh
aztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiLngg
PCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAiLngpID49ICIsIGFyZ3Nb
MF0sICIuZ2V0X3dpZHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmICgiLCBhcmdzWzFdLCAiLnkgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90Pigi
LCBhcmdzWzFdLCAiLnkpID49ICIsIGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgpKSB7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIp
OwotICAgICAgICAgICAgICAgICAgICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPj0gMykgewot
ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIueiA8IDAgfHwgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KCIsIGFyZ3NbMV0sICIueikgPj0gIiwgYXJnc1swXSwgIi5nZXRf
ZGVwdGgoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
IiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfIiwg
ZGltZW5zaW9uc1tpXSwgIigpIC0gMSIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCisgICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfYXJyYXlf
c2l6ZSgpIC0gMSkpIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobG9jYXRp
b25WZWN0b3JMZW5ndGggPT0gMSkKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiY2xhbXAoIiwgYXJnc1sxXSwgIiwgMCwgIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEp
Iik7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiY2xhbXAoIiwgYXJnc1sxXSwgIiwgIiwgbG9jYXRpb25UeXBlTmFtZSwgIigwLCAwIik7
CisgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDAiKTsKKyAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSwgIiwgbG9jYXRpb25UeXBlTmFtZSwgJygnLCBhcmdz
WzBdLCAiLmdldF93aWR0aCgpIC0gMSwgIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCkgLSAxIik7
CisgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGFyZ3NbMF0sICIuZ2V0X2Rl
cHRoKCkgLSAxIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
IHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnJlYWQoIik7Ci0gICAgICAgICAgICBpZiAo
dGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChs
b2NhdGlvblZlY3Rvckxlbmd0aCA+IDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCJ1aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICco
JywgYXJnc1sxXSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxl
bmd0aCAtIDEpLCAiKSwgdWludCgiLCBhcmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5n
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSwgMSksICcpJyk7Ci0gICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZp
eChsb2NhdGlvblZlY3Rvckxlbmd0aCksICcoJywgYXJnc1sxXSwgJyknKTsKLSAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7Ci0gICAgICAgICAgICBpZiAoIXRleHR1cmVUeXBl
LmlzRGVwdGhUZXh0dXJlKCkpCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Jy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKICAgICAgICAgfQotICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7CisKKyAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgYXJnc1swXSwgIi5yZWFkKCIpOworCisgICAgICAg
IGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCJ1aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICcoJywg
YXJnc1sxXSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxlbmd0
aCAtIDEpLCAiKSwgdWludCgiLCBhcmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSwgMSksICcpJyk7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25W
ZWN0b3JMZW5ndGgpLCAnKCcsIGFyZ3NbMV0sICcpJyk7CisgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CisgICAgICAgIGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkK
KyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJp
bmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoJyknKTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzI0LDE4ICs0NzksMjAgQEAg
dm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAibG9hZCIpIHsKICAgICAgICAgQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVs
YXhlZCk7XG4iKTsKKyAgICAgICAgICAgICJhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBd
LCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAog
ICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAic3RvcmUiKSB7CiAg
ICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXpl
KCkgPT0gMik7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5k
ZW50LCAiYXRvbWljX3N0b3JlX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIs
IG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgImF0b21pY19zdG9yZV9l
eHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhl
ZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKSA9PSAiR2V0RGltZW5zaW9ucyIpIHsKKyAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoJygnKTsKKwogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2Rl
KCkpKTsKIAogICAgICAgICBzaXplX3QgaW5kZXggPSAxOwpAQCAtNzY3LDM4ICs1MjQsMzUgQEAg
dm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBBU1NFUlQo
aW5kZXggPT0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsK
IAogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImlm
ICgiLCB3aWR0aE5hbWUsICIpXG4iLAotICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCB3aWR0
aE5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF93aWR0aCgiKTsKKyAgICAgICAgICAgICcqJywg
d2lkdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoIik7CiAgICAgICAgIGlmICho
YXNNaXBMZXZlbCkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogCiAgICAgICAgIGlmIChoZWlnaHROYW1lKSB7CiAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwg
KmhlaWdodE5hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmhl
aWdodE5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9oZWlnaHQoIik7CisgICAgICAgICAgICAg
ICAgIiwgKiIsICpoZWlnaHROYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCIpOwog
ICAgICAgICAgICAgaWYgKGhhc01pcExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7
XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIH0K
ICAgICAgICAgaWYgKGRlcHRoTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpkZXB0aE5hbWUsICIpXG4iLAot
ICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICIuZ2V0X2RlcHRoKCIpOworICAgICAgICAgICAgICAgICIsICoiLCAqZGVwdGhOYW1lLCAi
ID0gIiwgYXJnc1swXSwgIi5nZXRfZGVwdGgoIik7CiAgICAgICAgICAgICBpZiAoaGFzTWlwTGV2
ZWwpCiAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1sxXSk7Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAgICAgfQogICAgICAgICBpZiAoZWxlbWVudHNOYW1l
KSB7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoIiwgKmVsZW1lbnRzTmFtZSwgIilcbiIsCi0gICAgICAgICAgICAgICAgaW5k
ZW50LCAiICAgICoiLCAqZWxlbWVudHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlf
c2l6ZSgpO1xuIik7CisgICAgICAgICAgICAgICAgIiwgKiIsICplbGVtZW50c05hbWUsICIgPSAi
LCBhcmdzWzBdLCAiLmdldF9hcnJheV9zaXplKCkiKTsKICAgICAgICAgfQogICAgICAgICBpZiAo
bnVtYmVyT2ZMZXZlbHNOYW1lKSB7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIilc
biIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCAqbnVtYmVyT2ZMZXZlbHNOYW1l
LCAiID0gIiwgYXJnc1swXSwgIi5nZXRfbnVtX21pcF9sZXZlbHMoKTtcbiIpOworICAgICAgICAg
ICAgICAgICIsICoiLCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRf
bnVtX21pcF9sZXZlbHMoKSIpOwogICAgICAgICB9CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODM5LDYgKzU5MywxMCBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIlN0b3JlIikgewogICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwor
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgICAgIC8vIE9PUFMK
KyAgICAgICAgLyoKICAgICAgICAgCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNh
c3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKSkpOwogICAgICAgICBhdXRvJiBpdGVtVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKQEAgLTg5Niw2
ICs2NTQsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKKyAgICAgICAg
Ki8KIAogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0
aXZlRnVuY3Rpb25Xcml0ZXIuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBNZXRhbCB7CiAKIGNsYXNz
IFR5cGVOYW1lcjsKIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiwg
QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1
cm5OYW1lLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMs
IEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5h
bWUoKT4mJiwgSW5kZW50YXRpb248ND4pOwordm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJp
bmdCdWlsZGVyJiwgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJiwgY29uc3QgVmVjdG9y
PE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVudE5hbWVzLCBNYW5nbGVkVmFyaWFibGVOYW1l
IHJlc3VsdE5hbWUsIEludHJpbnNpY3MmLCBUeXBlTmFtZXImLCBJbmRlbnRhdGlvbjw0Pik7CiAK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xOYXRpdmVUeXBlV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9X
SExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMSArMzgsNiBA
QCBuYW1lc3BhY2UgV0hMU0wgewogCiBuYW1lc3BhY2UgTWV0YWwgewogCi1lbnVtIGNsYXNzIE1h
dHJpeFR5cGUgOiB1aW50OF90IHsKLSAgICBGbG9hdCwKLSAgICBCb29sCi19OwotCiBTdHJpbmcg
d3JpdGVOYXRpdmVUeXBlKEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBuYXRpdmVUeXBlRGVj
bGFyYXRpb24pCiB7CiAgICAgaWYgKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5uYW1lKCkgPT0gInZv
aWQiKQpAQCAtMTAxLDM1ICs5NiwyNiBAQCBTdHJpbmcgd3JpdGVOYXRpdmVUeXBlKEFTVDo6TmF0
aXZlVHlwZURlCiAgICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IHR5cGVSZWZlcmVuY2UtPnVuaWZ5
Tm9kZSgpOwogICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlw
ZT4odW5pZnlOb2RlKTsKICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICBhdXRvIG1hdHJp
eFR5cGUgPSAoWyZdKCkgLT4gTWF0cml4VHlwZSB7CisgICAgICAgIGF1dG8gcHJlZml4ID0gKFsm
XSgpIC0+IE1hdHJpeFR5cGUgewogICAgICAgICAgICAgaWYgKHBhcmFtZXRlclR5cGUubmFtZSgp
ID09ICJib29sIikKLSAgICAgICAgICAgICAgICByZXR1cm4gTWF0cml4VHlwZTo6Qm9vbDsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gImJvb2wiOwogICAgICAgICAgICAgQVNTRVJUKHBhcmFtZXRl
clR5cGUubmFtZSgpID09ICJmbG9hdCIpOwotICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6
OkZsb2F0OworICAgICAgICAgICAgcmV0dXJuICJmbG9hdCI7CiAgICAgICAgIH0pKCk7CiAKLSAg
ICAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Np
b24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pKTsKLSAgICAgICAg
YXV0byYgY29uc3RhbnRFeHByZXNzaW9uMSA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKTsKLSAgICAgICAg
YXV0byYgaW50ZWdlckxpdGVyYWwxID0gY29uc3RhbnRFeHByZXNzaW9uMS5pbnRlZ2VyTGl0ZXJh
bCgpOwotICAgICAgICB1bnNpZ25lZCByb3dzID0gaW50ZWdlckxpdGVyYWwxLnZhbHVlKCk7Ci0g
ICAgICAgIEFTU0VSVChyb3dzID09IDIgfHwgcm93cyA9PSAzIHx8IHJvd3MgPT0gNCk7Ci0KLSAg
ICAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Np
b24+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pKTsKLSAgICAgICAg
YXV0byYgY29uc3RhbnRFeHByZXNzaW9uMiA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKTsKLSAgICAgICAg
YXV0byYgaW50ZWdlckxpdGVyYWwyID0gY29uc3RhbnRFeHByZXNzaW9uMi5pbnRlZ2VyTGl0ZXJh
bCgpOwotICAgICAgICB1bnNpZ25lZCBjb2x1bW5zID0gaW50ZWdlckxpdGVyYWwyLnZhbHVlKCk7
Ci0gICAgICAgIEFTU0VSVChjb2x1bW5zID09IDIgfHwgY29sdW1ucyA9PSAzIHx8IGNvbHVtbnMg
PT0gNCk7Ci0KLSAgICAgICAgc3dpdGNoIChtYXRyaXhUeXBlKSB7Ci0gICAgICAgIGNhc2UgTWF0
cml4VHlwZTo6RmxvYXQ6IHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGFsaWdubWVudCA9IGNvbHVt
bnMgPT0gMiA/IDggOiAxNjsKLSAgICAgICAgICAgIGlmIChjb2x1bW5zID09IDMpCi0gICAgICAg
ICAgICAgICAgY29sdW1ucyA9IDQ7Ci0gICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiYXJy
YXk8ZmxvYXQsICIsIGNvbHVtbnMgKiByb3dzLCAiPiBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKCIs
IGFsaWdubWVudCwgIikpKSIpOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgTWF0cml4VHlwZTo6
Qm9vbDoKLSAgICAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxib29sLCAiLCBjb2x1
bW5zICogcm93cywgIj4iKTsKLSAgICAgICAgfQorICAgICAgICAvL3N3aXRjaCAobWF0cml4VHlw
ZSkgeworICAgICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6RmxvYXQ6IHsKKyAgICAgICAgLy8gICAg
dW5zaWduZWQgYWxpZ25tZW50ID0gY29sdW1ucyA9PSAyID8gOCA6IDE2OworICAgICAgICAvLyAg
ICBpZiAoY29sdW1ucyA9PSAzKQorICAgICAgICAvLyAgICAgICAgY29sdW1ucyA9IDQ7CisgICAg
ICAgIC8vICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxmbG9hdCwgIiwgY29sdW1ucyAqIHJv
d3MsICI+IF9fYXR0cmlidXRlX18oKGFsaWduZWQoIiwgYWxpZ25tZW50LCAiKSkpIik7CisgICAg
ICAgIC8vfQorICAgICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6Qm9vbDoKKyAgICAgICAgLy8gICAg
cmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PGJvb2wsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOwor
ICAgICAgICAvL30KKworICAgICAgICAvLyBPT1BTOiBhbGlnbm1lbnQgbmVlZGVkIGhlcmU/Cisg
ICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJXU0xNYXRyaXg8IiwgcHJlZml4LCAiLCAiLCBuYXRp
dmVUeXBlRGVjbGFyYXRpb24ubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCksICIsICIsIG5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeFJvd3MoKSwgIj4iKTsKICAgICB9CiAgICAgQVNT
RVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwog
ICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+
PihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgzMTMsNiArODMxMyw3IEBACiAJCTUxRkI2N0RB
MUFFNkI1RTQwMEQwNkM1QSAvKiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyog
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIyNTZDQUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFdITFNMTmFtZVNwYWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdI
TFNMQ29kZUxvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBX
SExTTEV4cHJlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUx
IC8qIFdITFNMR2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xH
bG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjU1NDgsNiArMjU1NDksNyBAQAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExT
TExleGVyLmggKi8sCiAJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJh
bFR5cGVDaGVja2VyLmNwcCAqLywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYg
LyogV0hMU0xOYW1lU3BhY2UuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyog
V0hMU0xOYW1lQ29udGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8q
IFdITFNMTmFtZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyog
V0hMU0xOYW1lUmVzb2x2ZXIuY3BwICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRl
UGlwZWxpbmVNZXRhbC5tbQkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MywxMCArOTMsMTAgQEAgc3RhdGljIE9wdGlvbmFsPFdITFNMOjpDb21w
dXRlRGltZW5zaW9ucwogICAgICAgICBpZiAoV0hMU0w6OmR1bXBNZXRhbENvbXBpbGVUaW1lcykK
ICAgICAgICAgICAgIGRhdGFMb2dMbigiTWV0YWwgY29tcGlsZSB0aW1lczogIiwgKE1vbm90b25p
Y1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSwgIiBtcyIpOwogICAgICAg
ICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotI2lmbmRlZiBOREVCVUcKKy8vI2lmbmRlZiBO
REVCVUcKICAgICAgICAgaWYgKCFjb21wdXRlTGlicmFyeSkKICAgICAgICAgICAgIE5TTG9nKEAi
JUAiLCBlcnJvcik7Ci0jZW5kaWYKKy8vI2VuZGlmCiAgICAgICAgIEFTU0VSVChjb21wdXRlTGli
cmFyeSk7CiAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1NzcxIE9uY2Ugd2UgemVyby1maWxsIHZhcmlhYmxlcywgdGhlcmUgc2hvdWxk
IGJlIG5vIHdhcm5pbmdzLCBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWVycm9yKSBo
ZXJlLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2Ev
R1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2Nv
Y29hL0dQVVJlbmRlclBpcGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwOSw5ICs0
MDksOSBAQCBzdGF0aWMgYm9vbCB0cnlTZXRGdW5jdGlvbnMoY29uc3QgR1BVUGlwCiAKICAgICAg
ICAgaWYgKCF2ZXJ0ZXhMaWJyYXJ5ICYmIGVycm9yKSB7CiAgICAgICAgICAgICBlcnJvclNjb3Bl
cy5nZW5lcmF0ZVByZWZpeGVkRXJyb3IoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRGOFN0
cmluZyk7Ci0jaWZuZGVmIE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICAgICAgTlNM
b2coQCIlQCIsIGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAgICAgICAgfQogCiAgICAgICAg
IEFTU0VSVCh2ZXJ0ZXhMaWJyYXJ5KTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9h
cnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDkyMjcp
CShmcm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9u
LW51bGwtZXhwZWN0ZWQudHh0OjI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9h
cnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRt
bDoyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KKzx0aXRsZT5maWVsZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48
L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVs
bCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3Qg
Rm9vIHsKKyAgICAgICAgICAgIGludCB4OworICAgICAgICAgICAgaW50IHk7CisgICAgICAgICAg
ICBpbnQgejsKKyAgICAgICAgfQorICAgICAgICBib29sIGZvbyh1aW50IGkpIHsKKyAgICAgICAg
ICAgIEZvb1sxMF0gZm9vczsKKyAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ld
OworICAgICAgICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAg
cmV0dXJuIHB0ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICB9CisgICAgYDsKKwor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZh
bHNlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwg
ICJmb28iLCBbbWFrZVVpbnQoMTApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQg
Y2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0
cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwg
ICJmb28iLCBbbWFrZVVpbnQoMHhmZmZmZmZmZildKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3
aGxzbFRlc3RzKTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0
ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KKzx0aXRsZT5vb2Igb24gYXJyYXlzLjwvdGl0
bGU+CiA8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjEsMTUgKzIxLDQ2
IEBAIHdobHNsVGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSAKICAgICAgICAgICAg
IEZvb1sxMF0gZm9vczsKICAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOwog
ICAgICAgICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOwotICAgICAgICAgICAgcmV0
dXJuIHB0ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICAgICAgKnB0ciA9IDQyOwor
ICAgICAgICAgICAgcmV0dXJuIGZvb3NbMF0ueiA9PSA0MjsKKyAgICAgICAgfQorCisgICAgICAg
IGJvb2wgYmFyKCkgeworICAgICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhy
ZWFkIEZvbyogZm9vID0gJmZvb3NbNDI0MjQyXTsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0
ciA9ICYoZm9vLT56KTsKKyAgICAgICAgICAgIHJldHVybiBmb28gPT0gJmZvb3NbMF07CisgICAg
ICAgIH0KKworICAgICAgICBmbG9hdDMgcmV0RmxvYXQzKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0dXJuIGZsb2F0MygxMC4wLCAwLjAsIDAuMCk7CisgICAgICAgIH0KKworICAgICAgICBm
bG9hdFsxMF0gcmV0RmxvYXRBcnJheSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0WzEw
XSB2OworICAgICAgICAgICAgdlswXSA9IDEwLjA7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAg
ICAgICAgfQorCisgICAgICAgIGJvb2wgYmF6KCkgeworICAgICAgICAgICAgcmV0dXJuIHJldEZs
b2F0MygpWzQyXSA9PSAxMC4wOworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBqYXooKSB7Cisg
ICAgICAgICAgICByZXR1cm4gcmV0RmxvYXRBcnJheSgpWzQyXSA9PSAxMC4wOwogICAgICAgICB9
CiAgICAgYDsKIAogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VV
aW50KGkpXSksIGZhbHNlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1
bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGkgPT09IDAgPyB0cnVlIDog
ZmFsc2UpOwogICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFt
LCAgImZvbyIsIFttYWtlVWludCgxMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSks
IHRydWUpOwogICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFt
LCAgImZvbyIsIFttYWtlVWludCgweGZmZmZmZmZmKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOwor
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImJheiIs
IFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHBy
b2dyYW0sICAiamF6IiwgW10pLCB0cnVlKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5k
ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5k
ZXhBbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVm
ZXJlbmNlIAotUEFTUyBhbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250
VGFrZVJlZmVyZW5jZSAKLVBBU1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5v
dGhpbmdXcm9uZyAKLVBBU1MgYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFy
c2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+
VGVzdCBwcmVmaXgvcG9zdGZpeC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xU
ZXN0cy5pbmRleEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAg
YXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAg
ICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVy
YXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdo
bHNsVGVzdHMuaW5kZXhBbmRlckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9Pgotewot
ICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7
Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJl
YWQgaW50KiBvcGVyYXRvciZbXShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHJldHVybiAmZm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQot
Ci13aGxzbFRlc3RzLmFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAg
ICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewot
ICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9w
ZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHJldHVybiBmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxz
bFRlc3RzLmFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAg
ICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQq
IG9wZXJhdG9yJi5mb28oRm9vIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gJmZvby54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0
cy5hbmRlcldpdGhCYWRJbmRleCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWls
KGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdh
aXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1g
KTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkp
IHsgcmV0dXJuIHhbeV07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJl
YWQgaW50W10geCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3Rz
LmFuZGVyV2l0aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0g
PSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9
IDEzOwotICAgICAgICAgICAgcmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAx
Myk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFz
eW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAg
IHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGludCB4OwotICAgICAgICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgYCk7Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAg
IHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBi
bGFoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAg
ICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3Nj
cmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUt
dHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1w
cm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVjZS1kdXBs
aWNhdGUtY3RvcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTksMTYgKzE5LDIwIEBAIHR5cGVk
ZWYgWFlaMyA9IFhZWjsKIAogW251bXRocmVhZHMoMiwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29t
cHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0
aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICB0aHJlYWQgaW50KiB4OwotICAg
IHRocmVhZCBpbnQqIHk7Ci0gICAgdGhyZWFkIGZsb2F0KiBmMTsKLSAgICB0aHJlYWQgZmxvYXQq
IGYyOworICAgIGludCB2YWx1ZTsKKyAgICBmbG9hdCB2YWx1ZTI7CisgICAgaW50WzEwXSB2YWx1
ZTM7CisKKyAgICB0aHJlYWQgaW50KiB4ID0gJnZhbHVlOworICAgIHRocmVhZCBpbnQqIHkgPSAm
dmFsdWU7CisgICAgdGhyZWFkIGZsb2F0KiBmMSA9ICZ2YWx1ZTI7CisgICAgdGhyZWFkIGZsb2F0
KiBmMiA9ICZ2YWx1ZTI7CiAgICAgWFlaMSBhOwogICAgIFhZWjIgYjsKICAgICBYWVozIGM7Ci0g
ICAgdGhyZWFkIGludFtdIGludEFycmF5UmVmMTsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlS
ZWYyOwotICAgIGlmICgqeCA9PSAqeSAmJiB4ID09IHkgJiYgeCA9PSBudWxsICYmIGYxID09IG51
bGwgJiYgKmYxID09IDApIHsKKyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxID0gQHZhbHVl
MzsKKyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyID0gQHZhbHVlMzsKKyAgICBpZiAoKngg
PT0gKnkgJiYgeCA9PSB5KSB7CiAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1
ZmZlclt1aW50KHRocmVhZElELngpXSAqIDIuMDsKICAgICB9CiB9CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTE1LDIyICsxNSwxNyBAQCB3aGxzbFRlc3RzLmluY3JlbWVudFNldHRl
ciA9IGFzeW5jICgpID0+CiAgICAgbGV0IHByb2dyYW0gPSBgCiAgICAgICAgIHN0cnVjdCBGb28g
ewogICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLnco
Rm9vIGZvbykgewotICAgICAgICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIH0KLSAgICAgICAgRm9v
IG9wZXJhdG9yLnc9KEZvbyBmb28sIGludCB2YWx1ZSkgewotICAgICAgICAgICAgZm9vLnogPSB2
YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287CisgICAgICAgICAgICBpbnQgdzsKICAgICAg
ICAgfQogICAgICAgICBpbnQgYmFyKCkgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAg
ICAgIGZvby56ID0gMzsKKyAgICAgICAgICAgIGZvby53ID0gMTsKICAgICAgICAgICAgIGludCB2
YWx1ZSA9IGZvby53Kys7CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUqMTAwICsgZm9vLnoqMTAg
KyBmb28udzsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgODk4KTsKKyAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAxMDAgKyAzMCArIDIp
OwogfQogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9pbmRleC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIGluZGV4QW5kZXJXaXRoTm90aGluZ1dy
b25nIAotUEFTUyBpbmRleEFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCShyZXZpc2lvbiAyNDky
MjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBj
aGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0
bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3Rz
LmluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJv
Z3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAg
ICAgfQotICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVp
bnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0g
ICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAg
ICAgIHgueCA9IDEzOwotICAgICAgICAgICAgcmV0dXJuIHhbNjY2XTsKLSAgICAgICAgfQotICAg
IGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdKSwgMTMpOwotfQotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJP
ZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAg
ICBgCi0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSgpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4OwotICAg
ICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAot
ICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQg
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRo
cmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNo
ZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAg
ICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVy
YXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQsIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwot
fQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEs
NyArMCwwIEBACi0KLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCAKLVBBU1Mg
aW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkIAotUEFTUyBub3RMb25lSW5kZXhT
ZXR0ZXIgCi1QQVNTIGxvbmVJbmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyUG9pbnRl
ciAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVy
LWdldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Y29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0
dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAg
ICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7IH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIg
eyB9Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXShGb28sIHVpbnQpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IEJhciBvcGVyYXRvcltdPShCYXIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAg
ICAKLX07Ci0KLXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVk
ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3Qg
QmFyIHsgfQotICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiA1MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQmFyIG9wZXJhdG9yW109
KEJhciwgdWludCwgaW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpIHsgcmV0dXJuIEJhcigpWzBdOyB9Ci0gICAgICAg
IGludCBiYXIoKSB7Ci0gICAgICAgICAgICBCYXIgYjsKLSAgICAgICAgICAgIGJbMF0gPSA0MDA7
Ci0gICAgICAgICAgICByZXR1cm4gYlswXTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTM0KTsK
LSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwg
W10pLCA1MzQpOwotfTsKLQotd2hsc2xUZXN0cy5ub3RMb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAo
KSA9PgotewotICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAgICAgIGludCBvcGVyYXRvcltdKGlu
dCwgdWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDY1OwotICAgICAgICB9Ci0g
ICAgICAgIGludCBvcGVyYXRvcltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIDU0MzsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgewotICAgICAg
ICAgICAgaW50IHg7Ci0gICAgICAgICAgICByZXR1cm4geFswXTsKLSAgICAgICAgfQotICAgICAg
ICBpbnQgYmFyKCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB4WzBdID0gNDI7
Ci0gICAgICAgICAgICByZXR1cm4geDsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNjUpOwotICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSks
IDU0Myk7Ci19OwotCi13aGxzbFRlc3RzLmxvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17
Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBpbnQgb3BlcmF0
b3JbXT0oaW50LCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIDU0MzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hs
c2xUZXN0cy5sb25lSW5kZXhTZXR0ZXJQb2ludGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2Fp
dCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9y
W109KHRocmVhZCBpbnQqIHB0ciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHJldHVybiBwdHI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAK
LX07Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRt
bAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJy
YXktcmVmZXJlbmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTE0ICs3LDExNSBAQAogPGJv
ZHk+CiA8c2NyaXB0PgogY29uc3Qgc2hhZGVyU291cmNlID0gYAotYm9vbCB0ZXN0MSgpIHsKLSAg
ICBpbnQgdmFsdWUgPSA0MjsKLSAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7Ci0gICAg
aWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFy
cmF5WzBdICE9IDQyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMDIx
M10gIT0gMCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXJyYXlbMF0gPSAxMzM3Owot
ICAgIGlmICh2YWx1ZSAhPSAxMzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotYm9vbCB0ZXN0MigpIHsKLSAgICBpbnQgdmFsdWUgPSA0MjsKLSAgICB0
aHJlYWQgaW50KiBwdHIgPSAmdmFsdWU7Ci0gICAgaWYgKCpwdHIgIT0gNDIpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFy
cmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBd
ICE9IDQyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMzc0MjE3XSAh
PSAwKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgKnB0ciA9IDY2NjsKLSAgICBp
ZiAoKnB0ciAhPSA2NjYpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0g
NjY2KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9IDY2NikKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgYXJyYXlbMF0gPSA0MjQyOwotICAgIGlmICgqcHRyICE9IDQy
NDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0gNDI0MikKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChhcnJheVswXSAhPSA0MjQyKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCB0ZXN0MygpIHsKLSAgICBpbnRbNDJd
IHg7Ci0gICAgdGhyZWFkIGludFs0Ml0qIGFycmF5UHRyID0gJng7Ci0gICAgaWYgKGFycmF5UHRy
LT5sZW5ndGggIT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHhbNDFdID0gNjY2
OwotICAgIGlmICgoKmFycmF5UHRyKVs0MV0gIT0gNjY2KQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKCgqYXJyYXlQdHIpWzBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEB4OwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gNDIp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGFycmF5WzBdID0gMTMzNzsKLSAgICBpZiAo
eFswXSAhPSAxMzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCgqYXJyYXlQdHIp
WzBdICE9IDEzMzcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwot
fQotCi1ib29sIHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0ciA9IG51bGw7Ci0KLSAgICB0
aHJlYWQgaW50W10gYXJyYXkgPSBAcHRyOwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gMCkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKGFycmF5WzBdICE9IDApCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDApCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQorLy9ib29sIHRlc3QxKCkgeworLy8gICAg
aW50IHZhbHVlID0gNDI7CisvLyAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7CisvLyAg
ICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAg
aWYgKGFycmF5WzBdICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChh
cnJheVsxMjAyMTNdICE9IDApCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGFy
cmF5WzBdID0gMTMzNzsKKy8vICAgIGlmICh2YWx1ZSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVy
biBmYWxzZTsKKy8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0Migp
IHsKKy8vICAgIGludCB2YWx1ZSA9IDQyOworLy8gICAgdGhyZWFkIGludCogcHRyID0gJnZhbHVl
OworLy8gICAgaWYgKCpwdHIgIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8v
ICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7CisvLyAgICBpZiAoYXJyYXkubGVuZ3RoICE9
IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9IDQyKQor
Ly8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChhcnJheVsxMjM3NDIxN10gIT0gMCkK
Ky8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICAKKy8vICAgICpwdHIgPSA2NjY7CisvLyAg
ICBpZiAoKnB0ciAhPSA2NjYpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKHZh
bHVlICE9IDY2NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXkubGVu
Z3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9
IDY2NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgYXJyYXlbMF0gPSA0MjQy
OworLy8gICAgaWYgKCpwdHIgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAg
ICBpZiAodmFsdWUgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAo
YXJyYXlbMF0gIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJy
YXkubGVuZ3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHJldHVy
biB0cnVlOworLy99CisvLworLy9ib29sIHRlc3QzKCkgeworLy8gICAgaW50WzQyXSB4OworLy8g
ICAgdGhyZWFkIGludFs0Ml0qIGFycmF5UHRyID0gJng7CisvLyAgICBpZiAoYXJyYXlQdHItPmxl
bmd0aCAhPSA0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgeFs0MV0gPSA2
NjY7CisvLyAgICBpZiAoKCphcnJheVB0cilbNDFdICE9IDY2NikKKy8vICAgICAgICByZXR1cm4g
ZmFsc2U7CisvLyAgICBpZiAoKCphcnJheVB0cilbMF0gIT0gMCkKKy8vICAgICAgICByZXR1cm4g
ZmFsc2U7CisvLworLy8gICAgdGhyZWFkIGludFtdIGFycmF5ID0gQHg7CisvLyAgICBpZiAoYXJy
YXkubGVuZ3RoICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBhcnJh
eVswXSA9IDEzMzc7CisvLyAgICBpZiAoeFswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBm
YWxzZTsKKy8vICAgIGlmICgoKmFycmF5UHRyKVswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVy
biBmYWxzZTsKKy8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0NCgp
IHsKKy8vICAgIGludCB4ID0gNDI7CisvLyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKKy8vCisv
LyAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAcHRyOworLy8gICAgaWYgKGFycmF5Lmxlbmd0aCAh
PSAxKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBpZiAoYXJyYXlbMF0gIT0g
NDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGlmIChhcnJheVsxMDAwMDBd
ICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICByZXR1cm4gdHJ1ZTsK
Ky8vfQogCiBbbnVtdGhyZWFkcygxLCAxLCAxKV0KIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVy
KGRldmljZSBpbnRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNW
X0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICBpZiAoIXRlc3QxKCkpCi0gICAgICAgIHJldHVybjsK
KyAgICAvL2lmICghdGVzdDEoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3Qy
KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmICghdGVzdDIoKSkKKyAgICAvLyAgICByZXR1
cm47CiAKLSAgICBpZiAoIXRlc3QzKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmICghdGVz
dDMoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3Q0KCkpCi0gICAgICAgIHJl
dHVybjsKKyAgICAvL2lmICghdGVzdDQoKSkKKyAgICAvLyAgICByZXR1cm47CiAKICAgICBidWZm
ZXJbMF0gPSAxOwogfQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1v
cnktbGF5b3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21h
dHJpeC1tZW1vcnktbGF5b3V0Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC02MCwyMCArNjAsMjAgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAgY29u
c3QgYnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwogICAg
IGNvbnN0IGJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlC
dWZmZXIpOwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDA7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzFdID0gNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSA4OwotICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVszXSA9IDEyOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IDE7Cisg
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzFdID0gMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0g
PSAyOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDM7CisgICAgYnVmZmVyRmxvYXQzMkFy
cmF5WzRdID0gNDsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbNV0gPSA1OwotICAgIGJ1ZmZlckZs
b2F0MzJBcnJheVs2XSA9IDk7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTM7Ci0gICAg
YnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA2
OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDY7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5
WzddID0gNzsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbOF0gPSA4OworICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVs5XSA9IDk7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEwOwotICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gNzsKLSAgICBidWZmZXJGbG9hdDMyQXJy
YXlbMTRdID0gMTE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDExOworICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVsxMl0gPSAxMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMTM7
CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDE0OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxNTsKICAgICBidWZmZXIudW5tYXAoKTsKIApAQCAtOTgsMjMgKzk4LDIzIEBAIGFz
eW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZl
ciA9IGF3YWl0IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7CiAgICAgY29uc3QgcmVzdWx0
c0Zsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKICAg
ICBpZiAocmVzdWx0c0Zsb2F0MzJBcnJheVswXSA9PT0gMQotICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzFdID09PSA1Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT09
IDkKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PT0gMTMKKyAgICAgICAgJiYg
cmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PT0gMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzJdID09PSAzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDQKIAot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSAyCisgICAgICAgICYmIHJlc3Vs
dHNGbG9hdDMyQXJyYXlbNF0gPT09IDUKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs1
XSA9PT0gNgotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzZdID09PSAxMAotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzddID09PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzZdID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT09
IDgKIAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzhdID09PSAzCi0gICAgICAgICYm
IHJlc3VsdHNGbG9hdDMyQXJyYXlbOV0gPT09IDcKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJB
cnJheVs4XSA9PT0gOQorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSAxMAog
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEwXSA9PT0gMTEKLSAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVsxMV0gPT09IDE1CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbMTFdID09PSAxMgogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTJdID09PSA0
Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09PSA4Ci0gICAgICAgICYmIHJl
c3VsdHNGbG9hdDMyQXJyYXlbMTRdID09PSAxMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzEyXSA9PT0gMTMKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxM10gPT09IDE0
CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTRdID09PSAxNQogICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzE1XSA9PT0gMTYpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwog
ICAgIGVsc2UKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtNjYsMjIgKzY2LDI0IEBAIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRl
dmljZSBmbG9hdFsKICAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBmb3VydHlUd29bMTMzN10gPSA1MDsKLSAgICBmb29bMV0gPSBmb3VydHlUd287Ci0g
ICAgaWYgKCFhbGxFcXVhbChmb28sIDQyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm91cnR5
VHdvWzEwMDAwMDBdID0gNTA7Ci0gICAgZm9vWzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxs
RXF1YWwoZm9vLCA0MikpCi0gICAgICAgIHJldHVybjsKKyAgICAvLyBPT1BTOiB3aGF0IHNlbWFu
dGljcyBhcmUgd2UgY2hvb3Npbmc/CiAKLSAgICBmbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9vWzEw
MDAwMF07Ci0gICAgaWYgKHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0g
MCB8fCBzaG91bGRCZVplcm8ueiAhPSAwKQotICAgICAgICByZXR1cm47CisgICAgLy9mb3VydHlU
d29bMTMzN10gPSA1MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxs
RXF1YWwoZm9vLCA0MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mb3VydHlUd29bMTAw
MDAwMF0gPSA1MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxsRXF1
YWwoZm9vLCA0MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mbG9hdDMgc2hvdWxkQmVa
ZXJvID0gZm9vWzEwMDAwMF07CisgICAgLy9pZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8fCBzaG91
bGRCZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisgICAgLy8gICAgcmV0dXJu
OwogCi0gICAgaWYgKGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKLSAgICAgICAgcmV0dXJuOwor
ICAgIC8vaWYgKGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKKyAgICAvLyAgICByZXR1cm47CiAK
ICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54KV0g
KiAyLjA7CiB9CkBAIC0xNDUsNyArMTQ3LDcgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKICAgICAgICAgdGVz
dFBhc3NlZCgiIik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKKyAgICAgICAg
dGVzdEZhaWxlZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7CiB9
CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvbnVsbC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1vbm9tb3JwaGljIAorUEFT
UyBudWxsSXNFcnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJn
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0
bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFy
Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFy
c2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+
VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxlPgogPHNjcmlwdCBzcmM9
ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAKIDxzY3JpcHQ+CiBjb25z
dCB3aGxzbFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGlj
ID0gYXN5bmMgKCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBhc3luYyAoKSA9Pgogewot
ICAgIGxldCBwcm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIGludCBm
b28odGhyZWFkIGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gKnB0cjsK
QEAgLTIxLDExICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpYyA9
IGFzCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7CiAgICAgICAgIH0K
LSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJiYXIiLCBbXSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAg
ICAgdm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50KiB4OworICAg
ICAgICB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGJh
cigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4OworICAgICAgICB9Cisg
ICAgYCk7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3JpcHQ+CiA8L2h0bWw+Ci0K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVy
ZW5jZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0x
LDUgKzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVy
ZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRl
cmVmZXJlbmNlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1j
b25zdCBzaGFkZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwotRm9vIGdl
dE51bGxQdHIoKQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsKLSAgICBm
bG9hdCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVhZHMoMiwg
MSwgMSldCi1jb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIg
OiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsK
LSAgICBGb28gcHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQdHIoKSA9
IDQyOwotICAgIGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXROdWxsUHRy
KCkpIHsKLSAgICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAgICAgICAg
ICAgICB0aHJlYWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZWiB4eXo7
Ci0gICAgICAgICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55ID0gMTsK
LSAgICAgICAgICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5ei56ID09
IDEuMCAmJiB4eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICp4eXpQdHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQdHI7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4wICYmIHh5
ei56ID09IDAuMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVsbFB0cigp
ID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipnZXROdWxs
UHRyKCkpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVy
W3VpbnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRH
cm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0
eTogNywgdHlwZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbYmluZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZp
Y2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAg
IGNvbnN0IGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0YWdlLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUgPSBkZXZpY2UuY3Jl
YXRlQ29tcHV0ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3Qgc2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7Ci0KLSAgICBjb25z
dCBidWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEUgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0IGJ1ZmZlciA9IGRl
dmljZS5jcmVhdGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgYnVmZmVyQXJy
YXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IGJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFdID0g
MjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAgICBidWZmZXJGbG9h
dDMyQXJyYXlbNV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDc7Ci0gICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0
IHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5T
VE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVmZmVyVXNhZ2UuTUFQ
X1JFQUR9OwotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJl
c3VsdHNCdWZmZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJpbmRpbmcgPSB7YnVm
ZmVyOiByZXN1bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3JvdXBCaW5kaW5nID0g
e2JpbmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBjb25zdCBiaW5kR3Jv
dXBEZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5kaW5nczogW2JpbmRH
cm91cEJpbmRpbmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRlQmluZEdy
b3VwKGJpbmRHcm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21tYW5kRW5jb2Rlci5j
b3B5QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAwLCBzaXplKTsKLSAg
ICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQ
YXNzKCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGlu
ZSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwot
ICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAgICBjb21wdXRlUGFz
c0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5j
b2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZm
ZXJdKTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc3VsdHNCdWZm
ZXIubWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0c0Zsb2F0MzJB
cnJheVswXSA9PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT0gNAotICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zs
b2F0MzJBcnJheVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNF0gPT0g
NQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
N10gPT0gOCkKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0
RmFpbGVkKCIiKTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7
Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7Ci0gICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgdGVzdFBh
c3NlZCgiIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nl
c3MtMi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
IEBACisKK1BBU1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFj
Y2Vzcy0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1h
Y2Nlc3MtMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9v
b2ItYWNjZXNzLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNjcmlwdCBzcmM9Impz
L3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7
fTsKKword2hsc2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9
IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4ID0gMzsK
KyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0g
PSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAgICAgICAgaW50IGJh
cigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVh
ZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAg
IHJldHVybiB4WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7
CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4WzFdOwor
ICAgICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDApOworfTsKKworcnVu
VGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3
ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLVtudW10
aHJlYWRzKDIsIDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29t
cHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0
aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJbMTMzN10gPSAwLjA7
CiAgICAgYnVmZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1NywxNCBAQCBhc3luYyBm
dW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBj
b21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNl
dEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRj
aCgyLCAxLCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMSwgMSwgMSk7CiAg
ICAgY29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2Fp
dCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMy
QXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7Ci0gICAgaWYgKHJl
c3VsdHNGbG9hdDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBd
ID09IDAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0CiAgICAgICAgICYm
IHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzNdID09IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0
b3ItYXNzaWduLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29w
ZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhBc3NpZ24gPSBhc3lu
YyAoKSAKICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHhbMF0gPSAyMDsKICAgICAg
ICAgICAgIHhbMV0gPSAxMDsKLSAgICAgICAgICAgIHhbNTAwMF0gPSAyMDsKKyAgICAgICAgICAg
IHhbNTAwMF0gPSA0MDsKICAgICAgICAgICAgIHJldHVybiB4LnggLyB4LnkgKyB4WzUwMDBdOwog
ICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlv
bihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwIC8gMTAgKyA0MCk7CiB9OwogCiBy
dW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVy
YXRvci12ZWN0b3ItbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhMb2FkID0gYXN5
bmMgKCkgPT4KICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHgueCA9IDIwOwogICAg
ICAgICAgICAgeC55ID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAgICAg
ICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geFswXSAvIHhbMV0gKyB4WzUwMDBd
OwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5j
dGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBj
YWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwLzEwICsgNDApOwogfTsKIAog
cnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3Zl
cnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBvdmVycmlkZVN1
YnNjcmlwdFN0cnVjdCAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyAK
LVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVycyAKLVBBU1Mgb3ZlcnJp
ZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5IAotCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2Ny
aXB0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IG92ZXJyaWRlIHN1YnNjcmlwdHMuPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3
aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgPSBh
c3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsK
LSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAg
ICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAg
ICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAg
ICByZXR1cm4gZm9vWzBdICsgZm9vWzFdICogMzsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4
ICsgMTkgKiAzKTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZERv
U3RvcmVzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3Ry
dWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAg
ICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWlu
dCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAg
ICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwot
ICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28g
Zm9vOwotICAgICAgICAgICAgZm9vWzBdID0gNDk4OwotICAgICAgICAgICAgZm9vWzFdID0gMTk7
Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnggKyBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwgNDk4ICsgMTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5k
VXNlUG9pbnRlcnMgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAg
ICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0g
ICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9v
LCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAx
KQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51
bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiAoKmZvbylbMF0gKyAoKmZvbylbMV07Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAg
ICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAg
ICByZXR1cm4gYmFyKCZmb28pOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7Ci19
Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29y
cmVjdGx5ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAg
ICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAg
ICAgIGludCB5OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0
b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by0+eDsKLSAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpbnQgYmFyKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaW50IGZvbygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
Rm9vIGZvbzsKLSAgICAgICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgICAgICBm
b28ueSA9IDE5OwotICAgICAgICAgICAgICAgIHJldHVybiBiYXIoJmZvbyk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0Pgot
PC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFs
dWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIg
aGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91
bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0
LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0
cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJh
dG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBC
YXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVy
biBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBh
OwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4g
ZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0
YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFk
ZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVs
cy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMt
bGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1
ZS0zLWxldmVscy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0
b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJh
ciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIq
IGIpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBwOwot
fQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciYucSh0aHJlYWQgQmF6KiBiKSB7Ci0gICAgcmV0dXJu
ICZiLT5wOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQo
Yi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBj
b25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
ZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmds
ZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3
IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAi
cmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8g
R1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxs
OwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1h
dDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVT
ZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29u
c3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9
IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6
YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwg
c2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZs
b2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxv
YXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZv
cm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZp
Z3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQot
ICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xv
ckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRh
cmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9y
OiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBj
b25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNv
ZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVy
UGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQ
YXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgp
OwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0
IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9z
aXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9h
dCogb3BlcmF0b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQot
c3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRo
cmVhZCBCYXIqIGIpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBm
cmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0g
MS4wOwotICAgIHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7
Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQot
YXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0g
ZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29u
c3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVU
b3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRl
ID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0
YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdy
aXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhT
dGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVy
TG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJp
ZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0g
W2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRz
fTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxp
bmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZl
VG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0
YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQg
dmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3Jp
cHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hh
aW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0g
ICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRW
aWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5k
RW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAx
fTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0
dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAi
c3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFj
aG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5j
b2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRv
cik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0s
IFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewot
ICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAkocmV2aXNpb24g
MjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5k
ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygp
IHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdt
ZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBm
bG9hdDQoZ2VuZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIGdlbmVyYXRlRm9vKCkueSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
fSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5
UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVs
ZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25z
dCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVy
aXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAg
Y29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNv
bG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0
ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlu
cHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29u
c3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVm
ZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHti
aW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFn
ZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRl
cHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlw
ZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJl
bmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2Uu
TUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVy
KHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVm
ZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5
QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAg
IGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dh
cENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBj
b25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNj
cmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRU
ZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNy
ZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5j
cmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAw
LCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50
OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIi
LCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9
IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQ
YXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVy
UGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3Zl
cnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAw
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1
ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1
Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9u
KGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rp
b24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2dldHRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2dldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTExICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2Fu
dmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qg
c2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0
aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247
Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnko
Rm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRT
aGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAg
cmV0dXJuIGZsb2F0NChmLnksIGYueSwgZi55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBz
dGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hh
ZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAg
IGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFu
Z2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAi
Y3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAv
LyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51
bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9y
bWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0
ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBj
b25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBj
b25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
ID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVy
aXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0
LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTog
RmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFw
V3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRD
b250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwg
Zm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29u
ZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRU
ZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNv
bnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9
Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNv
bG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZl
VGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29s
b3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAg
IGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3Rl
bmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVu
Y29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVu
ZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNo
KCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1p
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1n
ZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNl
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVP
bkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxz
Y3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJh
Y3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5j
dGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMi
IHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFk
ZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24g
OiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0K
LQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRv
ciZbXSh0aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQot
Ci1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIs
IHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFy
IGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1b
M10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRT
dGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVy
In07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAg
IGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAi
bm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBh
bHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVC
aXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBj
b25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsK
LSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRl
MF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0
ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERl
c2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2Us
IGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNv
bG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAx
LCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQ
VUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNl
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVu
bWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwot
ICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVu
b3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4o
c3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFp
bi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0
cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQg
PSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9
IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxv
YWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRl
clBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhC
dWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRy
YXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNv
bnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2Uu
Z2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCku
dGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWFuZGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLWFuZGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1h
bmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEz
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08
c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS0zLWxldmVscy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0
b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0K
LQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltd
KHRocmVhZCBCYXIqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLXN0
cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciZbXSh0aHJl
YWQgQmF6KiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT5wOwotfQotCi1mcmFnbWVu
dCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAg
ICBiWzFdWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXVszXSwgYlsxXVsy
XVszXSwgYlsxXVsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9
IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0
IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBC
YXIqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZs
b2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJb
MV1bMl0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzFdWzJdLCBiWzFdWzJdLCBiWzFdWzJd
LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBz
aGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3Vy
Y2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9k
dWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNv
bnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0
ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAg
ICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAg
IGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwg
Y29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmli
dXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3Qg
aW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBj
b25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhC
dWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0g
e2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmlj
ZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0
YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywg
ZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBw
aXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRl
UmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2Fn
ZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZm
ZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlC
dWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0g
ICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBz
d2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAg
IGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVu
dFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUu
Y3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNl
LmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6
IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1l
bnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVh
ciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9y
ID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0
IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5k
ZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBb
dmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAs
IDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5k
QnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCku
c3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rp
b24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5j
dGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShj
YW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+
PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0
NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0
aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0
IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBp
bmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotRm9vIGdlbmVyYXRlRm9vKCkgewotICAg
IEZvbyBmOwotICAgIGYueCA9IDEuMDsKLSAgICByZXR1cm4gZjsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgcmV0dXJuIGZsb2F0NChn
ZW5lcmF0ZUZvbygpWzBdLCBnZW5lcmF0ZUZvbygpWzFdLCBnZW5lcmF0ZUZvbygpWzJdLCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsK
LSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHBy
aW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0
aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25z
dCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JC
bGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9
IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQw
ID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBp
bnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJz
OiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVh
dGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBw
cmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhT
dGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVy
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBf
V1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVy
dGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hh
aW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0
IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1
cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRl
RGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6
IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91
dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0
b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2Nv
bG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRl
clBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NE
ZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBl
bGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4
QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigp
IHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1l
eHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJs
dWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWdldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVy
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2Ug
PSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1
dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0
IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBp
bmRleCkgewotICAgIHJldHVybiBmbG9hdChpbmRleCk7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBm
cmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEZvbyBmOwotICAgIHJldHVybiBm
bG9hdDQoZlsxXSwgZlsxXSwgZlsxXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQo
ZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1v
ZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9k
dWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25z
dCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJh
Z21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1z
dHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3Iiwg
Y3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdi
YTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BV
Q29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwot
ICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDog
ImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6
IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3Qg
dmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2
ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRp
b25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2Ft
cGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2Uu
VkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNv
bnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRl
QXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQz
MkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4
dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1h
dDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3Vy
ZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJl
ID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVy
ZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBj
b21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAg
IGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0
dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdl
dDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiBy
ZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25z
dCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxB
dHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVy
LmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNz
KCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwot
ICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFz
aWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhl
bihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVl
QmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0z
LWxldmVscy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTQyICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVy
U291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDog
YXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0K
LXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9v
IGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFy
IGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0K
LQotc3RydWN0IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLUJhciBvcGVyYXRvcltdKEJheiBiLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIucDsKLX0KLQotQmF6IG9wZXJhdG9yW109KEJheiBi
LCB1aW50IGluZGV4LCBCYXIgYSkgewotICAgIGIucCA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0K
LWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJh
eiBiOwotICAgIGJbMl1bM11bNF0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdWzRd
LCBiWzJdWzNdWzRdLCBiWzJdWzNdWzRdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFy
dChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVy
TW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNv
bnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJm
cmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xl
LXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ci
LCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJy
Z2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBH
UFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7
Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0
OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNl
dDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25z
dCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25z
dCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0g
e3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXph
dGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBz
YW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVy
UGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxv
YXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2Fn
ZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3Jp
dGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9h
dDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZl
cnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250
ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9y
bWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmln
dXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1
cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0
IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0g
ICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9y
QXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFy
Z2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6
IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNv
bnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29k
ZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBh
c3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7
Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRC
YXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50
aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJs
dWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0
dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxz
Y3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJz
dHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjkgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBz
aGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRp
b24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsK
LX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShG
b28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvcltd
PShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJu
IGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShC
YXIgYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltd
PShCYXIgYiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBi
OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsK
LSAgICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVsz
XSwgYlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2
aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVs
ZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxl
OiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBm
cmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21l
bnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJp
cCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3Vs
bE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1
bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29s
b3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAg
IAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZs
b2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFth
dHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVy
dGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0
ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25T
dGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxl
Q291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVS
VEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIg
PSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5
bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFy
cmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgi
Z3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDog
ImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3
YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0g
c3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZp
ZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21t
YW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNv
bnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFj
aG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDog
bnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9
XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJl
Z2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7
Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAg
IGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNE
ZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVy
LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25z
dCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVT
cXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRt
bAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4K
LTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNo
YWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAg
IHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQot
ZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19
Ci0KLUZvbyBvcGVyYXRvcltdPShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYu
eCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQot
Ci10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVy
biBmbG9hdDQoYlsyXVszXSwgYlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246
IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBh
dHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07
Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQo
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ks
IHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0
ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0g
e3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVm
ZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkg
PSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtk
ZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250
ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBv
dXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBj
b25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywg
cmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBj
bGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVs
bDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNv
bW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVy
LmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0p
OwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0
KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAko
cmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0
NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBv
c2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxv
YXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4g
JmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3Jb
XShCYXIgYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRv
cltdPShCYXIgYiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVy
biBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAw
IHsKLSAgICBCYXIgYjsKLSAgICBGb28gZm9vOwotICAgIGZvby54ID0gMS4wOwotICAgIGJbMV0g
PSBmb287Ci0gICAgZm9vID0gYlsxXTsKLSAgICByZXR1cm4gZmxvYXQ0KGZvby54LCBmb28ueCwg
Zm9vLngsIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNv
bnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRl
clNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0z
LWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9
IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0
ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3Qg
Rm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAg
cmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAg
Zi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19
Ci0KLUZvbyBvcGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9w
ZXJhdG9yLnc9KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19
Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3IucShCYXogYikg
ewotICAgIHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvci5xPShCYXogYiwgQmFyIGEpIHsK
LSAgICBiLnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21l
bnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4w
OwotICAgIHJldHVybiBmbG9hdDQoYi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0K
LWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxl
ID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAg
Y29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2
ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRp
dmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0
YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxw
aGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
clN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQs
IHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVw
dGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hh
ZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtz
dHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRz
ID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5w
dXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBM
YXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlw
ZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0
aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNp
bFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlv
dXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJE
ZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0
LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRF
fTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdh
aXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNv
bnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVz
Y3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2Fw
Q2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsK
LSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1
bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21t
YW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBh
OiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRU
ZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9w
OiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0
dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNz
RW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3Jp
cHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUp
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZl
cl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNv
bW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29t
bWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkg
ewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwot
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFj
dC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZs
b2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bv
c2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZs
b2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54Owot
fQotCi1Gb28gb3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAg
IHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJh
dG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iudz0oQmFy
IGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
Yi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsK
LSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHBy
aW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0
aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25z
dCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JC
bGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9
IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQw
ID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBp
bnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJz
OiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVh
dGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBw
cmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhT
dGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVy
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBf
V1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVy
dGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hh
aW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0
IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1
cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRl
RGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6
IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91
dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0
b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2Nv
bG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRl
clBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NE
ZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBl
bGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4
QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigp
IHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBl
Y3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVC
YWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXIt
bHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVy
biBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9
IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10
aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56
OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsK
LSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBi
LncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRT
dGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVy
In07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAg
IGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAi
bm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBh
bHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVC
aXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBj
b25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsK
LSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRl
MF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0
ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERl
c2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2Us
IGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNv
bG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAx
LCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQ
VUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNl
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVu
bWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwot
ICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVu
b3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4o
c3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFp
bi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0
cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQg
PSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9
IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxv
YWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRl
clBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhC
dWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRy
YXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNv
bnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2Uu
Z2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCku
dGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRl
ci1zcGVjLXRlc3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qg
d2hsc2xUZXN0cyA9IHt9OwogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFz
eW5jICgpID0+CiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwo
YAogICAgICAgICBpbnQgb3BlcmF0b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAg
cmV0dXJuIDU7CkBAIC0zMCwxMCArMzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVk
VHlwZSA9IGFzeW5jCiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZv
bzsKICAgICAgICAgfQotICAgIGA7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9
CiAKIHdobHNsVGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpA
QCAtNTYsNyArNTMsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0g
CiAKIHdobHNsVGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgp
ID0+CiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAg
ICAgIHN0cnVjdCBCYXIgeyB9CiAgICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAg
ICB7CkBAIC03NSwxNCArNzIsMTIgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVy
bG9hZEZpeAogICAgICAgICAgICAgYmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJh
ci5mb287CiAgICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbElu
dEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsK
IH0KIAogd2hsc2xUZXN0cy5yZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBs
ZXQgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9v
IHsKICAgICAgICAgICAgIGludCB4OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYs
NyBAQCB3aGxzbFRlc3RzLnJlY3Vyc2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAg
ICBmb28uYmFyLmMgPSA4OwogICAgICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAg
ICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmIiwgW10pLCA4Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNl
dHRlciA9IGFzeW5jICgpID0+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxl
LWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxl
R2V0dGVyIAotUEFTUyBzaW1wbGVTZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0
ZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Np
bXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBA
QAogPHNjcmlwdD4KIGNvbnN0IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVH
ZXR0ZXIgPSBhc3luYyAoKSA9PiB7Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5
bmMgKCkgPT4gewogICAgIGxldCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAg
ICAgICAgICAgIGludCB4OwogICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBm
b28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAg
ICAgICBpbnQgZm9vKCkKICAgICAgICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAg
ICAgIGZvby54ID0gNzgwNDsKLSAgICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQot
ICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdKSwgNzgwNCk7Ci19OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5j
ICgpID0+IHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAg
ICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9v
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAg
ICAgRm9vIG9wZXJhdG9yLnk9KEZvbyBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgZm9vLnggPSB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAg
ICAgICAgICBmb28ueSA9IDc4MDQ7CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAg
IH0KICAgICBgOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVs
ZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyAr
MCwwIEBACi0KLVBBU1MgZmllbGRTaG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1u
dWxsLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9z
dHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04Pgot
PG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIg
b24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5j
dGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307
Ci0KLXdobHNsVGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29u
c3QgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsK
LSAgICAgICAgICAgIGludCB5OwotICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAg
ICAgYm9vbCBmb28odWludCBpKSB7Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAg
ICAgICB0aHJlYWQgRm9vKiBmb28gPSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQq
IHB0ciA9ICYoZm9vLT56KTsKLSAgICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28g
PT0gbnVsbDsKLSAgICAgICAgfQotICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEw
OyArK2kpCi0gICAgICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9n
cmFtLCAgImZvbyIsIFttYWtlVWludChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0
cnVlKTsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwg
ICJmb28iLCBbbWFrZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZm
ZmYpXSksIHRydWUpOwotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3Mt
dGVzdC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
dGVzdC1oYXJuZXNzLXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBA
IHdobHNsVGVzdHMuZmxvYXQ0eDR0ZXN0cyA9ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwg
IlVwbG9hZCBhIGZsb2F0NHg0W10gYW5kIHN0b3JlIGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0g
ICAgY2hlY2tBcnJheXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwg
MiwgMyksIGZsb2F0NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgx
MiwgMTMsIDE0LCAxNSkpOyIsIFtdLCBmbG9hdDR4NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5
cygiZmxvYXQ0eDQiLCAicmV0dXJuIGZsb2F0NHg0KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0
KDQsIDUsIDYsIDcpLCBmbG9hdDQoOCwgOSwgMTAsIDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1
KSk7IiwgW10sIGZsb2F0NHg0Q29sdW1uRXhwZWN0ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9h
dDR4NCIsICJyZXR1cm4gaW4wOyIsIFtmbG9hdDR4NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3Rl
ZCk7CiAgICAgbGV0IG11bHRpcGxlNHg0YXJncyA9IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgMTY7ICsraSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377539</attachid>
            <date>2019-08-28 19:54:36 -0700</date>
            <delta_ts>2019-08-29 01:00:23 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>938909</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDYgKzMzMSw3IEBAIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU2Vt
YW50aWNNYXRjaGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNo
ZWNrZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3Bw
CitNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTFR5cGVOYW1lci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TE1ldGFsQ29kZUdlbmVyYXRvci5jcHAKQEAgLTM0Nyw3ICszNDgsNiBAQCBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xTcGVjaWFsaXphCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xTdGFnZUluT3V0U2VtYW50aWMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xG
bG9hdExpdGVyYWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdl
ckxpdGVyYWxUeXBlLmNwcAotTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xTdGF0ZW1lbnQu
Y3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDIsMTIgKzMwMiw2
IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYKICAgICBtX291dC5w
cmludChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiB9CiAKLXZvaWQgQVNURHVtcGVyOjp2aXNpdChB
U1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBtX291dC5wcmludCgibnVsbCIp
OwotICAgIHZpc2l0KG51bGxMaXRlcmFsLnR5cGUoKSk7Ci19Ci0KIHZvaWQgQVNURHVtcGVyOjp2
aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBpZiAoYm9v
bGVhbkxpdGVyYWwudmFsdWUoKSkKQEAgLTMyOCwxMCArMzIyLDYgQEAgdm9pZCBBU1REdW1wZXI6
OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVAogewogfQogCi12b2lkIEFTVER1bXBlcjo6dmlzaXQo
QVNUOjpOdWxsTGl0ZXJhbFR5cGUmKQotewotfQotCiB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkKIHsK
ICAgICBtX291dC5wcmludChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwubGVmdCgpLCAiLiIsIGVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5yaWdodCgpKTsKQEAgLTQyNSw3ICs0MTUsNiBAQCB2b2lk
IEFTVER1bXBlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBlCiAgICAgYm9vbCBza2lwUGFyZW5z
ID0gaXM8QVNUOjpCb29sZWFuTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNU
OjpGbG9hdExpdGVyYWw+KGV4cHJlc3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6SW50ZWdlckxp
dGVyYWw+KGV4cHJlc3Npb24pCi0gICAgICAgIHx8IGlzPEFTVDo6TnVsbExpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVz
c2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6Q29tbWFFeHByZXNzaW9uPihleHByZXNzaW9uKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwxMiAr
NzEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRl
Z2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsVHlwZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5
cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Ok51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0
ZSYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjksOCArMzI5LDggQEAgc3RhdGljIE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYQogICAgICAgICAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBBY2NlcHRh
YmlsaXR5IHsKICAgICAgICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSB1bm5hbWVkVHlwZS0+
dW5pZnlOb2RlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSkgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihkb3duY2FzdDxBU1Q6OlVubmFt
ZWRUeXBlPih1bmlmeU5vZGUpKSA/IEFjY2VwdGFiaWxpdHk6OlllcyA6IEFjY2VwdGFiaWxpdHk6
Ok5vOwotICAgICAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYg
cmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpIC0+IEFjY2VwdGFiaWxpdHkgewotICAgICAgICAgICAg
ICAgIHJldHVybiBpczxBU1Q6Ok51bGxMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UtPnJlc29sdmFibGVUeXBlKCkpID8gQWNjZXB0YWJpbGl0eTo6TWF5YmUgOiBBY2NlcHRhYmls
aXR5OjpObzsKKyAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5j
ZT4mKSAtPiBBY2NlcHRhYmlsaXR5IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQWNjZXB0YWJp
bGl0eTo6Tm87CiAgICAgICAgICAgICB9KSk7CiAgICAgICAgIH07CiAgICAgICAgIGF1dG8gbGVm
dEFjY2VwdGFiaWxpdHkgPSBhY2NlcHRhYmlsaXR5KHR5cGVzWzBdLmdldCgpKTsKQEAgLTYwMCwx
MCArNjAwLDEyIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHJlY3Vy
c2VBbmRXcmFwQmFzZVR5cGUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKTsKICAgICBi
b29sIHJlY3Vyc2VBbmRSZXF1aXJlQm9vbFR5cGUoQVNUOjpFeHByZXNzaW9uJik7CiAgICAgdm9p
ZCBhc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKKyAgICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShB
U1Q6OkV4cHJlc3Npb24mLCBBU1Q6Ok5hbWVkVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwog
ICAgIHZvaWQgYXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWZQdHI8UmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2U+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKICAgICB2b2lkIGZvcndhcmRUeXBl
KEFTVDo6RXhwcmVzc2lvbiYsIFJlc29sdmluZ1R5cGUmLCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsK
IAogICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6VHlwZVJlZmVyZW5jZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CkBAIC02MjEsNyArNjIzLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0
KEFTVDo6TnVsbExpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHBy
ZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC02MzUsOCArNjM2LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0
KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRp
bmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlv
bmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRp
b24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZp
bmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpO
YW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYg
YmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY0OCwxMSArNjQ3LDExIEBAIHByaXZh
dGU6CiAgICAgICAgIHJldHVybiAqbV93cmFwcGVkRmxvYXRUeXBlOwogICAgIH0KIAotICAgIEFT
VDo6VW5uYW1lZFR5cGUmIGdlbmVyaWNQb2ludGVyVHlwZSgpCisgICAgQVNUOjpVbm5hbWVkVHlw
ZSYgd3JhcHBlZFVpbnRUeXBlKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9nZW5lcmljUG9pbnRl
clR5cGUpCi0gICAgICAgICAgICBtX2dlbmVyaWNQb2ludGVyVHlwZSA9IEFTVDo6UG9pbnRlclR5
cGU6OmNyZWF0ZSh7IH0sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIEFTVDo6VHlwZVJlZmVy
ZW5jZTo6d3JhcCh7IH0sIG1faW50cmluc2ljcy5mbG9hdFR5cGUoKSkpOwotICAgICAgICByZXR1
cm4gKm1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgICAgICBpZiAoIW1fd3JhcHBlZFVpbnRUeXBl
KQorICAgICAgICAgICAgbV93cmFwcGVkVWludFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6Ondy
YXAoeyB9LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSk7CisgICAgICAgIHJldHVybiAqbV93cmFw
cGVkVWludFR5cGU7CiAgICAgfQogCiAgICAgQVNUOjpVbm5hbWVkVHlwZSYgbm9ybWFsaXplZFR5
cGVGb3JGdW5jdGlvbktleShBU1Q6OlVubmFtZWRUeXBlJiB0eXBlKQpAQCAtNjYxLDE0ICs2NjAs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKHVuaWZ5Tm9kZSA9PSAmbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkgfHwgdW5pZnlOb2RlID09ICZtX2ludHJpbnNpY3MuaW50VHlwZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIHdyYXBwZWRGbG9hdFR5cGUoKTsKIAotICAgICAgICBpZiAoaXM8QVNUOjpS
ZWZlcmVuY2VUeXBlPih0eXBlKSkKLSAgICAgICAgICAgIHJldHVybiBnZW5lcmljUG9pbnRlclR5
cGUoKTsKLQogICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAKICAgICBSZWZQdHI8QVNUOjpU
eXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRGbG9hdFR5cGU7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVu
Y2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgc3Rk
Ojp1bmlxdWVfcHRyPFJlc29sdmluZ1R5cGU+PiBtX3R5cGVNYXA7CiAgICAgSGFzaFNldDxTdHJp
bmc+IG1fdmVydGV4RW50cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fZnJhZ21lbnRFbnRyeVBvaW50c1tBU1Q6Om5hbWVTcGFjZUNvdW50XTsKQEAg
LTY3OSw2ICs2NzUsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXksIFZlY3Rv
cjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4sIDE+LCBG
dW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7CiAgICAg
SGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiwgQW5k
T3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4gbV9hbmRP
dmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNwYWNlIHsg
QVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1BhcmFtZXRl
ciB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFByb2dyYW0mIHByb2dyYW0p
CkBAIC03MzMsNiArNzMwLDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tTaGFkZXJUeXBlKGNvbnN0
IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNQYXJhbWV0ZXIgPSB0cnVl
OworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVjbGFyYXRpb24pOworICAgIG1faXNQYXJh
bWV0ZXIgPSBmYWxzZTsKK30KKwogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9
IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lU3BhY2UoKTsKQEAgLTc5MCw2ICs3OTQsMTcgQEAgc3Rh
dGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZAogICAgIH0pKTsKIH0KIAorc3Rh
dGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSwgQVNU
OjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNp
dChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHJlc29sdmluZ1R5
cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5nVHlwZSwgbmFtZWRUeXBlKSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwgWyZd
KFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmluZ1R5cGUpIC0+IGJvb2wg
eworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFtZWRUeXBlLCByZXNvbHZpbmdUeXBl
LT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisKIHN0YXRpYyBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJlc29sdmluZ1R5cGUpCiB7CiAgICAg
cmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6
VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHsK
QEAgLTgxOCw5ICs4MzMsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIENoZWNrZXI6OnJl
c29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFi
bGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSgpKQogICAgICAgICAgICAgICAg
IHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAgICAgICAgICBpZiAocmVzb2x2YWJs
ZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNOdWxsTGl0ZXJhbFR5cGUoKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVyVHlwZSgpOwotCiAgICAgICAgICAg
ICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxlVHlwZSgp
KS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiArOTcwLDkgQEAgdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYQogICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3Io
IkRlY2xhcmVkIHZhcmlhYmxlIHR5cGUgZG9lcyBub3QgbWF0Y2ggaXRzIGluaXRpYWxpemVyJ3Mg
dHlwZS4iLCB2YXJpYWJsZURlY2xhcmF0aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKCFtX2lzUGFyYW1ldGVyICYmIGlz
PEFTVDo6UmVmZXJlbmNlVHlwZT4odmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCktPnVuaWZ5Tm9k
ZSgpKSkgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSByZWZlcmVu
Y2UgdHlwZSB2YXJpYWJsZSBpbiBpdHMgaW5pdGlhbGl6ZXIuIiwgdmFyaWFibGVEZWNsYXJhdGlv
bi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05Njgs
NiArOTgzLDExIEBAIHZvaWQgQ2hlY2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAg
ICBleHByZXNzaW9uLnNldFR5cGVBbm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
IH0KIAordm9pZCBDaGVja2VyOjphc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBl
eHByZXNzaW9uLCBBU1Q6Ok5hbWVkVHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5v
dGF0aW9uKQoreworICAgIGFzc2lnbkNvbmNyZXRlVHlwZShleHByZXNzaW9uLCBBU1Q6OlR5cGVS
ZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24oKSwgdHlwZSksIGFubm90YXRpb24pOwor
fQorCiB2b2lkIENoZWNrZXI6OmFzc2lnblR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9u
LCBSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+IHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LCBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCkp
CiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3R5cGVNYXAuYWRkKCZleHByZXNzaW9uLCBtYWtl
VW5pcXVlPFJlc29sdmluZ1R5cGU+KFdURk1vdmUocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpKSk7
CkBAIC0xMDI5LDcgKzEwNDksNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlm
eVdyaXRlCiAgICAgaWYgKCFyZXN1bHRJbmZvKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3J3
YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKKyAgICBmb3J3YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CiB9CiAKIHN0YXRpYyBBU1Q6
OlVubmFtZWRUeXBlKiBnZXRVbm5hbWVkVHlwZShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBl
KQpAQCAtMTE3MCwxNDQgKzExOTAsMTEzIEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNW
YWxpZFZlY3RvclByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCksICInIGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
IAotICAgIGlmICghbGVmdEFkZHJlc3NTcGFjZSAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbiAmJiAh
Z2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlByb3BlcnR5IGFjY2Vz
cyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGEgdGhyZWFkIGFuZGVyIG9yIGEgZ2V0dGVy
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQorICAgICAgICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9u
LmZpZWxkTmFtZSgpLmxlbmd0aCgpOworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7
CisgICAgICAgIGlmIChmaWVsZExlbmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGRvdEV4cHJlc3Npb24sIGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1f
aW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5
cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRW
ZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7
CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNz
aW9uLCBtX2ludHJpbnNpY3MudWludFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFz
ZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5u
ZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2ln
bkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBl
Rm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSB2YWx1
ZSBvZiBkb3QgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RydWN0dXJlLCBhcnJheSwgb3IgdmVjdG9y
LiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKK30KIAotICAgIGlmICh0aHJlYWRB
bmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9y
KCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVz
c2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldElu
Zm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRl
eEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0
aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRB
bmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBv
ZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1
cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBl
LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9y
KCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNl
dEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJl
c3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAg
fQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3Qg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21t
aXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7
CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUg
YmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFu
ZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBl
OwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxw
dHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0g
ICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUu
Y29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2
aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9
OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRl
ckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAg
c2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAg
YXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9u
TmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJB
cmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFz
ZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25j
YXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCks
IEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOwor
ICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25D
b25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlw
ZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVU
eXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAg
ICBhdXRvIGFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5pc1JpZ2h0VmFs
dWUoKSA/IEFTVDo6VHlwZUFubm90YXRpb24geyBBU1Q6OlJpZ2h0VmFsdWUoKSB9IDogQVNUOjpU
eXBlQW5ub3RhdGlvbiB7IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKSB9OworICAgICAgICBpZiAo
bmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGlu
ZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYWRkcmVzc1Nw
YWNlKTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAg
ICAgICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOwor
ICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhS
b3dzKCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5i
b29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYWRk
cmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2lu
dHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlw
ZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRleEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51
bVJvd3MpKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBlLiIs
IGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBzZXR0ZXJSZXR1cm5UeXBl
ID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgaWYgKHNldHRlckZ1bmN0
aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90
IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEgY29ycmVzcG9uZGluZyBnZXR0ZXIu
IiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIH0K
KyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lvbiBv
biB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0R2V0
dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVhZEFuZGVyRnVuY3Rpb24pOwotICAg
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJGdW5jdGlvbihzZXR0ZXJGdW5jdGlv
bik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdo
dFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAgICAgaWYgKGFuZGVyRnVuY3Rp
b24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6TGVmdFZhbHVlIHsgZG93bmNh
c3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmFkZHJlc3NTcGFj
ZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdHlw
ZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgfSBlbHNlIGlmICgh
YmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1ZSgpICYmIChzZXR0ZXJGdW5jdGlv
biB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6
OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29uY3JldGVUeXBlKHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBXVEZNb3ZlKHR5cGVBbm5vdGF0aW9u
KSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHBy
ZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4cHJlc3Npb24pOwotfQotCi12b2lk
IENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCi17
Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lvbi5p
bmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5mbykKLSAgICAgICAgcmV0dXJuOwot
ICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwgJmJhc2VJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2
YXJpYWJsZVJlZmVyZW5jZSkKQEAgLTEzNjIsMTEgKzEzNTEsNiBAQCB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmCiAgICAgYXNzaWduVHlwZShmbG9hdExpdGVyYWwsIGFk
b3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UoZmxvYXRMaXRlcmFsLnR5cGUoKSkp
KTsKIH0KIAotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJh
bCkKLXsKLSAgICBhc3NpZ25UeXBlKG51bGxMaXRlcmFsLCBhZG9wdFJlZigqbmV3IFJlc29sdmFi
bGVUeXBlUmVmZXJlbmNlKG51bGxMaXRlcmFsLnR5cGUoKSkpKTsKLX0KLQogdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBhc3Np
Z25Db25jcmV0ZVR5cGUoYm9vbGVhbkxpdGVyYWwsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChi
b29sZWFuTGl0ZXJhbC5jb2RlTG9jYXRpb24oKSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpKTsK
QEAgLTE0ODgsOCArMTQ3Miw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0
ZW1lbnQKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1p
dCgqdmFsdWVUeXBlLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnR5cGUoKSkpOwogICAgICAgICB9
LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgLT4gYm9vbCB7CiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwg
ZmxvYXRMaXRlcmFsLnR5cGUoKSkpOwotICAgICAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYg
bnVsbExpdGVyYWwpIC0+IGJvb2wgewotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJv
b2w+KG1hdGNoQW5kQ29tbWl0KCp2YWx1ZVR5cGUsIG51bGxMaXRlcmFsLnR5cGUoKSkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYpIC0+IGJvb2wgewogICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXMoKnZhbHVlVHlwZSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbCkgLT4gYm9vbCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHJl
dmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDM0ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRf
RElTQUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRv
IGxpdmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBI
aWdoWm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZp
c2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNz
aW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3Zl
cnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0j
ZW5kaWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmlu
ZEhpZ2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNF
RF9QQVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6
OnZpc2l0KHByb2dyYW0pOwotI2VuZGlmCiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW5mZXJUeXBlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xJbmZlclR5cGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDEwICsxMjcsNiBAQCBSZWZQ
dHI8QVNUOjpVbm5hbWVkVHlwZT4gbWF0Y2hBbmRDb21taXQoCiAgICAgICAgIHJlc29sdmFibGVU
eXBlMi5yZXNvbHZlKGRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJl
c29sdmFibGVUeXBlMikucHJlZmVycmVkVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICZkb3duY2Fz
dDxBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTEpLnByZWZl
cnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNv
bHZhYmxlVHlwZTEpICYmIGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTIp
KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8gbWF0Y2ggbnVsbHB0ciBhbmQgbnVsbHB0
ciBmYWlscy4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQogICAgIHJldHVybiBudWxs
cHRyOwogfQogCkBAIC0xNTIsMTAgKzE0OCw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBj
b21taXQoQVNUOjpSZXMKICAgICAgICAgcmVzb2x2YWJsZVR5cGUucmVzb2x2ZSh1bnNpZ25lZElu
dGVnZXJMaXRlcmFsVHlwZS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1cm4gJnVuc2ln
bmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlz
PEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZSkpIHsKLSAgICAgICAgLy8gRklY
TUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRyIGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmlu
c2ljcy5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEludHJpbnNpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fYm9vbFR5cGU7CiAgICAgfQogCisgICAgQVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGJvb2xWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBz
aXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNp
emUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yQm9vbFtzaXpl
IC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRUeXBl
KCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3VpbnRUeXBlKTsKQEAgLTgyLDYgKzg4
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvclVpbnRbMl07CiAgICAgfQog
CisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRWZWN0b3JUeXBlRm9yU2l6ZSh1
bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9
PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9y
VWludFtzaXplIC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludDJUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3ZlY3RvckludFswXSk7
CkBAIC05NCw2ICsxMDYsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9ySW50
WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBpbnRWZWN0b3JU
eXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1
cm4gKm1fdmVjdG9ySW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgc2FtcGxlclR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
c2FtcGxlclR5cGUpOwpAQCAtMTI0LDYgKzE0MiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biAqbV92ZWN0b3JGbG9hdFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09
IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwog
ICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBtYXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1Qg
aWYgdGhleSBhcmUgdW51c2VkLgogICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiog
ZGR4KCkgY29uc3QKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYg
QEAKIAogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hM
U0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlw
ZS5oIgogI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMVHlwZVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgpAQCAtNzMsMTEgKzcyLDYgQEAgcHJp
dmF0ZToKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbik7CiAgICAgICAgIEFT
U0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24tPmNhblJlcHJlc2VudFVuc2lnbmVkSW50ZWdlcigp
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnZhbHVlKCkpKTsKICAgICB9Ci0KLSAgICB2b2lk
IHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJiBudWxsTGl0ZXJhbFR5cGUpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICBBU1NFUlQobnVsbExpdGVyYWxUeXBlLm1heWJlUmVzb2x2ZWRUeXBlKCkp
OwotICAgIH0KIH07CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUGFyc2VyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDMsOCArNDAzLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlQ29uc3RhbnRF
eHByZXNzaW9uKCkgLQogICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKHZhbHVlLmVy
cm9yKCkpOwogICAgICAgICByZXR1cm4ge3sgQVNUOjpGbG9hdExpdGVyYWwoeyAqdHlwZSB9LCAq
dmFsdWUpIH19OwogICAgIH0KLSAgICBjYXNlIFRva2VuOjpUeXBlOjpOdWxsOgotICAgICAgICBy
ZXR1cm4geyBBU1Q6Ok51bGxMaXRlcmFsKFdURk1vdmUoKnR5cGUpKSB9OwogICAgIGNhc2UgVG9r
ZW46OlR5cGU6OlRydWU6CiAgICAgICAgIHJldHVybiB7IEFTVDo6Qm9vbGVhbkxpdGVyYWwoV1RG
TW92ZSgqdHlwZSksIHRydWUpIH07CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6RmFsc2U6CkBAIC04
NzUsNyArODczLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlRW51bWVyYXRpb25NZW1iZXIoaW50Ngog
ICAgICAgICB9LCBbJl0oQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVn
ZXJMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKTsKICAgICAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRlcmFsJikgewotICAgICAgICB9
LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6Qm9vbGVhbkxp
dGVyYWwmKSB7CiAgICAgICAgIH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYp
IHsKICAgICAgICAgfSkpOwpAQCAtMjA2Myw3ICsyMDYwLDcgQEAgYXV0byBQYXJzZXI6OnBhcnNl
VGVybSgpIC0+IEV4cGVjdGVkPFVuaQogICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFT
VDo6RmxvYXRMaXRlcmFsPigqdHlwZSwgKnZhbHVlKSB9OwogICAgIH0KICAgICBjYXNlIFRva2Vu
OjpUeXBlOjpOdWxsOgotICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFTVDo6TnVsbExp
dGVyYWw+KCp0eXBlKSB9OworICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIidu
dWxsJyBpcyBhIHJlc2VydmVkIGtleXdvcmQuIiwgdHlwZS0+Y29kZUxvY2F0aW9uKSk7CiAgICAg
Y2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgbWFrZVVuaXF1ZVJlZjxB
U1Q6OkJvb2xlYW5MaXRlcmFsPigqdHlwZSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29s
IGR1bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBBU1RBZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNU
QXRFbmQgPSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1
cmVzID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJl
cyA9IHRydWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFT
VEJlZm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8
IGFsd2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNl
VGltZXMgPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVwYXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNM
IHsKIAotY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29tcGlsZVRpbWVzID0gZmFsc2U7Citjb25z
dGV4cHIgYm9vbCBkdW1wTWV0YWxDb21waWxlVGltZXMgPSB0cnVlOwogCiBVbmlxdWVSZWY8U2hh
ZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU3RyaW5nJiB3aGxzbFNvdXJjZSk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9ncmFtLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NzMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNM
UHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CituYW1lc3BhY2UgV0hMU0wgeworCitib29sIFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0
eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAgaWYgKG1fdmVjdG9yUHJvcGVydGllcy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
InoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV92
ZWN0b3JQcm9wZXJ0aWVzLmNvbnRhaW5zKHByb3BlcnR5KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQ
VSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUs
OCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVDb250ZXh0LmFkZChtX25hdGl2ZVR5
cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAgICBib29sIGlzVmFsaWRWZWN0b3JQ
cm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0KCkgeyByZXR1
cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3MmIGludHJpbnNpY3MoKSB7IHJldHVy
biBtX2ludHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkBAIC0xMDYsNiArMTA4LDcgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPj4gbV9mdW5jdGlv
bkRlZmluaXRpb25zOwogICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uPj4gbV9uYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uczsKICAgICBWZWN0b3I8VW5p
cXVlUmVmPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPj4gbV9uYXRpdmVUeXBlRGVjbGFyYXRp
b25zOworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlY3RvclByb3BlcnRpZXM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBy
b3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVy
dHlSZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04Mjgs
NiArODMwLDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsK
ICAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLwor
Cit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFj
ZSBXSExTTAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNo
YWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0
YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZp
bml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2
aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUK
LSAgICB7Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmlu
aXRpb24+KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpG
dW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZp
c2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRG
dW5jdGlvbihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rp
b24oZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0
aW9uKGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlz
aXQoZXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5p
dGlvbio+IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hh
YmxlRnVuY3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02ODksMTE3ICs2
ODksMTE3IEBAIGZsb2F0IHRyYW5zcG9zZShmbG9hdCB4KSB7CiBmbG9hdDJ4MiB0cmFuc3Bvc2Uo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRyYW5zcG9zZShmbG9h
dDN4MiB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4
WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cmFuc3Bvc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVsw
XTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwotICAgIHJlc3VsdFsxXVszXSA9IHhb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiB0cmFuc3Bvc2UoZmxvYXQy
eDMgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzFd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsy
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdHJhbnNwb3NlKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsy
XVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJhbnNwb3NlKGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsx
XTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSB4
WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CisgICAgcmVzdWx0WzNdWzJdID0g
eFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0
Mng0IHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhb
MV1bM107CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4
WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgdHJhbnNwb3NlKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1b
MF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9
IHhbMV1bM107Ci0gICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHRbMF1bM10g
PSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzNd
ID0geFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJhbnNwb3NlKGZs
b2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFsw
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
eFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9
IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
PSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0WzNdWzBd
ID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICByZXN1bHRbM11b
MV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFd
WzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwogICAgIHJlc3VsdFsz
XVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAgICByZXN1bHRb
MV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0
WzNdWzNdID0geFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTE2NSwxMTcgKzEx
NjUsMTE3IEBAIGZsb2F0NCBzYXR1cmF0ZShmbG9hdDQgeCkgewogZmxvYXQyeDIgc2F0dXJhdGUo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2F0dXJhdGUoZmxvYXQyeDMgeCkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgc2F0dXJhdGUoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBz
YXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2F0dXJhdGUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1
cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
YXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgc2F0
dXJhdGUoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgc2F0dXJhdGUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBz
YXR1cmF0ZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgewog
ICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1
cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgc2F0dXJhdGUo
ZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0
ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1
cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgc2F0dXJhdGUoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0
ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
YXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0g
PSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBzYXR1cmF0ZSh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTMwOSwxMTcgKzEzMDksMTE3IEBAIGZs
b2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0MngyIG1hZChmbG9h
dDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBt
YWQoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1hZChmbG9hdDN4MiB4LCBmbG9hdDN4
MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0s
IHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwg
ZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
YWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQo
eFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5
WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1h
ZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1h
ZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFsz
XVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYWQoZmxvYXQ0eDMgeCwgZmxv
YXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFk
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBt
YWQoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTE0MjksMTAxNCArMTQyOSw3NDEgQEAgZmxvYXQ0eDQgbWFkKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsbwogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogaXApIHsKICAgICB1
aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0gICAgICAgICppcCA9
IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOwogICAgIHJl
dHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgsIHRocmVhZCBmbG9h
dDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0g
PSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5
KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9
IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRo
cmVhZCBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
Ml0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM10gPSBt
b2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10g
PSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5KSB7
CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1b
MF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsx
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbW9k
ZihmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1b
MV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZs
b2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbW9kZihm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9k
Zih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFsz
XVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFd
WzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBt
b2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZs
b2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0g
PSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10s
ICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwor
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYo
eFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFsz
XVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZs
b2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMl0g
PSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwor
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgqeSlbM11bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2Rm
KHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIGRldmljZSBmbG9hdCog
aXApIHsKICAgICB1aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0g
ICAgICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1
bHQpOwogICAgIHJldHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgs
IGRldmljZSBmbG9hdDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHkpIHsK
ICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBt
b2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhb
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZm
ZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7Cisg
ICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZs
b2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbM10gPSBtb2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM10gPSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHkp
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZm
ZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgZGV2aWNlIGZs
b2F0MngzKiB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVsw
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQy
eDQqIHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIp
OworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtb2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4
NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVsz
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsx
XVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsw
XSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFsz
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgz
KiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsy
XVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsy
XSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlb
MV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0g
bW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gYnVmZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgq
eSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0KiBpcCkgewogICAgIHVpbnQgcmVzdWx0ID0gdWludCh4KTsKLSAgICBp
ZiAoaXAgIT0gbnVsbCkKLSAgICAgICAgKmlwID0geCAtIGZsb2F0KHJlc3VsdCk7CisgICAgKmlw
ID0geCAtIGZsb2F0KHJlc3VsdCk7CiAgICAgcmV0dXJuIGZsb2F0KHJlc3VsdCk7CiB9CiBmbG9h
dDIgbW9kZihmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5KSB7CiAgICAgZmxvYXQyIHJl
c3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlb
MV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtb2RmKGZsb2F0MyB4
LCB0aHJlYWRncm91cCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCog
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XSA9IG1vZGYoeFswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXSA9IG1v
ZGYoeFsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXSA9IG1vZGYoeFsy
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXSA9IG1vZGYoeFszXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtb2Rm
KGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0MngzKiB5KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSkgewog
ICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBt
b2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
bW9kZihmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4
WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbW9kZihmbG9h
dDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgzKiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1
ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0
KiB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgKCp5KVszXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
M11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bMl0gPSBtb2Rm
KHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10g
PSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bM10gPSBtb2RmKHhbM11bM10sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBidWZmZXI7
CisgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0z
MzQwLDExNyArMzA2NywxMTcgQEAgZmxvYXQ0IGV4cDIoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGV4
cDIoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGV4cDIoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgZXhwMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGV4cDIoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cDIo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGV4cDIoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4
cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgZXhwMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhw
Mih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGV4cDIoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cDIo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gZXhwMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBleHAyKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
Mih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZXhwMihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAy
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIo
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGV4cDIoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGV4cDIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4
cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwMih4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAyKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNd
WzJdID0gZXhwMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
Mih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC00NDcxLDExNyArNDE5OCwxMTcgQEAgZmxvYXQ0IGF0YW4oZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIGF0YW4oZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGF0YW4oZmxvYXQyeDMgeCkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYXRhbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGF0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4oZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbihmbG9hdDN4MyB4KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGF0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGF0YW4oZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBh
dGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBhdGFuKGZsb2F0
NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0
YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFu
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGF0YW4oZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
dGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4
WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGF0
YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBhdGFuKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00NzEyLDExNyArNDQzOSwxMTcgQEAg
ZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgpIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nKGZsb2F0
MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2coeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxvZyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2co
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nKGZsb2F0M3gyIHgpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
bG9nKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2coZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBsb2coeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxvZyhmbG9h
dDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZyh4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01MzA1LDExNyArNTAzMiwxMTcgQEAgZmxv
YXQ0IHNpbihmbG9hdDQgeCkgewogZmxvYXQyeDIgc2luKGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2luKGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIHNpbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lu
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNp
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2lu
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBzaW4oZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
c2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBz
aW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNpbihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01OTgwLDQ1NDAgKzU3MDcsMjkwMiBAQCBmbG9h
dDQgb3BlcmF0b3IueXl6eChmbG9hdDQgdikgewogCiAvKiBGdW5jdGlvbnMgbmFtZWQgc2luY29z
ICovCiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIHksIHRocmVhZCBmbG9hdCog
eikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOworICAgICp5ID0gc2luKHgpOworICAgICp6
ID0gY29zKHgpOwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRo
cmVhZCBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZCBmbG9hdDQqIHksIHRocmVhZCBm
bG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9h
dDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJl
YWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMq
IHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJl
YWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4Myog
eSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFk
IGZsb2F0MiogeSwgZGV2aWNlIGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgZGV2
aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0
NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4
MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRldmlj
ZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCog
eSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxv
YXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRo
cmVhZCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxv
YXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhy
ZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHksIGRl
dmljZSBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWRn
cm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICp5ID0gc2luKHgp
OwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgpOwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMg
eCwgdGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwg
dGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5
LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBm
bG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVh
ZCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhy
ZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4Myogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVh
ZCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3Mo
eCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9h
dDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhy
ZWFkIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0
M3g0KiB5LCB0aHJlYWQgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9h
dDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJl
YWQgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZCBmbG9hdDR4NCogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQy
KiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCBkZXZpY2UgZmxv
YXQzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5LCBk
ZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0K
IHZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0
MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCBkZXZp
Y2UgZmxvYXQyeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4Miog
eSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZs
b2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAg
ICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4Miog
eSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxv
YXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgZGV2aWNlIGZs
b2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZs
b2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZp
Y2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2Ug
ZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0
Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0
M3gzKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0
IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxv
YXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4
LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0
NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgp
OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSwgdGhyZWFk
IGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRo
cmVhZCBmbG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4Miog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhy
ZWFkIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSwgdGhyZWFk
IGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZCBm
bG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11b
M10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRn
cm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0
MyogeSwgZGV2aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0Mngy
KiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxv
YXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJl
c3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQz
eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwg
ZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5
LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQg
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwg
ZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9
IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9h
dDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gz
KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgs
IHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdy
b3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAg
ZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9CiAKIApAQCAtMTA4NTEs
MTE3ICs4OTQwLDExNyBAQCBmbG9hdDQgc21vb3Roc3RlcChmbG9hdDQgeCwgZmxvYXQ0IHksIGZs
CiBmbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHop
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0
ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Ro
c3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzbW9v
dGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBzbW9vdGhzdGVwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHop
IHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Ro
c3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9v
dGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
c21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IHNtb290aHN0ZXAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxv
YXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9v
dGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
c21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzbW9vdGhzdGVwKGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwg
elsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNtb290aHN0ZXAoZmxv
YXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBzbW9vdGhzdGVwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3Rl
cCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhz
dGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNtb290
aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21v
b3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
bW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNtb290aHN0ZXAo
ZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVw
KHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0
ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21vb3Ro
c3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzbW9v
dGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNt
b290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0
NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNt
b290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1b
Ml0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVsz
XVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5
WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNd
WzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTExMTgs
MTE3ICs5MjA3LDExNyBAQCBmbG9hdDQgZXhwKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAoZmxv
YXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBleHAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4
cCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZXhwKGZsb2F0Mng0
IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZXhwKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBleHAoZmxvYXQz
eDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBleHAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgyIGV4cChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4
cCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZXhwKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBleHAoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZXhwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBl
eHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7
CiAgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bM10gPSBleHAoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyMTA3LDIz
NCArMTAxOTYsMjM0IEBAIGJvb2wgYWxsKGZsb2F0NCB4KSB7CiBib29sIGFsbChmbG9hdDJ4MiB4
KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0MngzIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYWxsKGZsb2F0Mng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDN4MiB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBi
b29sIGFsbChmbG9hdDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYWxsKGZsb2F0NHgyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbGwoZmxvYXQ0eDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wy
eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBh
bGwoYm9vbDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sMng0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGJvb2wgYWxsKGJvb2wzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDN4MyB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sM3g0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2w0eDIgeCkgewog
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHg0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
M107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyODA3LDExNyArMTA4OTYsMTE3IEBAIGZsb2F0NCBkZHhf
ZmluZShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR4X2ZpbmUoZmxvYXQyeDIgeCkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4X2ZpbmUoZmxv
YXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZGR4X2ZpbmUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhf
ZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2ZpbmUoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2ZpbmUo
ZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDIgZGR4X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmlu
ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4X2ZpbmUoZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHhfZmlu
ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhf
ZmluZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2ZpbmUo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHhf
ZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHhfZmluZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTQxNjAsMTE3ICsxMjI0OSwxMTcgQEAgZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByc3FydChmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByc3FydChmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyByc3FydChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByc3FydChmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJz
cXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiByc3FydChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByc3FydChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJz
cXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByc3Fy
dChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJz
cXJ0KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHJzcXJ0KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHJzcXJ0KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDcz
OSwxMTcgKzEyODI4LDExNyBAQCBmbG9hdDQgc3FydChmbG9hdDQgeCkgewogZmxvYXQyeDIgc3Fy
dChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgc3FydChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBzcXJ0KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBzcXJ0KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzcXJ0KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNxcnQoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0
NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzcXJ0KGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
cXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc3Fy
dCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNxcnQoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTE0ODgwLDExNyArMTI5NjksMTE3IEBAIGZsb2F0NCBhY29zKGZsb2F0
NCB4KSB7CiBmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsK
ICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFj
b3MoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFjb3MoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhY29zKGZsb2F0M3gy
IHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhY29zKGZs
b2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
YWNvcyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYWNvcyhmbG9h
dDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3Mo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
Y29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGFjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBhY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGFjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3Mo
eFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBh
Y29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTUzOTMsMTE3ICsxMzQ4MiwxMTcg
QEAgZmxvYXQ0IHRhbmgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbmgoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IHRhbmgoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
dGFuaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdGFuaChmbG9h
dDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHRhbmgoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdGFu
aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5o
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IHRhbmgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1b
MF0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRh
bmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFu
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRhbmgoZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0
YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0YW5oKGZsb2F0NHg0IHgpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0YW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNd
WzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
aCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9
IHRhbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTU2ODUsMTE3ICsxMzc3NCwxMTcgQEAgZmxvYXQ0IGNvcyhmbG9hdDQgeCkg
ewogZmxvYXQyeDIgY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY29zKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGNvcyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNv
cyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29z
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBj
b3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGNvcyhmbG9hdDN4
MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGNvcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgY29zKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGNvcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3Mo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGNvcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29z
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CkBAIC0xNjI1OSwxMTcgKzE0MzQ4LDExNyBAQCBmbG9hdDQgbG9nMihmbG9hdDQgeCkg
ewogZmxvYXQyeDIgbG9nMihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMihmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMihmbG9hdDN4MiB4KSB7
CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsb2cyKGZsb2F0M3gzIHgpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9n
Mih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMihmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzIo
eFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxvZzIoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBsb2cyKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
Mih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
bG9nMihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBs
b2cyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsK
ICAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxv
ZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxvZzIoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2NDE3LDExNyArMTQ1MDYsMTE3IEBAIGZs
b2F0NCBsZGV4cChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGxkZXhwKGZsb2F0Mngy
IHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGxkZXhwKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxkZXhwKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRl
eHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxkZXhwKGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRl
eHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAo
eFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRl
eHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAo
eFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRl
eHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAo
eFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
bGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVsz
XSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxkZXhwKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRl
eHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwg
eVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxkZXhw
KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsy
XSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwg
eVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFsz
XVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
bGRleHAoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
QEAgLTE2NzgwLDExNyArMTQ4NjksMTE3IEBAIGZsb2F0NCBhYnMoZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIGFicyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGFicyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
YnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYWJzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBh
YnMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGFicyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBhYnMoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGFicyhmbG9hdDN4NCB4KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJz
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhYnMo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWJz
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBhYnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBh
YnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFi
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJz
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhYnMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGFi
cyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBh
YnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFi
cyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYWJz
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGFicyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMTY5NTYsMTE3ICsxNTA0NSwxMTcgQEAgZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CiBmbG9h
dDJ4MiByb3VuZChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByb3VuZChmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByb3VuZChmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJv
dW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MiByb3VuZChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJv
dW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyByb3VuZChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJv
dW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByb3VuZChmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJv
dW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5k
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IHJvdW5kKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByb3Vu
ZChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5k
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJv
dW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByb3VuZChmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJv
dW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5k
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByb3VuZChmbG9hdDR4
NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJvdW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5k
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IHJv
dW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhb
Ml1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJvdW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHJvdW5kKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzIxMCwyMzQgKzE1
Mjk5LDIzNCBAQCBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdCB5KSB7CiBmbG9hdDJ4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHgg
KiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsy
XVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwogICAg
IHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1
bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1b
MV0gPSB4WzJdWzFdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZs
b2F0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFd
ID0geCAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9h
dDJ4NCB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJl
c3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5
OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhb
Ml1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFsw
XVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10g
KiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9
IHhbM11bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQg
eCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICByZXN1
bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsK
ICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICog
eVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0
WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7Cisg
ICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHgg
KiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAg
IHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1bHRbMV1bMF0g
PSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICBy
ZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzBdWzFd
ID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAq
IHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJd
WzNdID0geCAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdCB5KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0g
KiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3Vs
dFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5Owog
ICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV0gKiB5OwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJl
c3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5
OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwogICAgIHJlc3VsdFsyXVsyXSA9IHhb
Ml1bMl0gKiB5OwotICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3VsdFsz
XVsyXSA9IHhbM11bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0g
PSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSB4ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSB4ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZs
b2F0NHgyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAg
cmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
eFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsy
XSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNd
ID0geFsxXVszXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG11bChmbG9h
dCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHgg
KiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsw
XVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAg
IHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9
IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICog
eTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4
WzJdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJd
ICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICByZXN1
bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsK
KyAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJd
WzNdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0IHgsIGZs
b2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CiAgICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzBdID0geCAqIHlb
M11bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CiAgICAgcmVz
dWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAq
IHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAg
cmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzNdID0geCAqIHlbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9h
dCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0g
KiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9
IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3Vs
dFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owot
ICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1b
M10gKiB5OwogICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsx
XSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwotICAgIHJl
c3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwogICAgIHJlc3VsdFsz
XVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0g
KiB5OwogICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9
IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJlc3Vs
dFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5Owog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzQ3Miw5ICsxNTU2MSw5IEBAIGZsb2F0MiBtdWwo
ZmxvYXQyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc0ODIsOSArMTU1NzEsOSBAQCBmbG9hdDIg
bXVsKGZsb2F0MngyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NDkyLDk1ICsxNTU4MSw5NSBAQCBm
bG9hdDMgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsx
XSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsy
XSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzIHkpIHsK
ICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9
IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5
WzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtdWwoZmxvYXQyIHgsIGZsb2F0Mng0IHkp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICBy
ZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl0gPSAw
OwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFsz
XSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICog
eVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyIG11bChmbG9hdDJ4NCB4LCBm
bG9hdDQgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICBy
ZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0g
eFswXVszXSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJl
c3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlb
M107CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07
CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsK
KyAgICByZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MiBtdWwoZmxvYXQzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVsw
XSAqIHlbMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAq
IHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzFdICogeVsxXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQzeDMg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsx
XVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1
bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NTg4
LDE1ICsxNTY3NywxNSBAQCBmbG9hdDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
WzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsK
KyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0g
KiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlb
MF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4
WzJdWzJdICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc2MDQsMTMxICsxNTY5
MywxMzEgQEAgZmxvYXQ0IG11bChmbG9hdDMgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKICAgICByZXN1bHRb
Ml0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0g
Kz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlb
Ml1bMl07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsy
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDN4NCB4LCBmbG9hdDQg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlbM107CiAg
ICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAg
cmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICog
eVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFd
OworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsx
XVsyXSAqIHlbMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzNdICogeVszXTsKKyAgICByZXN1bHRbMl0gKz0geFszXVsyXSAqIHlbM107
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5
WzNdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdICs9IHhbM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDQg
bXVsKGZsb2F0NHgyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4
WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CiAgICAgcmVz
dWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsK
KyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MyBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhb
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKKyAgICByZXN1
bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzFdWzNd
OwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDQgbXVsKGZsb2F0NHgzIHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsx
XVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJd
ICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKICAg
ICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbM10gKz0geFszXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5
WzJdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0g
eFsxXVszXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl1bM10gKiB5WzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAg
ZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsK
KyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0g
Kz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSAr
PSB4WzNdICogeVsxXVszXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsx
XTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhb
M10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICByZXN1
bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
M10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzJdWzNdOwor
ICAgIHJlc3VsdFszXSArPSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XSArPSB4WzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3MzYsMjMg
KzE1ODI1LDIzIEBAIGZsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9h
dDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAg
IHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAq
IHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9
IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVsz
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhb
M11bMV0gKiB5WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1b
MF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwog
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJlc3VsdFsz
XSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSAr
PSB4WzNdWzFdICogeVsxXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07CisgICAg
cmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdWzNdICog
eVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXVszXSAqIHlbMl07CiAgICAgcmVzdWx0WzNdICs9
IHhbM11bM10gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzc2MCwxNSArMTU4
NDksMTUgQEAgZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3Nzc2LDEwNjMgKzE1ODY1LDEwNjMgQEAg
ZmxvYXQyeDMgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0g
PSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5
WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAw
OwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsx
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDIgeSkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4NCB5KSB7CiAg
ICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVsz
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0g
PSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsz
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAw
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHg0IHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbM11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsz
XVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9
IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0g
Kz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNd
WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxv
YXQyeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwog
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG11bChmbG9hdDN4MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4
WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFd
OwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQz
eDIgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
PSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRb
M11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
MV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsx
XVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1
bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1b
MV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0g
MDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBd
WzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzFdID0g
MDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsy
XVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0g
KiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDMg
eCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1b
MF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVsw
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10g
PSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
MV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0g
KiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJd
WzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Cisg
ICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFsz
XVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAw
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9
IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDMgeSkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVsw
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsz
XVsxXSAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
M11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0
eDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICog
eVszXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
MV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBd
ID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBd
ICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1b
M107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1
bHRbMl1bM10gKz0geFsyXVszXSAqIHlbM11bM107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0
eDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0
WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSAw
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsK
LSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVsw
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1b
MV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFd
WzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
MV1bMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJd
WzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBd
WzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJd
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsy
XVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBd
ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzNdICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVs
KGZsb2F0NHgzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRb
MF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0g
KiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
MDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
c3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
MV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzNdID0gMDsK
LSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNd
ICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsy
XVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVszXSArPSB4WzJdWzNd
ICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHg0
IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVsw
XSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11b
MF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBd
WzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
M11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbM11b
M10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9
IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
M11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlb
M11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbM11bMl0gKz0geFszXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9
IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
LSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4
WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAg
cmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
MV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAq
IHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10gKz0geFsy
XVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVszXSAqIHlbM11bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4
WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzJdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1b
M10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICog
eVsyXVszXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsxXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTkx
MjgsMTE3ICsxNzIxNywxMTcgQEAgZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IHJhZGlhbnMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJhZGlhbnMoZmxvYXQyeDMg
eCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcmFkaWFucyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5z
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5z
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFkaWFu
cyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByYWRpYW5zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlh
bnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlh
bnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJhZGlh
bnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlh
bnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRp
YW5zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRp
YW5zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRp
YW5zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRp
YW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJhZGlhbnMoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwogICAg
IHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmFk
aWFucyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByYWRpYW5zKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTI5OSwxMTcgKzE3Mzg4LDExNyBAQCBmbG9hdDQgY2Vp
bChmbG9hdDQgeCkgewogZmxvYXQyeDIgY2VpbChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2Vp
bCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY2VpbChmbG9hdDJ4
MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBjZWlsKGZsb2F0Mng0IHgpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBj
ZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgY2VpbChm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjZWlsKGZsb2F0M3gzIHgp
IHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWls
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
Y2VpbChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBj
ZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IGNlaWwoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGNl
aWwoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2Vp
bCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBjZWlsKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwo
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgY2VpbChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNl
aWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2Vp
bCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IGNlaWwoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5NTI0LDExNyArMTc2
MTMsMTE3IEBAIGZsb2F0NCBhc2luKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhc2luKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBhc2luKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFzaW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFz
aW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhc2luKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNp
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGFzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
YXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGFzaW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBh
c2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBhc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNp
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYXNpbihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGFzaW4oZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhc2luKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhc2luKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
YXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFzaW4o
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTk5OTEsMTE3ICsxODA4MCwxMTcgQEAgZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKIGZsb2F0MngyIHBvdyhmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1b
MV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBwb3coZmxvYXQy
eDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10p
OworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHBvdyhmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBwb3coZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBv
dyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHBvdyhmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBv
dyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBw
b3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
cG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10s
IHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsx
XSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1b
M10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBwb3coZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcG93KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHBvdyhmbG9hdDR4NCB4LCBmbG9h
dDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHBv
dyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBw
b3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA0NTQs
MTE3ICsxODU0MywxMTcgQEAgZmxvYXQ0IHRhbihmbG9hdDQgeCkgewogZmxvYXQyeDIgdGFuKGZs
b2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0
YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHRhbihmbG9hdDJ4
NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IHRhbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdGFuKGZsb2F0
M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRhbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdGFuKGZsb2F0M3g0IHgpIHsKICAgICBmbG9h
dDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRh
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFu
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRh
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgzIHRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
dGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0
YW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRh
bih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdGFuKGZsb2F0NHg0
IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IHRhbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OwogICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRh
bih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gdGFuKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yMDU5Nywx
MTcgKzE4Njg2LDExNyBAQCBmbG9hdDQgZm1hKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHop
CiBmbG9hdDJ4MiBmbWEoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewogICAg
IGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxv
YXQyeDMgeikgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0
IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZt
YSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0s
IHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbWEo
ZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewogICAgIGZsb2F0M3gyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
YSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZm1hKGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQz
eDQgeikgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBd
WzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZtYShmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9h
dDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1h
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
Zm1hKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1h
KHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhb
Ml1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBmbWEoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBm
bWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1hKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJd
WzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBmbWEoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNzE3LDU5ICsxODgwNiw1OSBAQCBmbG9hdCBkZXRl
cm1pbmFudChmbG9hdCB4KSB7CiAgICAgcmV0dXJuIHg7CiB9CiBmbG9hdCBkZXRlcm1pbmFudChm
bG9hdDJ4MiB4KSB7Ci0gICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFswXVsxXSAqIHhb
MV1bMF07CisgICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFsxXVswXSAqIHhbMF1bMV07
CiB9CiBmbG9hdCBkZXRlcm1pbmFudChmbG9hdDN4MyB4KSB7CiAgICAgcmV0dXJuIHhbMF1bMF0g
KiB4WzFdWzFdICogeFsyXVsyXSArCi0gICAgICAgICAgIHhbMF1bMV0gKiB4WzFdWzJdICogeFsy
XVswXSArCi0gICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzBdICogeFsyXVsxXSAtCi0gICAgICAg
ICAgIHhbMl1bMF0gKiB4WzFdWzFdICogeFswXVsyXSAtCi0gICAgICAgICAgIHhbMl1bMV0gKiB4
WzFdWzJdICogeFswXVswXSAtCi0gICAgICAgICAgIHhbMl1bMl0gKiB4WzFdWzBdICogeFswXVsx
XTsKKyAgICAgICAgICAgeFsxXVswXSAqIHhbMl1bMV0gKiB4WzBdWzJdICsKKyAgICAgICAgICAg
eFsyXVswXSAqIHhbMF1bMV0gKiB4WzFdWzJdIC0KKyAgICAgICAgICAgeFswXVsyXSAqIHhbMV1b
MV0gKiB4WzJdWzBdIC0KKyAgICAgICAgICAgeFsxXVsyXSAqIHhbMl1bMV0gKiB4WzBdWzBdIC0K
KyAgICAgICAgICAgeFsyXVsyXSAqIHhbMF1bMV0gKiB4WzFdWzBdOwogfQogZmxvYXQgZGV0ZXJt
aW5hbnQoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0IHJlc3VsdDsKICAgICBmbG9hdDN4MyBtaW5v
cjsKICAgICBtaW5vclswXVswXSA9IHhbMV1bMV07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzJd
OwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKICAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07
Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOwotICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsK
ICAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwor
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKICAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Cisg
ICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKICAg
ICBtaW5vclsyXVsyXSA9IHhbM11bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVswXSAq
IGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07Ci0gICAgbWlu
b3JbMF1bMV0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKLSAgICBtaW5v
clsxXVswXSA9IHhbMl1bMF07CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9y
WzFdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3Jb
MF1bMV0gPSB4WzBdWzJdOwogICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsx
XVsyXSA9IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwogICAgIG1pbm9yWzJd
WzFdID0geFszXVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9
IHhbMV1bMF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0g
eFsxXVszXTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4
WzJdWzFdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsKICAgICBtaW5vclsxXVsyXSA9IHhb
Ml1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0geFsz
XVsxXTsKICAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsg
eFswXVsyXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07
Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVsyXTsK
LSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzFdOwot
ICAgIG1pbm9yWzFdWzJdID0geFsyXVsyXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMF07Ci0g
ICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgLSB4WzBdWzNdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIHJl
c3VsdCA9IHJlc3VsdCAtIHhbMV1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAgbWlub3Jb
MF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBtaW5vclsy
XVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1pbm9yWzFd
WzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3JbMF1b
Ml0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsyXVsy
XSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFsyXVswXSAqIGRldGVybWluYW50
KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlub3JbMV1bMF0gPSB4
WzFdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclswXVsxXSA9IHhb
MF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzJdWzFdID0geFsy
XVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3JbMV1bMl0gPSB4WzFd
WzNdOworICAgIG1pbm9yWzJdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgLSB4
WzNdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTIwODM0LDExNyArMTg5MjMsMTE3IEBAIGZsb2F0NCBmbG9vcihmbG9hdDQgeCkgewogZmxvYXQy
eDIgZmxvb3IoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZmxvb3IoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZmxvb3IoZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbG9v
cih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZmxvb3IoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9v
cih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgZmxvb3IoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9v
cih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZmxvb3IoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9v
cih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBmbG9vcih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZmxvb3Io
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
bG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBmbG9vcih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9v
cih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZmxvb3IoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9v
cih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBm
bG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZmxvb3IoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmbG9vcih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
bG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBmbG9v
cih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmbG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBm
bG9vcih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjEyNDcsMTE3ICsxOTMz
NiwxMTcgQEAgZmxvYXQ0IGF0YW4yKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxvYXQyeDIgYXRh
bjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgYXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFu
Mih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgYXRhbjIoZmxv
YXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFu
Mih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBh
dGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJd
LCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0
eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgYXRhbjIoZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBh
dGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFu
Mih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
Mih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBh
dGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtMjIzMzcsMTE3ICsyMDQyNiwxMTcgQEAgZmxvYXQ0IGZtb2QoZmxvYXQ0
IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbW9kKGZsb2F0
MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0Mng0IGZtb2QoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhb
MF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11b
MV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbW9kKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
b2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGZtb2QoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbW9kKGZsb2F0
M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
b2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2Qo
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
Zm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
Zm1vZChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2Qo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
Zm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2Qo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Zm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1v
ZCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBmbW9kKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1v
ZCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CiAgICAg
cmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsK
ICAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwg
eVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5WzNdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjMwOTMsMTE3ICsyMTE4MiwxMTcgQEAgZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIG1pbihmbG9hdDJ4MiB4LCBmbG9hdDJ4
MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBd
WzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1pbihmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFsw
XVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBtaW4oZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4o
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWlu
KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1pbihmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
aW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtaW4oZmxvYXQzeDMgeCwg
ZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
aW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0s
IHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNd
WzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWluKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBd
WzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyBtaW4oZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4o
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWlu
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1p
bih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBt
aW4oeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1p
bihmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
aW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVsz
XSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IG1pbih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMjM1MzIsMTE3ICsyMTYyMSwxMTcgQEAgZmxvYXQ0IHRydW5jKGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiB0cnVuYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRy
dW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiB0cnVuYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRydW5j
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCB0cnVuYyhmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5j
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRy
dW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiB0cnVuYyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRy
dW5jKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0cnVuYyhmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRy
dW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5j
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0cnVu
YyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5j
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRy
dW5jKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHRydW5jKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5j
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHRydW5jKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNDY0
NSwxMTcgKzIyNzM0LDExNyBAQCBmbG9hdDQgbWF4KGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxv
YXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1heChmbG9hdDJ4NCB4LCBmbG9h
dDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1h
eCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbWF4
KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1h
eCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG1heChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0s
IHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbWF4KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4
WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1heChmbG9hdDR4MyB4LCBmbG9h
dDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1h
eCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBt
YXgoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwg
eVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0s
IHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFd
LCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbWF4KHhbM11b
M10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNzQ4MCwxMTcgKzI1NTY5
LDExNyBAQCBmbG9hdDQgZGVncmVlcyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZGVncmVlcyhmbG9h
dDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdy
ZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdy
ZWVzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZWdyZWVzKGZs
b2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVn
cmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGVn
cmVlcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGVncmVlcyhm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRl
Z3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBkZWdyZWVzKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZGVncmVlcyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgyIGRlZ3JlZXMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9
IGRlZ3JlZXMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBkZWdyZWVzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBkZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgZGVncmVlcyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTI4MTEyLDExNyArMjYyMDEsMTE3IEBAIGZsb2F0NCBzaW5oKGZsb2F0NCB4KSB7
CiBmbG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBzaW5oKGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbmgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
aW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzaW5oKGZsb2F0M3gyIHgpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5o
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBzaW5oKGZsb2F0M3g0
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2luaChmbG9hdDR4MiB4
KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2luaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2lu
aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgz
IHNpbmgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBz
aW5oKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNp
bmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2lu
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luaCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjgyNTMsMTE3ICsyNjM0MiwxMTcgQEAgZmxv
YXQ0IGRkeShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR5KGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRk
eSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGR5KGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHkoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR5KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIGRkeShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgZGR5KGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBk
ZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHkoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHkoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGRkeShmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzA4NCwxMTcgKzMxMTczLDExNyBAQCBmbG9h
dDQgZnJhYyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZnJhYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZnJhYyhm
bG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZy
YWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBmcmFjKGZsb2F0Mng0IHgp
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFj
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZnJhYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
cmFjKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBmcmFjKGZsb2F0
M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZy
YWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgZnJhYyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIGZyYWMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBmcmFjKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGZyYWMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZnJhYyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBm
cmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGZyYWMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTMzNDU5LDEx
NyArMzE1NDgsMTE3IEBAIGZsb2F0NCBsb2cxMChmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nMTAo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBsb2cxMCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMTAo
ZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbG9nMTAo
ZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cx
MCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cx
MCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBs
b2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbG9nMTAoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cx
MCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cx
MCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAg
ICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cx
MCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBsb2cxMCh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzM4MjMsMTE3ICszMTkxMiwxMTcgQEAg
ZmxvYXQ0IGRkeV9maW5lKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBk
ZHlfZmluZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5l
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfZmluZShmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4
KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9m
aW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5l
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9m
aW5lKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNDE5OCwyMzQgKzMyMjg3LDIzNCBAQCBib29sIGFueShm
bG9hdDQgeCkgewogYm9vbCBhbnkoZmxvYXQyeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQyeDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0Mng0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
M10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
Ml0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0M3gzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNd
WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDR4MiB4KSB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYW55KGZsb2F0NHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDQgeCkg
ewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAh
PSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
M11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzNdICE9IDAp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngyIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBib29sIGFueShib29sMng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFu
eShib29sM3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFd
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sM3gzIHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBib29sIGFueShib29sM3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgyIHgpIHsKICAgICBib29sIHJl
c3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHg0IHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CkBAIC0zNDYzNiwxMTcgKzMyNzI1LDExNyBAQCBmbG9hdDQgZGR5X2NvYXJzZShm
bG9hdDQgeCkgewogZmxvYXQyeDIgZGR5X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQy
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fy
c2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBkZHlfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fy
c2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2Nv
YXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZGR5X2NvYXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfY29h
cnNlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlf
Y29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRk
eV9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJz
ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeV9jb2Fyc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9j
b2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5
X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fy
c2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlf
Y29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBkZHlfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2Uo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRk
eV9jb2Fyc2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1MDk1LDExNyAr
MzMxODQsMTE3IEBAIGZsb2F0NCBkZHgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRkeChmbG9hdDJ4
MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGRkeChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHgo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeChmbG9hdDN4MiB4
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR4KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgZGR4KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHgoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MyBkZHgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4KHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeChmbG9hdDR4NCB4KSB7
CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGRkeCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IGRkeCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzUzODQsMTE3ICsz
MzQ3MywxMTcgQEAgZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNvc2goZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQg
Y29zaChmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2go
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBj
b3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNv
c2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDMgY29zaChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvc2goZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2go
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBj
b3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3NoKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29z
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgY29zaChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3No
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvc2go
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNvc2goZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNv
c2goeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhb
Ml1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY29z
aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0zNTUyNywxMTcgKzMzNjE2LDExNyBAQCBmbG9hdDQgZGR4X2NvYXJzZShmbG9hdDQg
eCkgewogZmxvYXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29h
cnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29h
cnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4
X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR4X2Nv
YXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHhfY29hcnNlKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4
X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fy
c2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhf
Y29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
Y29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2Uo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHhfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29h
cnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9j
b2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBk
ZHhfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeF9jb2Fy
c2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1OTgyLDExNyArMzQwNzEs
MTE3IEBAIGZsb2F0NCByY3AoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNw
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJj
cChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHJjcChmbG9hdDN4MiB4KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4MyByY3AoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3Ao
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
Y3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNw
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3Ao
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcmNw
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBy
Y3AoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
Y3AoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJjcChmbG9hdDR4NCB4KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBy
Y3AoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHJj
cCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzY0ODQsMTE3ICszNDU3Mywx
MTcgQEAgZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkgewogZmxvYXQyeDIgZndpZHRoKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgZndpZHRoKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGZ3aWR0aChmbG9hdDJ4NCB4KSB7CiAgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRo
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgZndpZHRoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3
aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZ3aWR0aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZndpZHRoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3
aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmd2lkdGgo
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
d2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZ3aWR0aChmbG9hdDR4MyB4KSB7
CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndp
ZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRo
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3
aWR0aCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
ZndpZHRoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNzI0MiwxMTcgKzM1
MzMxLDExNyBAQCBmbG9hdDQgbGVycChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6CiBmbG9h
dDJ4MiBsZXJwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBsZXJwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZs
b2F0MngzIHopIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVy
cCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxlcnAoZmxvYXQyeDQgeCwgZmxvYXQyeDQg
eSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxl
cnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJd
WzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0s
IHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MiBsZXJwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gy
IHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxlcnAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxv
YXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4NCBsZXJwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsK
ICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11b
MV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
ZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAo
eFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBd
LCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxlcnAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxv
YXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGVy
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5
WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1b
M10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZXJwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBs
ZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxlcnAo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsy
XVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbGVycCh4WzNdWzNdLCB5WzNdWzNd
LCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3Rh
bmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAgICBW
aXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSBv
dmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFt
ZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7Ci0g
ICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVy
RnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFtZXM7
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5j
dGlvbnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVz
aXplRW51bWVyYXQKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZp
bml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5h
cHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpu
dWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9z
dHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2Rl
OjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RG
TW92ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBl
bnVtIHR5cGUuIikpOwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2
YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KGxvY2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVs
bHB0cik7Ci0gICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7
Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRp
b24pKTsKICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNU
OjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+
dHlwZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRy
LCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAg
ICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikp
KQogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNy
ZWF0ZSBjb3B5IGNvbnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFZpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsOCArMTkyLDYgQEAgdm9pZCBW
aXNpdG9yOjp2aXNpdChBU1Q6OkNvbnN0YW50RXhwcmVzcwogICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRl
cmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0
ZXJhbCk7Ci0gICAgfSwgWyZdKEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKSB7Ci0gICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6Qm9v
bGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKSB7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChib29sZWFuTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpIHsKQEAgLTIzOCwxMSArMjM2LDYgQEAgdm9p
ZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZgogICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChmbG9hdExpdGVyYWwudHlwZSgpKTsKIH0KIAotdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6
Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobnVs
bExpdGVyYWwudHlwZSgpKTsKLX0KLQogdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkJvb2xlYW5M
aXRlcmFsJikKIHsKIH0KQEAgLTI2OCwxMiArMjYxLDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNpdChB
U1Q6OkZsb2F0TGl0ZXJhbFR5cAogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmbG9hdExpdGVyYWxU
eXBlLnByZWZlcnJlZFR5cGUoKSk7CiB9CiAKLXZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpOdWxs
TGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkKLXsKLSAgICBpZiAobnVsbExpdGVyYWxUeXBl
Lm1heWJlUmVzb2x2ZWRUeXBlKCkpCi0gICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0
ZXJhbFR5cGUucmVzb2x2ZWRUeXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6
RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikKIHsKIH0KQEAgLTM5OSw5ICszODYsNiBAQCB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBBU1Q6OkV4cHJl
c3Npb246OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93
bmNhc3Q8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246OktpbmQ6Ok51bGxMaXRlcmFsOgotICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6
RG90OgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpEb3RFeHByZXNz
aW9uPihleHByZXNzaW9uKSk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgJKHJldmlzaW9uIDI0
OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRv
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFN0YWdlSW5PdXRTZW1h
bnRpYzsKIGNsYXNzIEludGVnZXJMaXRlcmFsOwogY2xhc3MgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bDsKIGNsYXNzIEZsb2F0TGl0ZXJhbDsKLWNsYXNzIE51bGxMaXRlcmFsOwogY2xhc3MgQm9vbGVh
bkxpdGVyYWw7CiBjbGFzcyBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw7CiBjbGFzcyBOdW1UaHJl
YWRzRnVuY3Rpb25BdHRyaWJ1dGU7CkBAIC0xMzgsMTIgKzEzNywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2b2lk
IHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJik7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6
TnVsbExpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJh
bCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpOwog
ICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVHlwZSYpOwotICAgIHZp
cnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0
KEFTVDo6TnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
QVNULmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDYgQEAKICNpbmNsdWRlICJXSExTTE5h
bWVkVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5oIgog
I2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xO
dWxsTGl0ZXJhbC5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVk
ZSAiV0hMU0xOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJXSExTTFBv
aW50ZXJUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0
YW50RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xDb25zdGFu
dEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IldITFNMRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xGbG9hdExp
dGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEludGVnZXJMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hM
U0xOdWxsTGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC5o
IgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4K
QEAgLTYzLDExICs2Miw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgQ29uc3RhbnRF
eHByZXNzaW9uKE51bGxMaXRlcmFsJiYgbnVsbExpdGVyYWwpCi0gICAgICAgIDogbV92YXJpYW50
KFdURk1vdmUobnVsbExpdGVyYWwpKQotICAgIHsKLSAgICB9Ci0KICAgICBDb25zdGFudEV4cHJl
c3Npb24oQm9vbGVhbkxpdGVyYWwmJiBib29sZWFuTGl0ZXJhbCkKICAgICAgICAgOiBtX3Zhcmlh
bnQoV1RGTW92ZShib29sZWFuTGl0ZXJhbCkpCiAgICAgewpAQCAtOTAsMTIgKzg0LDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEludGVnZXJMaXRlcmFsPihtX3ZhcmlhbnQp
OwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNv
bnN0IFZpc2l0b3ImIHZpc2l0b3IpIC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3Rk
OjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWws
IEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1l
bWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8g
dmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNp
dG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0dXJuIFdURjo6dmlzaXQodmlzaXRvciwg
bV92YXJpYW50KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSBjb25zdCAtPiBkZWNsdHlwZShXVEY6OnZp
c2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25l
ZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIE51bGxMaXRlcmFsLCBCb29sZWFuTGl0ZXJh
bCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQorICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0IC0+IGRl
Y2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxp
dGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgQm9vbGVhbkxpdGVy
YWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkKICAgICB7CiAgICAgICAgIHJldHVy
biBXVEY6OnZpc2l0KHZpc2l0b3IsIG1fdmFyaWFudCk7CiAgICAgfQpAQCAtMTA4LDggKzEwMiw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiB1bnNpZ25lZEludGVnZXJMaXRlcmFsLmNs
b25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKICAgICAgICAgICAgIHJldHVybiBmbG9hdExpdGVyYWwu
Y2xvbmUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKLSAgICAgICAgICAgIHJldHVybiBudWxsTGl0ZXJhbC5j
bG9uZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRl
cmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW5M
aXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgLT4gQ29uc3RhbnRFeHByZXNzaW9uIHsK
QEAgLTEyNyw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVk
SW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJh
bCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IGZsb2F0TGl0ZXJhbC52YWx1
ZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmKSB7Ci0gICAgICAgICAgICBy
ZXN1bHQgPSBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPE51bGxMaXRlcmFsPihvdGhlci5tX3Zhcmlh
bnQpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFs
KSB7CiAgICAgICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxCb29sZWFuTGl0ZXJh
bD4ob3RoZXIubV92YXJpYW50KSkgewogICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8mIG90aGVy
Qm9vbGVhbkxpdGVyYWwgPSBXVEY6OmdldDxCb29sZWFuTGl0ZXJhbD4ob3RoZXIubV92YXJpYW50
KTsKQEAgLTE1Miw4ICsxNDIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQgPSB2YWx1
ZSA9PSB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCk7CiAgICAgICAgIH0sIFsmXShjb25z
dCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgcmVzdWx0ID0gdmFs
dWUgPT0gZmxvYXRMaXRlcmFsLnZhbHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0
ZXJhbCYpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICB9LCBbJl0oY29u
c3QgQm9vbGVhbkxpdGVyYWwmKSB7CiAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAg
ICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIHsKQEAgLTE2OSw3ICsx
NTcsNiBAQCBwcml2YXRlOgogICAgICAgICBJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgVW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgRmxvYXRMaXRlcmFsLAotICAgICAgICBOdWxsTGl0
ZXJhbCwKICAgICAgICAgQm9vbGVhbkxpdGVyYWwsCiAgICAgICAgIEVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbAogICAgICAgICA+IG1fdmFyaWFudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9u
LmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9u
LCBLaW5kOjpEb3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92
ZShmaWVsZE5hbWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAg
ICAgfQogCiAgICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEg
QEAgcHVibGljOgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVs
ZXRlOwogICAgIERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAg
ICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZygib3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKCJvcGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYg
ZmllbGROYW1lKCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9maWVsZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xFeHByZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcyLDYgQEAgdm9pZCBFeHByZXNzaW9uOjpk
ZXN0cm95KEV4cHJlc3Npb24mIGV4cAogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TWFrZVBv
aW50ZXI6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihl
eHByZXNzaW9uKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpO
dWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2FzdDxOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbik7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6RG90Ogog
ICAgICAgICBkZWxldGUgJmRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Npb24pOwogICAg
ICAgICBicmVhazsKQEAgLTEzOCw5ICsxMzUsNiBAQCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0
KEV4cHJlc3Npb24mIGV4CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpNYWtlUG9pbnRlcjoK
ICAgICAgICAgZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKS5+TWFr
ZVBvaW50ZXJFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXhwcmVzc2lv
bjo6S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKS5+TnVsbExpdGVyYWwoKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNz
aW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Np
b24pLn5Eb3RFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTY4LDMzICsxNjIsNiBA
QCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1T
dHJpbmcgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25z
dAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBk
b3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAg
aWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8
SW5kZXhFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbjo6c2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRo
aXMpLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNl
dHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19
Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkg
Y29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNh
c3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAv
LyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJl
c3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBwdWJsaWM6CiAgICAgICAg
IExvZ2ljYWxOb3QsCiAgICAgICAgIE1ha2VBcnJheVJlZmVyZW5jZSwKICAgICAgICAgTWFrZVBv
aW50ZXIsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBSZWFkTW9kaWZ5V3JpdGUsCiAg
ICAgICAgIFRlcm5hcnksCiAgICAgICAgIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsCkBAIC0xMzgs
NyArMTM3LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2dpY2FsTm90RXhwcmVzc2lvbigpIGNv
bnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dpY2FsTm90OyB9CiAgICAgYm9vbCBpc01h
a2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2lu
ZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9vbCBpc01ha2VQb2ludGVyRXhwcmVzc2lv
bigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpNYWtlUG9pbnRlcjsgfQotICAgIGJv
b2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpOdWxsTGl0
ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oKSBjb25zdCB7IHJl
dHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4RXhwcmVzc2lvbigpOyB9CiAgICAgYm9v
bCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9vbCBpc1Rlcm5hcnlFeHByZXNzaW9uKCkg
Y29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRlcm5hcnk7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4RXhwcmVzc2lvbihjb25z
dCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4cHJlc3Npb24oSW5kZXhF
eHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdIl9zdHI7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3ImW10iX3N0cjsK
LSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24oKSB7IHJldHVybiBtX2lu
ZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRleCgpIHsgcmV0dXJuIFdU
Rk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xh
cmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigx
KTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAgICB9CiAgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhE
aW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgfQor
CisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5
cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0KKworICAgIHVuc2lnbmVk
IHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOworICAgICAg
ICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1bWVudHMo
KVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVu
Y2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNNYXRyaXgo
KSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlw
ZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElzSW50KCkgeyBtX2lzSW50
ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJh
bC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1u
YW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVyYWwgZmluYWwgOiBwdWJsaWMgRXhwcmVz
c2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExp
dGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAgICAgICA6IEV4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAgICB9Ci0KLSAgICB+TnVsbExpdGVyYWwo
KSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChjb25zdCBOdWxsTGl0ZXJhbCYpID0gZGVs
ZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBO
dWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgTnVsbExpdGVy
YWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBOdWxsTGl0ZXJh
bChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvbHZlZFR5cGUgPSBtX3R5
cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgICAgIHJlc3VsdC5tX3R5cGUucmVzb2x2
ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigqcmVzb2x2ZWRUeXBlKSk7Ci0gICAgICAg
IGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLXBy
aXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFsKQotCi1T
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJFU1NJT04oTnVsbExpdGVyYWwsIGlzTnVs
bExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
RGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAjIwot
QXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFs
VHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0KLSNp
ZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7
Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNvbHZlKGNvbnN0IFR5cGUmIHR5cGUpIGNv
bnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4odHlwZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PFVubmFtZWRUeXBlPih0eXBl
KTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi11bnNpZ25lZCBOdWxsTGl0ZXJhbFR5
cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRUeXBlJikgY29uc3QKLXsKLSAgICByZXR1
cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi0jZW5kaWYKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBl
LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZXNvbHZhYmxlVHlw
ZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNzIE51bGxMaXRl
cmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxlVHlwZSB7Ci0gICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWxUeXBlKCkKLSAgICAgICAgOiBS
ZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkKLSAgICB7IH0KLQotICAgIH5OdWxsTGl0
ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUoY29uc3QgTnVsbExp
dGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlKE51bGxMaXRlcmFsVHlw
ZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShjb25zdCBO
dWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9y
PShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAgYm9vbCBjYW5SZXNvbHZlKGNv
bnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBjb252ZXJzaW9uQ29zdChjb25zdCBVbm5h
bWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsKLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0K
LX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUoTnVsbExpdGVyYWxUeXBlKQotCi1TUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVsbExpdGVyYWxUeXBlLCBpc051bGxMaXRl
cmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAj
IwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDQ1
ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0IFBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3Ry
aW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlv
bk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLQot
ICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9nZXR0
ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24oKSB7
IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJl
YWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0gICAg
RnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRlckZ1
bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRp
b24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9IGdl
dHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5jdGlv
bkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1bmN0
aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVyRnVu
Y3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7Ci0g
ICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0gICAg
fQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJGdW5j
dGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNlOyB9
CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4gbV9i
YXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4gV1RG
TW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IG1f
YmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVsbHB0
ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxwdHIg
fTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBudWxs
cHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw2IEBAIHZvaWQgVHlwZTo6ZGVz
dHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAg
IGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2Fz
dDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6
OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAgICAgICBicmVhazsKQEAgLTExNSw5ICsx
MTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUmIHR5cGUpCiAgICAgY2FzZSBLaW5kOjpJ
bnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBl
KS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgS2luZDo6
TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4odHlwZSkufk51
bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKTsKICAgICAgICAgYnJlYWs7
CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZhYmxlVHlwZTo6Y2FuUmVzb2x2ZShjb25z
dCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMpLmNh
blJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlw
ZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0
PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5k
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGRlZmF1
bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQgUmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNp
b25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMp
LmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJz
aW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7
CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29z
dCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUmVzb2x2YWJs
ZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAgICAgICAgSW50ZWdlckxpdGVyYWwsCi0g
ICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFsLAogICAg
IH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0Zsb2F0TGl0ZXJh
bFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6RmxvYXRMaXRlcmFsOyB9CiAg
ICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBL
aW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbFR5cGUoKSBjb25z
dCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29sIGlzVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAgVHlwZSYgdW5pZnlOb2RlKCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDx3dGYv
U2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNp
bmNsdWRlIDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSBXSExTTCB7CkBAIC02Myw3ICs2NSw1NyBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3Ry
dWN0IFZhcmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xl
ZFR5cGVOYW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVi
bGljIFZpc2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNv
bGxlY3RvcihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cikKKyAgICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChB
U1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgewor
ICAgICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICBzaXpl
X3Qgc2l6ZSA9IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgICAg
IGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgZnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKKyAgICAgICAg
ICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsKKyAgICAgICAgICAgIHZh
cmlhYmxlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgICAgICAgICBmb3Ig
KGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUoKSk7CisgICAgICAgICAg
ICAgICAgYXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQo
VmFyaWFibGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoIWlzVm9pZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZh
cmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9I
b2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAg
ICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAgICAg
ICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdy
aXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZh
cmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlX
cml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5k
KFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0pOworCisgICAgICAg
ICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZhcmlhYmxlcykpOwor
CisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUpOworICAgICAgICB9
CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxl
Pj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3MmIGludHJpbnNpY3Ms
IFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbios
IE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91dCYgbGF5b3V0KQog
ICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAtMTAwLDE0ICsxNTIs
MTIgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJikg
b3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2
aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC0xMzEsNjUgKzE4MSw2IEBAIHBy
b3RlY3RlZDoKIAogICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCkgeyByZXR1cm4geyBtX3ZhcmlhYmxlQ291bnQrKyB9OyB9CiAKLSAgICBlbnVtIGNsYXNz
IE51bGxhYmlsaXR5IDogdWludDhfdCB7Ci0gICAgICAgIE5vdE51bGwsCi0gICAgICAgIENhbkJl
TnVsbAotICAgIH07Ci0KLSAgICBzdHJ1Y3QgU3RhY2tJdGVtIHsKLSAgICAgICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWU7
Ci0gICAgICAgIE51bGxhYmlsaXR5IHZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIE51bGxhYmls
aXR5IGxlZnRWYWx1ZU51bGxhYmlsaXR5OwotICAgICAgICBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRW
YXJpYWJsZU5hbWUoKT4gZ2VuZXJhdGVMZWZ0VmFsdWU7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBT
dGFja1ZhbHVlIHsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAg
TnVsbGFiaWxpdHkgbnVsbGFiaWxpdHk7Ci0gICAgfTsKLQotICAgIC8vIFRoaXMgaXMgdGhlIGlt
cG9ydGFudCBkYXRhIGZsb3cgc3RlcCB3aGVyZSB3ZSBjYW4gdGFrZSB0aGUgbnVsbGFiaWxpdHkg
b2YgYW4gbHZhbHVlCi0gICAgLy8gYW5kIHRyYW5zZmVyIGl0IGludG8gdGhlIG51bGxhYmlsaXR5
IG9mIGFuIHJ2YWx1ZS4gVGhpcyBpcyBjb252ZXllZCBpbiBNYWtlUG9pbnRlckV4cHJlc3Npb24K
LSAgICAvLyBhbmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uLiBNYWtlUG9pbnRlckV4cHJlc3Npb24g
d2lsbCB0cnkgdG8gcHJvZHVjZSBydmFsdWVzIHdoaWNoIGFyZQotICAgIC8vIG5vbi1udWxsLCBh
bmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uIHdpbGwgdGFrZSBhIG5vbi1udWxsIHJ2YWx1ZSBhbmQg
dHJ5IHRvIHByb2R1Y2UKLSAgICAvLyBhIG5vbi1udWxsIGx2YWx1ZS4KLSAgICB2b2lkIGFwcGVu
ZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoQVNUOjpFeHByZXNzaW9uJiwgTWFuZ2xlZFZhcmlh
YmxlTmFtZSB2YWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHkpCi0gICAgewotICAgICAgICBt
X3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUpLCB7IH0sIG51bGxhYmlsaXR5LCBOdWxsYWJp
bGl0eTo6Q2FuQmVOdWxsLCB7IH0gfSk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRSaWdodFZh
bHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoZXhwcmVz
c2lvbiwgV1RGTW92ZSh2YWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwpOwotICAgIH0KLQot
ICAgIHZvaWQgYXBwZW5kTGVmdFZhbHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFu
Z2xlZFZhcmlhYmxlTmFtZSB2YWx1ZSwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWUsIE51
bGxhYmlsaXR5IG51bGxhYmlsaXR5LCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUo
KT4gZ2VuZXJhdGVMZWZ0VmFsdWUgPSB7IH0pCi0gICAgewotICAgICAgICBBU1NFUlRfVU5VU0VE
KGV4cHJlc3Npb24sIGV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNl
KCkpOwotICAgICAgICBBU1NFUlQobGVmdFZhbHVlIHx8IGdlbmVyYXRlTGVmdFZhbHVlKTsKLSAg
ICAgICAgbV9zdGFjay5hcHBlbmQoeyBXVEZNb3ZlKHZhbHVlKSwgV1RGTW92ZShsZWZ0VmFsdWUp
LCBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsLCBudWxsYWJpbGl0eSwgV1RGTW92ZShnZW5lcmF0ZUxl
ZnRWYWx1ZSkgfSk7Ci0gICAgfQotCi0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB0YWtlTGFzdFZh
bHVlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3N0YWNrLnRha2VMYXN0KCkudmFsdWU7Ci0g
ICAgfQotCi0gICAgU3RhY2tWYWx1ZSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKQotICAg
IHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICByZXR1
cm4geyBsYXN0LnZhbHVlLCBsYXN0LnZhbHVlTnVsbGFiaWxpdHkgfTsKLSAgICB9Ci0KLSAgICBT
dGFja1ZhbHVlIHRha2VMYXN0TGVmdFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8gbGFzdCA9
IG1fc3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgaWYgKCFsYXN0LmxlZnRWYWx1ZSkKLSAgICAg
ICAgICAgIGxhc3QubGVmdFZhbHVlID0gbGFzdC5nZW5lcmF0ZUxlZnRWYWx1ZSgpOwotICAgICAg
ICByZXR1cm4geyBsYXN0LmxlZnRWYWx1ZSwgbGFzdC5sZWZ0VmFsdWVOdWxsYWJpbGl0eSB9Owot
ICAgIH0KLQogICAgIGVudW0gY2xhc3MgQnJlYWtDb250ZXh0IHsKICAgICAgICAgTG9vcCwKICAg
ICAgICAgU3dpdGNoCkBAIC0yMDMsMTIgKzE5NCwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgSGFzaE1h
cDxBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qLCBNYW5nbGVkRnVuY3Rpb25OYW1lPiYgbV9mdW5j
dGlvbk1hcHBpbmc7CiAgICAgSGFzaE1hcDxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qLCBNYW5n
bGVkVmFyaWFibGVOYW1lPiBtX3ZhcmlhYmxlTWFwcGluZzsKIAotICAgIFZlY3RvcjxTdGFja0l0
ZW0+IG1fc3RhY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5UG9pbnRTY2FmZm9sZGluZz4g
bV9lbnRyeVBvaW50U2NhZmZvbGRpbmc7CiAgICAgTGF5b3V0JiBtX2xheW91dDsKICAgICB1bnNp
Z25lZCBtX3ZhcmlhYmxlQ291bnQgeyAwIH07CiAgICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxl
TmFtZT4gbV9icmVha091dE9mQ3VycmVudExvb3BFYXJseVZhcmlhYmxlOwogICAgIEluZGVudGF0
aW9uPDQ+IG1faW5kZW50IHsgMCB9OworICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVj
dG9yPFZhcmlhYmxlPj4gbV9ob2lzdGVkVmFyaWFibGVzOwogfTsKIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYpCkBA
IC0yMTgsNiArMjA5LDIwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25E
ZWZpbml0aW9uJiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CisKKyAgICB7CisgICAgICAgIEhvaXN0
ZWRWYXJpYWJsZUNvbGxlY3RvciBjb2xsZWN0b3IoKnRoaXMpOworICAgICAgICBjb2xsZWN0b3Iu
VmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsKKyAgICAgICAgbV9ob2lzdGVkVmFy
aWFibGVzID0gV1RGTW92ZShjb2xsZWN0b3IudG9Ib2lzdCk7CisgICAgfQorCisgICAgYXV0byBk
ZWZpbmVIb2lzdGVkVmFyaWFibGVzID0gWyZdIHsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2
ZWN0b3IgOiBtX2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAo
YXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4i
KTsKKyAgICAgICAgfQorICAgIH07CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1h
cHBpbmcuZmluZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0g
bV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50
cnlQb2ludFR5cGUoKSkgewpAQCAtMjM4LDggKzI0MywxMCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0s
IG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5
KTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygp
OworCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJs
b2NrKCkpOwotICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG5cbiIpOwogCkBAIC0yNDgsMTcg
KzI1NSwyMiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24u
cGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIg
PSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkp
CiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRk
KCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5
cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
e1xuIik7CisKKyAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygpOworCiAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgIEFT
U0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
In1cbiIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwogICAgIH0KIH0K
QEAgLTMwOSw4ICszMjEsOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1
bEV4cHJlc3Npb25TdGF0ZW1lbnQmIGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQpCiB7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7CiAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQuZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsK
LSAgICB0YWtlTGFzdFZhbHVlKCk7IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3Rm
dWwsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgorICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM0MywxMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25k
aXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29u
ZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VM
YXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVh
aztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICszNjUsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3Jl
bWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBt
X3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVt
ZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFs
dWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlm
ICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNz
aW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIs
CisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0zOTAsMTIgKzQwNiwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVt
ZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25h
bCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VM
YXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4i
KTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQor
CiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5
ICs0MjIsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAg
ICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0
dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgp
KSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
KSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1f
c3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsK
KyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1
aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVO
YW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVt
cFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9y
IChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00
NTQsNTkgKzQ3OCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRl
cmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBp
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50
ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1
ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRU
eXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5h
bWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOwotfQotCi12b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCi17Ci0g
ICAgYXV0byYgdW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2Rl
KCk7Ci0gICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpOwotICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwotCi0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobnVsbExpdGVyYWwucmVzb2x2
ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwotICAgIGlmIChpc0FycmF5UmVm
ZXJlbmNlVHlwZSkKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgieyBudWxscHRyLCAw
IH07XG4iKTsKLSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIm51bGxw
dHI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKG51bGxMaXRlcmFsLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBl
TmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0
ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGJvb2xlYW5MaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAi
ID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52
YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVl
KGJvb2xlYW5MaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwu
dmFsdWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIsICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVy
YWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwotICAgIGF1dG8gdmFyaWFibGVOYW1l
ID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUg
PSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
LnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBt
YW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbWFuZ2xlZFR5cGVOYW1l
LCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSksICI7XG4iKTsKLSAgICBh
cHBlbmRSaWdodFZhbHVlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsLmVudW1lcmF0aW9uTWVtYmVyKCkpKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKQEAgLTUxNCw1MCAr
NTEzLDk0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBW
aXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAv
LyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGgg
QVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0K
LQogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewotICAgIGF1dG8gdmFsdWVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgTWFuZ2xlZFR5cGVOYW1lIG1h
bmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShnbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQo
Z2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1l
IHN0cnVjdFZhcmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAgICAgTWFuZ2xlZFN0cnVjdHVy
ZUVsZW1lbnROYW1lIG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clN0cnVjdHVyZUVsZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uuc3RydWN0RmllbGQoKSk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiktPiIsIG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0gICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YWx1ZU5h
bWUsICIgPSAiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIp
Owordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lv
biYgZG90RXhwcmVzc2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNl
KCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xv
YmFsVmFyaWFibGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmds
ZWRGaWVsZE5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICAgICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAi
LCBwb2ludGVyTmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxk
TmFtZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9
KTsKKyAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAg
ICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZp
bml0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVy
ZURlZmluaXRpb24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsK
KworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN0cmlu
ZyBlbGVtZW50TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCk7CisgICAgICAgIGlmIChl
bGVtZW50TmFtZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5
cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0
eXBlKS5pc1ZlY3RvcigpKSkpIHsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJl
bmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmxlbmd0
aCIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsK
KyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih0eXBlKS5udW1FbGVtZW50cygpLCAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOwor
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7Cisg
ICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRf
Tk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoaW5kZXhFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19CisgICAg
Ly8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGluZGV4IGFuZCBiYXNlIHR3aWNl
IGRvZXNuJ3QgZXhlY3V0ZSBlZmZlY3RzIHR3aWNlOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNTEKKworICAgIGF1dG8mIHR5cGUgPSBpbmRleEV4
cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxB
U1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsoIik7
CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNz
aW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDwgKCIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikubGVuZ3RoID8gIik7CisgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIgOiAwXSIpOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJh
eVR5cGU+KHR5cGUpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmRhdGEoKVsoIik7CisgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDwgIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5
cGUpLm51bUVsZW1lbnRzKCksICIgPyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlu
ZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiA6IDBdIik7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgdW5zaWduZWQgc2l6ZTsK
KyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkKKyAgICAgICAgICAgIHNpemUgPSBu
YXRpdmVUeXBlLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICBlbHNlIGlmIChuYXRp
dmVUeXBlLmlzVmVjdG9yKCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZlVHlwZS52ZWN0b3JT
aXplKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8v
IFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBB
U1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJp
Z2h0VmFsdWUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4
RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiA8ICIsIHNpemUsICIpID8gKCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
aW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiKSA6IDBdIik7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7IAogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uKQpAQCAtNTY4
LDE4MSArNjExLDE5NSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAg
ICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
MCBJbXBsZW1lbnQgcXVhbGlmaWVycy4KICAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbi5pbml0
aWFsaXplcigpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkp
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
KnZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIoKSk7Ci0gICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFy
aWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHRha2VM
YXN0VmFsdWUoKSwgIjtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4i
KTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
bV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUo
KSksICcgJywgdmFyaWFibGVOYW1lLCAiID0geyB9O1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJiBhc3NpZ25t
ZW50RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0
byBbcG9pbnRlck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiA9ICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Npb24ucmln
aHQoKSk7Ci0gICAgYXV0byBbcmlnaHROYW1lLCByaWdodE51bGxhYmlsaXR5XSA9IHRha2VMYXN0
VmFsdWVBbmROdWxsYWJpbGl0eSgpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmls
aXR5OjpDYW5CZU51bGwpCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBtX2luZGVudCwgImlmICgiLCBwb2ludGVyTmFtZSwgIilcbiIsCi0gICAgICAgICAgICBt
X2luZGVudCwgIiAgICAqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsK
LSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICIqIiwg
cG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlV2l0aE51bGxhYmlsaXR5KGFzc2lnbm1lbnRFeHByZXNzaW9uLCByaWdodE5hbWUsIHJpZ2h0
TnVsbGFiaWxpdHkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNh
bGxFeHByZXNzaW9uKQogeworICAgIGF1dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5k
KCZjYWxsRXhwcmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRW
YXJpYWJsZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAg
IFJFTEVBU0VfQVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA8PSB2YXJp
YWJsZXMuc2l6ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnRO
YW1lczsKLSAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRz
KCkpIHsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJn
dW1lbnROYW1lcy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlz
Vm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2lj
cy52b2lkVHlwZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAg
aWYgKCFpc1ZvaWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAn
ICcsIHJldHVybk5hbWUsICI7XG4iKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5h
bWU7CisgICAgaWYgKCFtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBtX2lu
dHJpbnNpY3Mudm9pZFR5cGUoKSkpCisgICAgICAgIHJlc3VsdE5hbWUgPSB2YXJpYWJsZXMubGFz
dCgpLm5hbWU7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkg
eworICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwg
Iik7CisgICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSwgIiA9ICIpOwor
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKClbaV0p
OwogICAgIH0KIAotICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNh
bGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lID0gW3RoaXNdKCkgLT4gTWFuZ2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy0+Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07Cisg
ICAgaWYgKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSkKKyAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKIAotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCdcbicpOwotICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRv
d25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVu
Y3Rpb24oKSksIHJldHVybk5hbWUsIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBl
TmFtZXIsIFdURk1vdmUoZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKSwgbV9pbmRlbnQpOwotICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOworICAgIGlmIChpczxBU1Q6Ok5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7CisgICAg
ICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgYXJn
dW1lbnROYW1lcywgcmVzdWx0TmFtZSwgbV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgbV9pbmRl
bnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQpOwotCiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZj
YWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKTsKICAgICAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1f
ZnVuY3Rpb25NYXBwaW5nLmVuZCgpKTsKLSAgICAgICAgaWYgKCFpc1ZvaWQpCi0gICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJldHVybk5hbWUsICIgPSAiKTsKICAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChpdGVyYXRvci0+dmFsdWUsICcoJyk7Ci0gICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnROYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsg
KytpKSB7CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChhcmd1
bWVudE5hbWVzW2ldKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFi
bGVzW2ldLm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0KIAot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVybk5hbWUpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4cHJlc3Npb24pCiB7Ci0g
ICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0OworICAgIGlmICghY29tbWFF
eHByZXNzaW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbXB0eSBjb21t
YSEiKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wg
cmFuT25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVz
c2lvbi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFz
dFZhbHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoY29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRl
cmVmZXJlbmNlRXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFi
aWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRW
YWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVz
b2x2ZWRUeXBlKCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5C
ZU51bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1f
aW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRl
ciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIp
OwotICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBy
ZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExl
ZnRWYWx1ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIs
IG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9u
JiBsb2dpY2FsRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIp
OwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAg
IGF1dG8gbGVmdCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9n
aWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUo
KTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bG9naWNhbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
ICIsIGxlZnQpOwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAg
Y2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgICAgQVNTRVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHBy
ZXNzaW9uOjpUeXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBl
OjpPcjoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0
KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Okxv
Z2ljYWxOb3RFeHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90
RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUo
KTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwot
Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUo
KSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBl
bmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVl
ZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxh
c3QgbGVmdFZhbHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBl
KCkpOwogICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHBy
ZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZh
bHVlID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSAiLCBwdHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUs
ICIsIDEgfSA6ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZh
bHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0g
ZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24u
bGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFr
ZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNh
c3Q8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5k
ZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUs
ICItPmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5
VHlwZS5udW1FbGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxW
YWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIg
PSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobWFuZ2xlZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9u
JiBtYWtlUG9pbnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
JigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRW
YWx1ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRW
YWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcg
JywgdmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUs
IG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4
cHJlc3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAvKgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24g
dGhlIHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVF
eHByZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAg
ICAgKiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZh
bHVhdGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0Cisg
ICAgICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1v
ZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxl
cy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFT
RV9BU1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJp
YWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92
YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVW
YXJpYWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3
VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIg
PSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgp
KTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwg
IiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVF
eHByZXNzaW9uKCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5n
IGxlZnQgdmFsdWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2Rp
ZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwg
bmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1v
ZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpU
ZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lv
bi5wcmVkaWNhdGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0
ZXJuYXJ5RXhwcmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtl
TGFzdFZhbHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBj
aGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0g
ICAgYXV0byBlbHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHBy
ZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywg
IiA/ICIsIGJvZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUodGVybmFyeUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpWYXJpYWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgw
OSw3IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NF
UlQoaXRlcmF0b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRM
ZWZ0VmFsdWUodmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0
eTo6Tm90TnVsbCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVO
YW1lXSB7Ci0gICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFi
bGVOYW1lKCk7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAi
dGhyZWFkICIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5j
ZS5yZXNvbHZlZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFt
ZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6
Q29uc3RhbnRFeHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODI0LDYg
QEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0o
QVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAg
IFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgibnVsbHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0
ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52
YWx1ZSgpKQogICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0
YWxDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzksOSBA
QCBuYW1lc3BhY2UgV0hMU0wgewogCiBuYW1lc3BhY2UgTWV0YWwgewogCi1zdGF0aWMgY29uc3Rl
eHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IGZhbHNlOworc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBNZXRhbENvZGUgPSB0cnVlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2co
KQorc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBT
dHJpbmdWaWV3IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3
ICs1MywxNzEgQEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAg
IlxuIgogICAgICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisi
dGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyJzdHJ1Y3QgV1NM
TWF0cml4XG4iCisie1xuIgorIiAgICB2ZWM8VCwgUm93cz4gY29sdW1uc1tDb2xzXTtcbiIKKyIg
ICAgcHJpdmF0ZTpcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgor
IiAgICBzdGF0aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2NvbChpbml0aWFsaXplcl9saXN0PFU+IGNv
bCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAg
cmV0dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtc
biIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2
ZWM8VCwgUm93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGluaXRpYWxpemVyX2xpc3Q8VD4gZWxl
bXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisiICAgIHtcbiIKKyIgICAgICAg
IHJldHVybiB7KihlbGVtcy5iZWdpbigpICsgYyAqIFJvd3MgKyBSKS4uLn07XG4iCisiICAgIH1c
biIKKyIgICAgc3RydWN0IGNvbHNfaW5pdF90YWcgeyB9O1xuIgorIiAgICBzdHJ1Y3QgY29sc19h
bGxfdGFnIHsgfTtcbiIKKyIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9O1xuIgorIiAgICB0
ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29s
c19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2Vy
X3NlcXVlbmNlPGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyhDIDwg
Y29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMp
IHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyBjb2xzLi4uIH1cbiIKKyIgICAge1xuIgor
IiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgor
IiAgICAgICAgOiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRl
bXBsYXRlIDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0
aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJl
YWRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2Vf
aW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1c
biIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xz
LCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBj
b2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJv
d3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lLi4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFn
LCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVt
cykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtl
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICAgICAge1xuIgorIiAgICAg
ICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNp
dCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8
aW50LCBDLi4uPikgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2Nv
bChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgor
IiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxpbmUgV1NMTWF0
cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFs
aXplcl9saXN0PHZlYzxULCBSb3dzPj4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1h
dHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBD
b2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
Li4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJl
YWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09
IENvbHMsIGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAg
e1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSBjb25zdGFudCA9IGRlZmF1
bHQ7XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93
cz4+IGNvbHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFn
KCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCkgY29u
c3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHZhbCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZh
bHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNpemVv
Zi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMuLi4p
XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4i
CisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVh
ZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0
cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9
IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4g
JnRoYXQpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBp
bmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4
PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRo
YXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0
IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisi
ICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29s
cz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29u
c3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZh
dWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0
KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQp
IGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBD
b2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQs
IF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwg
Q29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29u
c3RhbnQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAg
ICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkp
XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZh
dWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4g
JnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAg
IHB1YmxpYzpcbiIKKyIgICAgaW5saW5lIHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIHRocmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtc
biIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3Jb
XShpbnQgcikgZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3Jd
O1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9w
ZXJhdG9yW10oaW50IHIpIHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVy
biBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWQgdmVj
PFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRcbiIKKyIgICAge1xuIgor
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNv
bnN0IGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGRldmljZVxu
IgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgor
IiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCBy
KSBjb25zdCBjb25zdGFudFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1ty
XTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgdGhyZWFkZ3JvdXAgdmVjPFQsIFJv
d3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRncm91cFxuIgorIiAgICB7XG4iCisi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIn07XG4iCisKKwogICAg
IH07CisKIH0KIAogc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZ0J1aWxk
ZXImIHN0cmluZ0J1aWxkZXIpCkBAIC02Nyw3ICsyMzEsNyBAQCBzdGF0aWMgdm9pZCBkdW1wTWV0
YWxDb2RlSWZOZWVkZWQoU3RyaW5nCiBSZW5kZXJNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUo
UHJvZ3JhbSYgcHJvZ3JhbSwgTWF0Y2hlZFJlbmRlclNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRp
Y3MsIExheW91dCYgbGF5b3V0KQogewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsK
LSAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlw
ZU5hbWVyKHByb2dyYW0pOwogICAgIHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWls
ZGVyKTsKQEAgLTgyLDcgKzI0Niw3IEBAIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29k
ZShQcm9ncmEKIENvbXB1dGVNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhbSYgcHJv
Z3JhbSwgTWF0Y2hlZENvbXB1dGVTZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQm
IGxheW91dCkKIHsKICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1ldGFsQ29kZVByb2xvZ3VlKCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9n
cmFtKTsKICAgICB0eXBlTmFtZXIuZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcg
QEAgc3RhdGljIGludCB2ZWN0b3JMZW5ndGgoQVNUOjpOYXRpdmVUeXBlRAogICAgIHJldHVybiB2
ZWN0b3JMZW5ndGg7CiB9CiAKKy8qCiBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVy
VHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZlVHlwZURlY2xhcmF0aW9uKQog
ewogICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLmlzRW1wdHko
KSkKQEAgLTEwNCw2ICsxMDUsNyBAQCBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVy
VHlwZShBCiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJl
ZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKICAg
ICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKIH0KKyovCiAKIHN0
YXRpYyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3Rvckxlbmd0aCkKIHsKQEAgLTEy
MCw3ICsxMjIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVjdG9yU3VmZml4KGludCB2ZWN0CiAg
ICAgfQogfQogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImIHN0cmlu
Z0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8
TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVO
YW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgQVNUOjpOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLCBjb25zdCBW
ZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVz
dWx0TmFtZSwgSW50cmluc2ljcyYgLyppbnRyaW5zaWNzKi8sIFR5cGVOYW1lciYgdHlwZU5hbWVy
LCBJbmRlbnRhdGlvbjw0PikKIHsKICAgICBhdXRvIGFzTWF0cml4VHlwZSA9IFsmXSAoQVNUOjpV
bm5hbWVkVHlwZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uKiB7
CiAgICAgICAgIGF1dG8mIHJlYWxUeXBlID0gdW5uYW1lZFR5cGUudW5pZnlOb2RlKCk7CkBAIC0x
MzksMzMzICsxNDEsNzcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVy
JgogICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKHJldHVyblR5cGUpOwogCiAgICAgICAgIGlmICghbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKSB7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSB7IH07XG4iKTsKKyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUsICIgeyB9Iik7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKICAgICAgICAgICAgIGF1dG8mIHBh
cmFtZXRlclR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1ldGVyVHlwZSk7CisgICAgICAgICAgICAvL2F1
dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
cGFyYW1ldGVyVHlwZSk7CiAKICAgICAgICAgICAgIGF1dG8gaXNFbnVtZXJhdGlvbkRlZmluaXRp
b24gPSBbXSAoYXV0byYgdHlwZSkgewogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6Ok5h
bWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0
PEFTVDo6TmFtZWRUeXBlPih0eXBlKSk7CiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgYXV0
byYgdW5pZmllZFJldHVyblR5cGUgPSByZXR1cm5UeXBlLnVuaWZ5Tm9kZSgpOwogICAgICAgICAg
ICAgaWYgKGlzRW51bWVyYXRpb25EZWZpbml0aW9uKHVuaWZpZWRSZXR1cm5UeXBlKSAmJiAhaXNF
bnVtZXJhdGlvbkRlZmluaXRpb24ocGFyYW1ldGVyVHlwZS51bmlmeU5vZGUoKSkpIHsKLSAgICAg
ICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0YWxQYXJh
bWV0ZXJUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIik7
CiAgICAgICAgICAgICAgICAgYXV0byYgZW51bWVyYXRpb25EZWZpbml0aW9uID0gZG93bmNhc3Q8
QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlm
aWVkUmV0dXJuVHlwZSkpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgInN3aXRjaCAoIiwgdmFyaWFibGVOYW1lLCAiKSB7XG4iKTsKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUoaW5k
ZW50KTsKLSAgICAgICAgICAgICAgICAgICAgYm9vbCBoYXNaZXJvQ2FzZSA9IGZhbHNlOwotICAg
ICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIG1lbWJlciA6IGVudW1lcmF0aW9uRGVmaW5pdGlv
bi5lbnVtZXJhdGlvbk1lbWJlcnMoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaGFzWmVy
b0Nhc2UgfD0gIW1lbWJlci5nZXQoKS52YWx1ZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiY2FzZSAiLCBtZW1iZXIuZ2V0KCkudmFsdWUoKSwgIjpcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChoYXNaZXJvQ2FzZSwgaGFzWmVy
b0Nhc2UpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgImRlZmF1bHQ6XG4iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgICIsIHZhcmlhYmxlTmFtZSwgIiA9IDA7XG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigoIik7CisgICAg
ICAgICAgICAgICAgYm9vbCBsb29wZWRPbmNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYm9v
bCBoYXNaZXJvQ2FzZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbWVtYmVy
IDogZW51bWVyYXRpb25EZWZpbml0aW9uLmVudW1lcmF0aW9uTWVtYmVycygpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChsb29wZWRPbmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiB8fCAiKTsKKyAgICAgICAgICAgICAgICAgICAgaGFzWmVyb0Nh
c2UgfD0gIW1lbWJlci5nZXQoKS52YWx1ZSgpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChhcmdzWzBdLCAiID09ICIsIG1lbWJlci5nZXQoKS52YWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgbG9vcGVkT25jZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9IHN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIHZhcmlhYmxlTmFt
ZSwgIik7XG4iKTsKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9DYXNlLCBo
YXNaZXJvQ2FzZSk7CisKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA/
ICIsIGFyZ3NbMF0sICIgOiAwKSIpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nh
c3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIik7XG4iKTsKKyAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1
cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIikiKTsKIAogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUo
cmV0dXJuVHlwZSkpIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bVJvd3MgPSBtYXRyaXhUeXBl
LT5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUNvbHVtbnMg
PSBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSBudW1Sb3dzIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSBudW1Sb3dzICogbnVtQ29sdW1ucyk7Ci0KLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5h
bWUsICI7XG4iKTsKLQotICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBhYmlkZSBieSB0aGUgbWVt
b3J5IGxheW91dCB3ZSB1c2UgZm9yIG1hdHJpY2VzIGhlcmUuCi0gICAgICAgICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MpIHsK
LSAgICAgICAgICAgICAgICAvLyBvcGVyYXRvciBtYXRyaXhNeE4gKHZlY3Rvck4sIC4uLiwgdmVj
dG9yTikKLSAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtUm93czsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBudW1D
b2x1bW5zOyArK2opCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHZhcmlhYmxlTmFtZSwgIlsiLCBqICogbnVtUm93cyArIGksICJdID0gIiwgYXJn
c1tpXSwgIlsiLCBqLCAiXTtcbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gb3BlcmF0b3IgbWF0cml4TXhOIChzY2FsYXIsIC4u
Liwgc2NhbGFyKQotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKLSAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtUm93czsgKytpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBudW1Db2x1bW5zOyArK2opIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgdmFy
aWFibGVOYW1lLCAnWycsIGogKiBudW1Sb3dzICsgaSwgIl0gPSAiLCBhcmdzW2luZGV4XSwgIjtc
biIpOwotICAgICAgICAgICAgICAgICAgICAgICAgKytpbmRleDsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KG1ldGFsUmV0dXJuVHlwZU5hbWUsICcoJyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGFyZ3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CiAgICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIHZh
cmlhYmxlTmFtZSwgIjtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuVHlwZU5hbWUs
ICIoIik7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUs
ICcoJyk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaWYgKGkg
PiAwKQorICAgICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIik7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzW2ldKTsK
ICAgICAgICAgfQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTgwNzcgQXV0aG9ycyBjYW4gbWFrZSBhIHN0cnVjdCBmaWVsZCBu
YW1lZCAibGVuZ3RoIiB0b28uIEF1dG9nZW5lcmF0ZWQgZ2V0dGVycyBmb3IgdGhvc2Ugc2hvdWxk
bid0IHRha2UgdGhpcyBjb2RlcGF0aC4KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxlbmd0aCIpIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChp
bnRyaW5zaWNzLCBtYXRjaGVzKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpLCBpbnRy
aW5zaWNzLnVpbnRUeXBlKCkpKTsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byYgcGFyYW1ldGVy
VHlwZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkt
PnVuaWZ5Tm9kZSgpOwotICAgICAgICBhdXRvJiB1bm5hbWVkUGFyYW1ldGVyVHlwZSA9IGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHBhcmFtZXRlclR5cGUpOwotICAgICAgICBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSkgewotICAgICAgICAgICAgYXV0byYg
YXJyYXlQYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRQYXJh
bWV0ZXJUeXBlKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFycmF5UGFyYW1ldGVyVHlwZS5udW1F
bGVtZW50cygpLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJU
eXBlKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5sZW5ndGg7XG4iKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5z
dGFydHNXaXRoKCJvcGVyYXRvci4iX3N0cikpIHsKLSAgICAgICAgYXV0byBhcHBlbmRNYW5nbGVk
RmllbGROYW1lID0gWyZdIChjb25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgewotICAgICAgICAgICAg
YXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxB
U1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAgICAgICAgICAgICBh
dXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0
aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQg
PSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAgICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJl
RWxlbWVudCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKSk7
Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOwotICAgICAgICB9
OwotCi0gICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5lbmRzV2l0
aCgiPSIpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3Ry
Lmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJzdHJpbmco
MCwgZmllbGROYW1lLmxlbmd0aCgpIC0gMSk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICI7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgJy4nKTsKLSAg
ICAgICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAiO1xuIik7Ci0KLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGRO
YW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRv
ci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJy4nKTsKLSAgICAgICAg
YXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3ImLiJfc3RyKSkg
ewotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3ImLiJfc3RyLmxlbmd0aCgpKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIgPyAmKCIsIGFyZ3NbMF0sICItPiIpOwotCi0gICAgICAg
IGF1dG8mIHVubmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IGRvd25jYXN0PEFTVDo6
UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKS5lbGVtZW50VHlwZSgpLnVuaWZ5Tm9kZSgpOwotICAg
ICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2Rl
KTsKLSAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkg
ewotICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6
U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8qIHN0cnVj
dHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAg
ICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVj
dHVyZUVsZW1lbnQpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChmaWVsZE5hbWUpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDog
bnVsbHB0cjtcbiIpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltdIikgewotICAgICAgICBB
U1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIp
OwotICAgICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7Ci0KLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAo
IiwgYXJnc1sxXSwgIiA8ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigiLCBhcmdzWzBd
LCAiLnBvaW50ZXJbIiwgYXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIpOwotICAgICAgICAgICAg
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIHZlY3RvclNpemUgPSBbJl0gKCkg
LT4gdW5zaWduZWQgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHZlY3RvclR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2Fz
dDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBl
KCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUubmFtZSgpID09
ICJ2ZWN0b3IiKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpLnNp
emUoKSA9PSAyKTsKLSAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPih2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1
ZSgpOwotICAgIH07Ci0KLSAgICBhdXRvIGdldE1hdHJpeFR5cGUgPSBbJl0gKCkgLT4gQVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24mIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRv
d25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBhdXRvJiByZXN1bHQgPSBkb3duY2FzdDxB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihk
b3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgp
KS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHJlc3VsdC5pc01hdHJp
eCgpKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotCi0gICAgaWYgKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltdIikgewotICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
PigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0g
ICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVB
cmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgp
Lm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1
bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgcmVzdWx0O1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIgPj0gIiwgbnVtYmVyT2ZS
b3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJu
TmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
In1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9ICIsIGFyZ3Nb
MF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJy
ZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3Ms
ICJdO1xuIik7Ci0KLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCi0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFsy
XSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDIsICJd
O1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbM10gPSAi
LCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXTtcbiIp
OwotICAgIAotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIn0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOwotICAgICAg
ICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAgICAgICAgICAg
IGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
bk5hbWUsICIgcmVzdWx0O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIs
IGFyZ3NbMV0sICIgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAi
KDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAicmVzdWx0ID0gIiwgYXJnc1swXSwgIlsiLCBhcmdzWzFdLCAiXTtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGls
ZSAoMCk7XG4iKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW109Iikgewot
ICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
PigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0g
ICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVB
cmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQ
YXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0
byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVy
T2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAg
ICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0
cml4Q29sdW1ucygpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNj
b3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgbSA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1l
dGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoaSA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gbTtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1baV0gPSAiLCBhcmdz
WzJdLCAiWzBdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtpICsgIiwgbnVt
YmVyT2ZSb3dzLCAiXSA9ICIsIGFyZ3NbMl0sICJbMV07XG4iKTsKLSAgICAgICAgICAgICAgICBp
ZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDIsICJdID0gIiwgYXJn
c1syXSwgIlsyXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0g
NCkKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtp
ICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl0gPSAiLCBhcmdzWzJdLCAiWzNdO1xuIik7Ci0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
bTtcbiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOwotCi0g
ICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUo
KTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShp
bmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHYgPSAiLCBhcmdzWzBdLCAi
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1lLCAi
IGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYg
KGkgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gdjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInZbaV0gPSAiLCBhcmdzWzJdLCAiO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gdjtcbiIpOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3
aGlsZSgwKTtcbiIpOwotICAgICAgICB9Ci0KKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
JyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLmlzT3BlcmF0b3IoKSkgewogICAgICAgICBhdXRvIG9wZXJhdG9yTmFtZSA9IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IiX3N0ci5s
ZW5ndGgoKSk7Ci0gICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKICAgICAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAx
KSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzIG9rIHRvIGRvIHNpbmNlIHRoZSBhcmdzIHRvIHRo
aXMgZnVuY3Rpb24gYXJlIGFsbCB0ZW1wcy4KKyAgICAgICAgICAgIC8vIFNvIHRoaW5ncyBsaWtl
ICsrIGFuZCAtLSBhcmUgb2sgdG8gZG8uCisKICAgICAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhU
eXBlID0gYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBh
cmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIG9wZXJhdG9yTmFtZSwgInhbaV07XG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgb3BlcmF0b3JOYW1lLCAi
eDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAg
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdHJpeFR5cGUtPm51bWJlck9m
TWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9
ICIsIG9wZXJhdG9yTmFtZSwgYXJnc1swXSwgJ1snLCBpLCAnXScpOwogICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAi
LCByZXN1bHROYW1lLCAnKScpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQob3BlcmF0b3JOYW1lLCBhcmdzWzBdKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCkBAIC00NzMsNDkgKzIxOSw0MCBAQCB2b2lkIGlubGluZU5h
dGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGlmIChhdXRvKiBsZWZ0TWF0cml4
ID0gYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRy
aXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgp
KSkgewogICAgICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IG1hdHJpeAotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwot
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytp
KVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJn
c1swXSwgIltpXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5z
KCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwg
J1snLCBpLCAiXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBpLCAnXScpOwog
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAi
LCByZXN1bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg
ICAvLyBtYXRyaXggPG9wPiBzY2FsYXIKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1l
dGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
ImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJbaV0gIiwgb3BlcmF0
b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlZnRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVz
dWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwgIl0gIiwgb3BlcmF0b3JO
YW1lLCAnICcsIGFyZ3NbMV0pOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRyaXhUeXBlKCpuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKSkgewogICAgICAg
ICAgICAgQVNTRVJUKCFhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpKTsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IG1hdHJp
eAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAnICcsIG9w
ZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByaWdo
dE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGks
ICJdID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBp
LCAnXScpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBy
ZXN1bHROYW1lLCAnKScpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gc2NhbGFy
IDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyB2ZWN0b3IgPG9wPiB2ZWN0b3IKICAgICAgICAg
ICAgIC8vIHZlY3RvciA8b3A+IHNjYWxhcgogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4gdmVj
dG9yCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAn
LCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAgICAgICAgJygnLCBhcmdzWzBdLCAnICcsIG9w
ZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnKScpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0
dXJuOwpAQCAtNTQ4LDM1ICsyODUsMzYgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJp
bmdCdWlsZGVyJgogICAgICAgICB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9
PSAibGVuZ3RoIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG1hcEZ1bmN0aW9uTmFtZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSksICcoJywgYXJnc1swXSwgIik7XG4iKTsK
KyAgICAgICAgICAgIG1hcEZ1bmN0aW9uTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSksICcoJywgYXJnc1swXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAicG93IiB8fCBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiYXRhbjIiKSB7CiAgICAgICAgIEFTU0VSVChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gIiwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICIoIiwgYXJnc1swXSwg
IiwgIiwgYXJnc1sxXSwgIik7XG4iKTsKKyAgICAgICAgICAgIG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpLCAnKCcsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkgPT0gImNsYW1wIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICBpZiAoYXNNYXRyaXhUeXBlKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewotICAgICAgICAgICAgYXV0byBtZXRh
bFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJu
VHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKSBcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICB4W2ldID0gY2xhbXAoIiwgYXJnc1swXSwgIltpXSwgIiwgYXJnc1sxXSwgIltpXSwg
IiwgYXJnc1syXSwgIltpXSk7IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0geDtcbiIpOworCisgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNNYXRy
aXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgeworICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGJvb2wgcmFuT25jZSA9IGZh
bHNlOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdHJpeFR5cGUtPm51
bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGogPSAwOyBqIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhSb3dzKCk7ICsraikgewor
ICAgICAgICAgICAgICAgICAgICBpZiAocmFuT25jZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICByYW5PbmNl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXN1bHROYW1lLCAnWycsIGksICJdWyIsIGosICJdID0gY2xh
bXAoIiwgYXJnc1swXSwgJ1snLCBpLCAiXVsiLCBqLCAiXSwgIiwgYXJnc1sxXSwgJ1snLCBpLCAi
XVsiLCBqLCAiXSwgIiwgYXJnc1syXSwgJ1snLCBpLCAiXVsiLCBqLCAiXSkiKTsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIs
IHJlc3VsdE5hbWUsICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBj
bGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiKTtcbiIpOwor
ICAgICAgICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBh
cmdzWzJdLCAnKScpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC01ODQs
MjMgKzMyMiwyMyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJBbGxNZW1vcnlCYXJy
aWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjpt
ZW1fZGV2aWNlKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVy
KG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpO1xuIik7CisgICAgICAg
ICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIiwKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIs
CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJl
KSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsK
ICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVu
dCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKTtcbiIpOworICAg
ICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAg
ICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7
CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iKTsKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02MDgsMTUgKzM0NiwxNSBAQCB2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGlmIChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UiKSB7
CiAgICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDQpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNp
dCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29y
ZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAg
ICAgICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0s
ICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwg
bWVtb3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywgYXJnc1szXSwg
IiA9ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAog
ICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5sZW5ndGgoKSkp
OwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgJyon
LCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwg
IiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAn
KicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtNjMwLDcgKzM2OCw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JM
ZW5ndGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNhbXBsZSgiLCBh
cmdzWzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIsIGFyZ3NbMV0s
ICIsICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CiAg
ICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAgLTY0Miw4MSAr
MzgwLDY2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5p
c0RlcHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi4iLCAi
eHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQiKSB7CiAgICAg
ICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkg
PT0gMik7Ci0gICAgICAgIAorCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUo
KSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAg
IGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsK
ICAgICAgICAgYXV0byYgcmV0dXJuVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi50eXBlKCkudW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGgg
PSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CisgICAgICAgIGF1dG8gbG9jYXRpb25UeXBlTmFt
ZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9jYXRpb25UeXBlKTsKIAotICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0
dXJuVHlwZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50
KTsKLQotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAgICAg
ICAgICAgICBTdHJpbmcgZGltZW5zaW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3Ry
LCAiZGVwdGgiX3N0ciB9OwotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9j
YXRpb25WZWN0b3JMZW5ndGggLSAxOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBz
dWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhpLCAxKTsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90
PigiLCBhcmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwgYXJnc1swXSwgIi5nZXRfIiwgZGlt
ZW5zaW9uc1tpXSwgIigpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
ICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBhdXRvIHN1ZmZpeCA9ICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9y
TGVuZ3RoIC0gMSwgMSk7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJywgYXJnc1sx
XSwgIiA9ICIpOworICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewor
ICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CisgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sxXSwgIiwgIiwgbG9jYXRpb25U
eXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9jYXRpb25W
ZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiksICIsIGxvY2F0aW9uVHlwZU5hbWUsICcoJyk7CisKKyAgICAgICAg
ICAgIFN0cmluZyBkaW1lbnNpb25zW10gPSB7ICJ3aWR0aCJfc3RyLCAiaGVpZ2h0Il9zdHIsICJk
ZXB0aCJfc3RyIH07CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVj
dG9yTGVuZ3RoIC0gMTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwg
YXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBh
cmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgp
KSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwg
IiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIp
OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAobG9jYXRpb25WZWN0
b3JMZW5ndGggPT0gMSkgewotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiIDwg
MCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIikgPj0gIiwgYXJnc1swXSwg
Ii5nZXRfd2lkdGgoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiLnggPCAwIHx8IHN0YXRpY19jYXN0PHVp
bnQzMl90PigiLCBhcmdzWzFdLCAiLngpID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpIHtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwg
IiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFd
LCAiLnkgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAiLnkpID49ICIs
IGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7
XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPj0gMykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIueiA8IDAgfHwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCIs
IGFyZ3NbMV0sICIueikgPj0gIiwgYXJnc1swXSwgIi5nZXRfZGVwdGgoKSkge1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIs
IG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfIiwgZGltZW5zaW9uc1tpXSwgIigpIC0g
MSIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpIC0gMSkpIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPT0gMSkK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sxXSwg
IiwgMCwgIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEpIik7CisgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sx
XSwgIiwgIiwgbG9jYXRpb25UeXBlTmFtZSwgIigwLCAwIik7CisgICAgICAgICAgICAgICAgaWYg
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsIDAiKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKSwgIiwgbG9jYXRpb25UeXBlTmFtZSwgJygnLCBhcmdzWzBdLCAiLmdldF93aWR0aCgpIC0g
MSwgIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCkgLSAxIik7CisgICAgICAgICAgICAgICAgaWYg
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkgLSAxIik7CisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBh
cmdzWzBdLCAiLnJlYWQoIik7Ci0gICAgICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJl
QXJyYXkoKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+
IDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9y
U3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICcoJywgYXJnc1sxXSwgJy4nLCAieHl6
dyJfc3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAiKSwgdWludCgi
LCBhcmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
IC0gMSwgMSksICcpJyk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxlbmd0
aCksICcoJywgYXJnc1sxXSwgJyknKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCcpJyk7Ci0gICAgICAgICAgICBpZiAoIXRleHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCi0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJy4nLCAieHl6dyJfc3RyLnN1YnN0
cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCI7XG4iKTsKICAgICAgICAgfQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9IHdoaWxlKDApO1xuIik7CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiwgIiwgYXJnc1swXSwgIi5yZWFkKCIpOworCisgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1Rl
eHR1cmVBcnJheSgpKSB7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGgg
PiAxKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3Vm
Zml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICcoJywgYXJnc1sxXSwgJy4nLCAieHl6dyJf
c3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAiKSwgdWludCgiLCBh
cmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0g
MSwgMSksICcpJyk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcsIGFy
Z3NbMV0sICcpJyk7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgICAg
IGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkKKyAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVu
Z3RoKSk7CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtNzI0LDE4ICs0NDcsMjAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSA9PSAibG9hZCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBhdG9taWNfbG9hZF9leHBs
aWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAg
ICAgICJhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVs
YXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAic3RvcmUiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX3N0b3JlX2V4
cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVk
KTtcbiIpOworICAgICAgICAgICAgImF0b21pY19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
R2V0RGltZW5zaW9ucyIpIHsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKwog
ICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKIAogICAgICAgICBzaXpl
X3QgaW5kZXggPSAxOwpAQCAtNzY3LDM4ICs0OTIsMzUgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBBU1NFUlQoaW5kZXggPT0gbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKIAogICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImlmICgiLCB3aWR0aE5hbWUsICIpXG4i
LAotICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCB3aWR0aE5hbWUsICIgPSAiLCBhcmdzWzBd
LCAiLmdldF93aWR0aCgiKTsKKyAgICAgICAgICAgICcqJywgd2lkdGhOYW1lLCAiID0gIiwgYXJn
c1swXSwgIi5nZXRfd2lkdGgoIik7CiAgICAgICAgIGlmIChoYXNNaXBMZXZlbCkKICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKTtcbiIpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogCiAg
ICAgICAgIGlmIChoZWlnaHROYW1lKSB7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKmhlaWdodE5hbWUsICIpXG4iLAot
ICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmhlaWdodE5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiLmdldF9oZWlnaHQoIik7CisgICAgICAgICAgICAgICAgIiwgKiIsICpoZWlnaHROYW1l
LCAiID0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCIpOwogICAgICAgICAgICAgaWYgKGhhc01p
cExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlcHRoTmFt
ZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAiaWYgKCIsICpkZXB0aE5hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCIpOwor
ICAgICAgICAgICAgICAgICIsICoiLCAqZGVwdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRf
ZGVwdGgoIik7CiAgICAgICAgICAgICBpZiAoaGFzTWlwTGV2ZWwpCiAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1sxXSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsK
ICAgICAgICAgfQogICAgICAgICBpZiAoZWxlbWVudHNOYW1lKSB7CiAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKmVsZW1l
bnRzTmFtZSwgIilcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCAqZWxlbWVu
dHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpO1xuIik7CisgICAgICAg
ICAgICAgICAgIiwgKiIsICplbGVtZW50c05hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9hcnJh
eV9zaXplKCkiKTsKICAgICAgICAgfQogICAgICAgICBpZiAobnVtYmVyT2ZMZXZlbHNOYW1lKSB7
CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRl
bnQsICJpZiAoIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIilcbiIsCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICoiLCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5n
ZXRfbnVtX21pcF9sZXZlbHMoKTtcbiIpOworICAgICAgICAgICAgICAgICIsICoiLCAqbnVtYmVy
T2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfbnVtX21pcF9sZXZlbHMoKSIpOwog
ICAgICAgICB9CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtODM4LDY2ICs1NjAsOCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJTdG9yZSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgCi0gICAg
ICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwotICAgICAgICBhdXRvJiBpdGVt
VHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5
cGUoKS0+dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byYgaXRlbVZlY3RvcklubmVyVHlwZSA9
IHZlY3RvcklubmVyVHlwZShpdGVtVHlwZSk7Ci0gICAgICAgIGF1dG8gaXRlbVZlY3Rvckxlbmd0
aCA9IHZlY3Rvckxlbmd0aChpdGVtVHlwZSk7Ci0gICAgICAgIGF1dG8mIGxvY2F0aW9uVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMl0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byBsb2NhdGlvblZlY3Rvckxlbmd0aCA9IHZlY3Rv
ckxlbmd0aChsb2NhdGlvblR5cGUpOwotCi0gICAgICAgIGF1dG8gbWV0YWxJbm5lclR5cGVOYW1l
ID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShpdGVtVmVjdG9ySW5uZXJUeXBlKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiZG8ge1xuIik7Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgaWYg
KHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAgICAgICAgICAgICBTdHJpbmcgZGltZW5z
aW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0ciB9OwotICAg
ICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAx
OyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1
YnN0cmluZyhpLCAxKTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi4iLCBz
dWZmaXgsICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfIiwgZGltZW5zaW9uc1tpXSwgIigpKVxuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBhdXRvIHN1ZmZpeCA9ICJ4eXp3Il9zdHIuc3Vi
c3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSwgMSk7Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBh
cmdzWzJdLCAnLicsIHN1ZmZpeCwgIiA+PSAiLCBhcmdzWzBdLCAiLmdldF9hcnJheV9zaXplKCkp
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
ID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIiA+PSAiLCBhcmdz
WzBdLCAiLmdldF93aWR0aCgpKSBcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmICgiLCBhcmdzWzJdLCAiLnggPj0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSlc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIueSA+PSAiLCBh
cmdzWzBdLCAiLmdldF9oZWlnaHQoKSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVj
dG9yTGVuZ3RoID49IDMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdz
WzJdLCAiLnogPj0gIiwgYXJnc1swXSwgIi5nZXRfZGVwdGgoKSlcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIGFyZ3NbMF0sICIud3JpdGUodmVjPCIsIG1ldGFsSW5u
ZXJUeXBlTmFtZSwgIiwgND4oIiwgYXJnc1sxXSk7Ci0gICAgICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IDQgLSBpdGVtVmVjdG9yTGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiwgMCIpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiksICIpOwotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsK
LSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2Nh
dGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMl0sICcuJywgInh5enciX3N0ci5zdWJz
dHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1syXSwg
Ii4iLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAn
KScpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcsIGFy
Z3NbMl0sICcpJyk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwot
ICAgICAgICB9Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUo
MCk7XG4iKTsKLQotICAgICAgICByZXR1cm47CisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODEzIEltcGxlbWVudCB0aGlzCisgICAg
ICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJHYXRoZXJBbHBoYSIpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9X
SExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgTWV0YWwgewog
CiBjbGFzcyBUeXBlTmFtZXI7CiAKLXZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVp
bGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVu
dE5hbWVzLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgc3RkOjpmdW5jdGlvbjxNYW5nbGVkVmFy
aWFibGVOYW1lKCk+JiYsIEluZGVudGF0aW9uPDQ+KTsKK3ZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIGNvbnN0
IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywgTWFuZ2xlZFZhcmlh
YmxlTmFtZSByZXN1bHROYW1lLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgSW5kZW50YXRpb248
ND4pOwogCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01l
dGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTEg
KzM4LDYgQEAgbmFtZXNwYWNlIFdITFNMIHsKIAogbmFtZXNwYWNlIE1ldGFsIHsKIAotZW51bSBj
bGFzcyBNYXRyaXhUeXBlIDogdWludDhfdCB7Ci0gICAgRmxvYXQsCi0gICAgQm9vbAotfTsKLQog
U3RyaW5nIHdyaXRlTmF0aXZlVHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZl
VHlwZURlY2xhcmF0aW9uKQogewogICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJ2b2lkIikKQEAgLTEwMSwzNSArOTYsMjYgQEAgU3RyaW5nIHdyaXRlTmF0aXZlVHlwZShB
U1Q6Ok5hdGl2ZVR5cGVEZQogICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSB0eXBlUmVmZXJlbmNl
LT51bmlmeU5vZGUoKTsKICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CiAgICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBkb3du
Y2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAgYXV0
byBtYXRyaXhUeXBlID0gKFsmXSgpIC0+IE1hdHJpeFR5cGUgeworICAgICAgICBhdXRvIHByZWZp
eCA9IChbJl0gewogICAgICAgICAgICAgaWYgKHBhcmFtZXRlclR5cGUubmFtZSgpID09ICJib29s
IikKLSAgICAgICAgICAgICAgICByZXR1cm4gTWF0cml4VHlwZTo6Qm9vbDsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gImJvb2wiOwogICAgICAgICAgICAgQVNTRVJUKHBhcmFtZXRlclR5cGUubmFt
ZSgpID09ICJmbG9hdCIpOwotICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6OkZsb2F0Owor
ICAgICAgICAgICAgcmV0dXJuICJmbG9hdCI7CiAgICAgICAgIH0pKCk7CiAKLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMSA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwxID0gY29uc3RhbnRFeHByZXNzaW9uMS5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCByb3dzID0gaW50ZWdlckxpdGVyYWwxLnZhbHVlKCk7Ci0gICAgICAgIEFT
U0VSVChyb3dzID09IDIgfHwgcm93cyA9PSAzIHx8IHJvd3MgPT0gNCk7Ci0KLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMiA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwyID0gY29uc3RhbnRFeHByZXNzaW9uMi5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCBjb2x1bW5zID0gaW50ZWdlckxpdGVyYWwyLnZhbHVlKCk7Ci0gICAgICAg
IEFTU0VSVChjb2x1bW5zID09IDIgfHwgY29sdW1ucyA9PSAzIHx8IGNvbHVtbnMgPT0gNCk7Ci0K
LSAgICAgICAgc3dpdGNoIChtYXRyaXhUeXBlKSB7Ci0gICAgICAgIGNhc2UgTWF0cml4VHlwZTo6
RmxvYXQ6IHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGFsaWdubWVudCA9IGNvbHVtbnMgPT0gMiA/
IDggOiAxNjsKLSAgICAgICAgICAgIGlmIChjb2x1bW5zID09IDMpCi0gICAgICAgICAgICAgICAg
Y29sdW1ucyA9IDQ7Ci0gICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8ZmxvYXQs
ICIsIGNvbHVtbnMgKiByb3dzLCAiPiBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKCIsIGFsaWdubWVu
dCwgIikpKSIpOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgTWF0cml4VHlwZTo6Qm9vbDoKLSAg
ICAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxib29sLCAiLCBjb2x1bW5zICogcm93
cywgIj4iKTsKLSAgICAgICAgfQorICAgICAgICAvL3N3aXRjaCAobWF0cml4VHlwZSkgeworICAg
ICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6RmxvYXQ6IHsKKyAgICAgICAgLy8gICAgdW5zaWduZWQg
YWxpZ25tZW50ID0gY29sdW1ucyA9PSAyID8gOCA6IDE2OworICAgICAgICAvLyAgICBpZiAoY29s
dW1ucyA9PSAzKQorICAgICAgICAvLyAgICAgICAgY29sdW1ucyA9IDQ7CisgICAgICAgIC8vICAg
IHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxmbG9hdCwgIiwgY29sdW1ucyAqIHJvd3MsICI+IF9f
YXR0cmlidXRlX18oKGFsaWduZWQoIiwgYWxpZ25tZW50LCAiKSkpIik7CisgICAgICAgIC8vfQor
ICAgICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6Qm9vbDoKKyAgICAgICAgLy8gICAgcmV0dXJuIG1h
a2VTdHJpbmcoImFycmF5PGJvb2wsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOworICAgICAgICAv
L30KKworICAgICAgICAvLyBPT1BTOiBhbGlnbm1lbnQgbmVlZGVkIGhlcmU/CisgICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKCJXU0xNYXRyaXg8IiwgcHJlZml4LCAiLCAiLCBuYXRpdmVUeXBlRGVj
bGFyYXRpb24ubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCksICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJh
dGlvbi5udW1iZXJPZk1hdHJpeFJvd3MoKSwgIj4iKTsKICAgICB9CiAgICAgQVNTRVJUKG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwogICAgIEFTU0VS
VChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+PihuYXRpdmVU
eXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTgzMTMsNiArODMxMyw3IEBACiAJCTUxRkI2N0RBMUFFNkI1RTQw
MEQwNkM1QSAvKiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyogVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTIyNTZD
QUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdI
TFNMTmFtZVNwYWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdITFNMQ29kZUxv
Y2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBXSExTTEV4cHJl
c3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUxIC8qIFdITFNM
R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1NDgsNiAr
MjU1NDksNyBAQAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmgg
Ki8sCiAJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVj
a2VyLmNwcCAqLywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFs
VHlwZUNoZWNrZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xO
YW1lU3BhY2UuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1l
Q29udGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFt
ZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1l
UmVzb2x2ZXIuY3BwICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVN
ZXRhbC5tbQkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC05MywxMCArOTMsMTAgQEAgc3RhdGljIE9wdGlvbmFsPFdITFNMOjpDb21wdXRlRGltZW5z
aW9ucwogICAgICAgICBpZiAoV0hMU0w6OmR1bXBNZXRhbENvbXBpbGVUaW1lcykKICAgICAgICAg
ICAgIGRhdGFMb2dMbigiTWV0YWwgY29tcGlsZSB0aW1lczogIiwgKE1vbm90b25pY1RpbWU6Om5v
dygpIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSwgIiBtcyIpOwogICAgICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwotI2lmbmRlZiBOREVCVUcKKy8vI2lmbmRlZiBOREVCVUcKICAg
ICAgICAgaWYgKCFjb21wdXRlTGlicmFyeSkKICAgICAgICAgICAgIE5TTG9nKEAiJUAiLCBlcnJv
cik7Ci0jZW5kaWYKKy8vI2VuZGlmCiAgICAgICAgIEFTU0VSVChjb21wdXRlTGlicmFyeSk7CiAg
ICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk1NzcxIE9uY2Ugd2UgemVyby1maWxsIHZhcmlhYmxlcywgdGhlcmUgc2hvdWxkIGJlIG5vIHdh
cm5pbmdzLCBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWVycm9yKSBoZXJlLgogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVy
UGlwZWxpbmVNZXRhbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVJl
bmRlclBpcGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwOSw5ICs0MDksOSBAQCBz
dGF0aWMgYm9vbCB0cnlTZXRGdW5jdGlvbnMoY29uc3QgR1BVUGlwCiAKICAgICAgICAgaWYgKCF2
ZXJ0ZXhMaWJyYXJ5ICYmIGVycm9yKSB7CiAgICAgICAgICAgICBlcnJvclNjb3Blcy5nZW5lcmF0
ZVByZWZpeGVkRXJyb3IoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRGOFN0cmluZyk7Ci0j
aWZuZGVmIE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICAgICAgTlNMb2coQCIlQCIs
IGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVCh2
ZXJ0ZXhMaWJyYXJ5KTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2It
YWxpYXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhw
ZWN0ZWQudHh0OjI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2It
YWxpYXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJy
YXktb29iLWFsaWFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2FycmF5LW9vYi1hbGlhcy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbDoyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0
aXRsZT5maWVsZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgor
PHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0
IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5j
ICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsKKyAg
ICAgICAgICAgIGludCB4OworICAgICAgICAgICAgaW50IHk7CisgICAgICAgICAgICBpbnQgejsK
KyAgICAgICAgfQorICAgICAgICBib29sIGZvbyh1aW50IGkpIHsKKyAgICAgICAgICAgIEZvb1sx
MF0gZm9vczsKKyAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOworICAgICAg
ICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAgcmV0dXJuIHB0
ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICB9CisgICAgYDsKKworICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMTApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xG
dW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0cnVlKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMHhmZmZmZmZmZildKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRlc3Rz
KTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2Fy
cmF5LW9vYi1hbGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcg
KzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQg
cmV0dXJuIG51bGwuPC90aXRsZT4KKzx0aXRsZT5vb2Igb24gYXJyYXlzLjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjEsMTUgKzIxLDQ2IEBAIHdobHNs
VGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSAKICAgICAgICAgICAgIEZvb1sxMF0g
Zm9vczsKICAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOwogICAgICAgICAg
ICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOwotICAgICAgICAgICAgcmV0dXJuIHB0ciA9
PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICAgICAgKnB0ciA9IDQyOworICAgICAgICAg
ICAgcmV0dXJuIGZvb3NbMF0ueiA9PSA0MjsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmFy
KCkgeworICAgICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhyZWFkIEZvbyog
Zm9vID0gJmZvb3NbNDI0MjQyXTsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9v
LT56KTsKKyAgICAgICAgICAgIHJldHVybiBmb28gPT0gJmZvb3NbMF07CisgICAgICAgIH0KKwor
ICAgICAgICBmbG9hdDMgcmV0RmxvYXQzKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IGZsb2F0MygxMC4wLCAwLjAsIDAuMCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdFsxMF0g
cmV0RmxvYXRBcnJheSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0WzEwXSB2OworICAg
ICAgICAgICAgdlswXSA9IDEwLjA7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQor
CisgICAgICAgIGJvb2wgYmF6KCkgeworICAgICAgICAgICAgcmV0dXJuIHJldEZsb2F0MygpWzQy
XSA9PSAxMC4wOworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBqYXooKSB7CisgICAgICAgICAg
ICByZXR1cm4gcmV0RmxvYXRBcnJheSgpWzQyXSA9PSAxMC4wOwogICAgICAgICB9CiAgICAgYDsK
IAogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSks
IGZhbHNlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHBy
b2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGkgPT09IDAgPyB0cnVlIDogZmFsc2UpOwog
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFttYWtlVWludCgxMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9v
bEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwog
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFttYWtlVWludCgweGZmZmZmZmZmKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImJheiIsIFtdKSwgdHJ1
ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAi
amF6IiwgW10pLCB0cnVlKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRv
ZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAot
UEFTUyBhbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVy
ZW5jZSAKLVBBU1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9u
ZyAKLVBBU1MgYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04
PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVm
aXgvcG9zdGZpeC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRl
eEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hl
Y2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAg
ICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0
aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMu
aW5kZXhBbmRlckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0
IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBv
cGVyYXRvciZbXShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJldHVybiAmZm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRl
c3RzLmFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBj
aGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAg
ICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5m
b28odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVy
biBmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFu
ZGVyRG9lc250VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tG
YWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAg
ICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9y
Ji5mb28oRm9vIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldp
dGhCYWRJbmRleCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9v
KHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tG
YWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAg
IGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJu
IHhbeV07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10g
eCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0
aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAg
ICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAg
ICAgICAgICAgcmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0K
LXdobHNsVGVzdHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+
IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBp
bnQqIG9wZXJhdG9yJi5mb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCB4
OwotICAgICAgICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7
Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBG
b28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAg
fQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hv
dWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1
cGxpY2F0ZS1jdG9ycy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3Rv
cnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTksMTYgKzE5LDIwIEBAIHR5cGVkZWYgWFlaMyA9
IFhZWjsKIAogW251bXRocmVhZHMoMiwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRl
cihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6
IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICB0aHJlYWQgaW50KiB4OwotICAgIHRocmVhZCBp
bnQqIHk7Ci0gICAgdGhyZWFkIGZsb2F0KiBmMTsKLSAgICB0aHJlYWQgZmxvYXQqIGYyOworICAg
IGludCB2YWx1ZTsKKyAgICBmbG9hdCB2YWx1ZTI7CisgICAgaW50WzEwXSB2YWx1ZTM7CisKKyAg
ICB0aHJlYWQgaW50KiB4ID0gJnZhbHVlOworICAgIHRocmVhZCBpbnQqIHkgPSAmdmFsdWU7Cisg
ICAgdGhyZWFkIGZsb2F0KiBmMSA9ICZ2YWx1ZTI7CisgICAgdGhyZWFkIGZsb2F0KiBmMiA9ICZ2
YWx1ZTI7CiAgICAgWFlaMSBhOwogICAgIFhZWjIgYjsKICAgICBYWVozIGM7Ci0gICAgdGhyZWFk
IGludFtdIGludEFycmF5UmVmMTsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyOwotICAg
IGlmICgqeCA9PSAqeSAmJiB4ID09IHkgJiYgeCA9PSBudWxsICYmIGYxID09IG51bGwgJiYgKmYx
ID09IDApIHsKKyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxID0gQHZhbHVlMzsKKyAgICB0
aHJlYWQgaW50W10gaW50QXJyYXlSZWYyID0gQHZhbHVlMzsKKyAgICBpZiAoKnggPT0gKnkgJiYg
eCA9PSB5KSB7CiAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1aW50
KHRocmVhZElELngpXSAqIDIuMDsKICAgICB9CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE1LDIyICsxNSwxNyBAQCB3aGxzbFRlc3RzLmluY3JlbWVudFNldHRlciA9IGFzeW5j
ICgpID0+CiAgICAgbGV0IHByb2dyYW0gPSBgCiAgICAgICAgIHN0cnVjdCBGb28gewogICAgICAg
ICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLncoRm9vIGZvbykg
ewotICAgICAgICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9y
Lnc9KEZvbyBmb28sIGludCB2YWx1ZSkgewotICAgICAgICAgICAgZm9vLnogPSB2YWx1ZTsKLSAg
ICAgICAgICAgIHJldHVybiBmb287CisgICAgICAgICAgICBpbnQgdzsKICAgICAgICAgfQogICAg
ICAgICBpbnQgYmFyKCkgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby56
ID0gMzsKKyAgICAgICAgICAgIGZvby53ID0gMTsKICAgICAgICAgICAgIGludCB2YWx1ZSA9IGZv
by53Kys7CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUqMTAwICsgZm9vLnoqMTAgKyBmb28udzsK
ICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgODk4KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAxMDAgKyAzMCArIDIpOwogfQogCiBy
dW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRl
eC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIGluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFT
UyBpbmRleEFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0
Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBz
dHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5k
ZXJXaXRoTm90aGluZ1dyb25nID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAK
LSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAg
ICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9
IDEzOwotICAgICAgICAgICAgcmV0dXJuIHhbNjY2XTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwg
MTMpOwotfQotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50
cyA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAg
ICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSgpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4OwotICAgICAgICAgICAg
fQotICAgICAgICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBg
Ci0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgK
LSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50
IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0
aHJlYWQgRm9vKiBmb28sIHVpbnQsIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5U
ZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4
LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBA
Ci0KLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCAKLVBBU1MgaW5kZXhTZXR0
ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkIAotUEFTUyBub3RMb25lSW5kZXhTZXR0ZXIgCi1Q
QVNTIGxvbmVJbmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyUG9pbnRlciAKLQpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgt
c2V0dGVyLWdldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hs
c2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3Zlcmxv
YWQgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAg
ICAgICAgICAgc3RydWN0IEZvbyB7IH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAg
ICAgICAgICBpbnQgb3BlcmF0b3JbXShGb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEJhciBvcGVy
YXRvcltdPShCYXIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gQmFyKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0K
LXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkID0gYXN5bmMg
KCkgPT4KLXsKLSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQot
ICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiA1MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWlu
dCwgaW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGZvbygpIHsgcmV0dXJuIEJhcigpWzBdOyB9Ci0gICAgICAgIGludCBiYXIo
KSB7Ci0gICAgICAgICAgICBCYXIgYjsKLSAgICAgICAgICAgIGJbMF0gPSA0MDA7Ci0gICAgICAg
ICAgICByZXR1cm4gYlswXTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTM0KTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1MzQp
OwotfTsKLQotd2hsc2xUZXN0cy5ub3RMb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9Pgotewot
ICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAgICAgIGludCBvcGVyYXRvcltdKGludCwgdWludCkK
LSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDY1OwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBvcGVyYXRvcltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIDU0MzsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgewotICAgICAgICAgICAgaW50
IHg7Ci0gICAgICAgICAgICByZXR1cm4geFswXTsKLSAgICAgICAgfQotICAgICAgICBpbnQgYmFy
KCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB4WzBdID0gNDI7Ci0gICAgICAg
ICAgICByZXR1cm4geDsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNjUpOwotICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDU0Myk7Ci19
OwotCi13aGxzbFRlc3RzLmxvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oaW50
LCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDU0MzsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5s
b25lSW5kZXhTZXR0ZXJQb2ludGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0Zh
aWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yW109KHRocmVh
ZCBpbnQqIHB0ciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJl
dHVybiBwdHI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXJ1
blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJl
bmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTE0ICs3LDExNSBAQAogPGJvZHk+CiA8c2Ny
aXB0PgogY29uc3Qgc2hhZGVyU291cmNlID0gYAotYm9vbCB0ZXN0MSgpIHsKLSAgICBpbnQgdmFs
dWUgPSA0MjsKLSAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7Ci0gICAgaWYgKGFycmF5
Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9
IDQyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMDIxM10gIT0gMCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXJyYXlbMF0gPSAxMzM3OwotICAgIGlmICh2
YWx1ZSAhPSAxMzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotYm9vbCB0ZXN0MigpIHsKLSAgICBpbnQgdmFsdWUgPSA0MjsKLSAgICB0aHJlYWQgaW50
KiBwdHIgPSAmdmFsdWU7Ci0gICAgaWYgKCpwdHIgIT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFycmF5Lmxlbmd0
aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9IDQyKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMzc0MjE3XSAhPSAwKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgKnB0ciA9IDY2NjsKLSAgICBpZiAoKnB0ciAh
PSA2NjYpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0gNjY2KQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9IDY2NikKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgYXJyYXlbMF0gPSA0MjQyOwotICAgIGlmICgqcHRyICE9IDQyNDIpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0gNDI0MikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGlmIChhcnJheVswXSAhPSA0MjQyKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCB0ZXN0MygpIHsKLSAgICBpbnRbNDJdIHg7Ci0gICAg
dGhyZWFkIGludFs0Ml0qIGFycmF5UHRyID0gJng7Ci0gICAgaWYgKGFycmF5UHRyLT5sZW5ndGgg
IT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHhbNDFdID0gNjY2OwotICAgIGlm
ICgoKmFycmF5UHRyKVs0MV0gIT0gNjY2KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYg
KCgqYXJyYXlQdHIpWzBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHRocmVh
ZCBpbnRbXSBhcnJheSA9IEB4OwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gNDIpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGFycmF5WzBdID0gMTMzNzsKLSAgICBpZiAoeFswXSAhPSAx
MzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCgqYXJyYXlQdHIpWzBdICE9IDEz
MzcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29s
IHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0ciA9IG51bGw7Ci0KLSAgICB0aHJlYWQgaW50
W10gYXJyYXkgPSBAcHRyOwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gMCkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgaWYgKGFycmF5WzBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiB0cnVlOwotfQorLy9ib29sIHRlc3QxKCkgeworLy8gICAgaW50IHZhbHVl
ID0gNDI7CisvLyAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7CisvLyAgICBpZiAoYXJy
YXkubGVuZ3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5
WzBdICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChhcnJheVsxMjAy
MTNdICE9IDApCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGFycmF5WzBdID0g
MTMzNzsKKy8vICAgIGlmICh2YWx1ZSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0MigpIHsKKy8vICAg
IGludCB2YWx1ZSA9IDQyOworLy8gICAgdGhyZWFkIGludCogcHRyID0gJnZhbHVlOworLy8gICAg
aWYgKCpwdHIgIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHRocmVh
ZCBpbnRbXSBhcnJheSA9IEBwdHI7CisvLyAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCisvLyAg
ICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9IDQyKQorLy8gICAgICAg
IHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChhcnJheVsxMjM3NDIxN10gIT0gMCkKKy8vICAgICAg
ICByZXR1cm4gZmFsc2U7CisvLyAgICAKKy8vICAgICpwdHIgPSA2NjY7CisvLyAgICBpZiAoKnB0
ciAhPSA2NjYpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKHZhbHVlICE9IDY2
NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEp
CisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9IDY2NikKKy8v
ICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgYXJyYXlbMF0gPSA0MjQyOworLy8gICAg
aWYgKCpwdHIgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAodmFs
dWUgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXlbMF0g
IT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXkubGVuZ3Ro
ICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHJldHVybiB0cnVlOwor
Ly99CisvLworLy9ib29sIHRlc3QzKCkgeworLy8gICAgaW50WzQyXSB4OworLy8gICAgdGhyZWFk
IGludFs0Ml0qIGFycmF5UHRyID0gJng7CisvLyAgICBpZiAoYXJyYXlQdHItPmxlbmd0aCAhPSA0
MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgeFs0MV0gPSA2NjY7CisvLyAg
ICBpZiAoKCphcnJheVB0cilbNDFdICE9IDY2NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7Cisv
LyAgICBpZiAoKCphcnJheVB0cilbMF0gIT0gMCkKKy8vICAgICAgICByZXR1cm4gZmFsc2U7Cisv
LworLy8gICAgdGhyZWFkIGludFtdIGFycmF5ID0gQHg7CisvLyAgICBpZiAoYXJyYXkubGVuZ3Ro
ICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBhcnJheVswXSA9IDEz
Mzc7CisvLyAgICBpZiAoeFswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8v
ICAgIGlmICgoKmFycmF5UHRyKVswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0NCgpIHsKKy8vICAg
IGludCB4ID0gNDI7CisvLyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKKy8vCisvLyAgICB0aHJl
YWQgaW50W10gYXJyYXkgPSBAcHRyOworLy8gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQorLy8g
ICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCisvLyAg
ICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDQyKQor
Ly8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQogCiBb
bnVtdGhyZWFkcygxLCAxLCAxKV0KIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBp
bnRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNo
VGhyZWFkSUQpIHsKLSAgICBpZiAoIXRlc3QxKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lm
ICghdGVzdDEoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3QyKCkpCi0gICAg
ICAgIHJldHVybjsKKyAgICAvL2lmICghdGVzdDIoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAg
ICBpZiAoIXRlc3QzKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmICghdGVzdDMoKSkKKyAg
ICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3Q0KCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICAvL2lmICghdGVzdDQoKSkKKyAgICAvLyAgICByZXR1cm47CiAKICAgICBidWZmZXJbMF0gPSAx
OwogfQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5b3V0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1v
cnktbGF5b3V0Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02MCwyMCAr
NjAsMjAgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAgY29uc3QgYnVmZmVy
QXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwogICAgIGNvbnN0IGJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwog
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDA7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFd
ID0gNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSA4OwotICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDEyOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IDE7CisgICAgYnVmZmVy
RmxvYXQzMkFycmF5WzFdID0gMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAyOworICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDM7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0g
NDsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbNV0gPSA1OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDk7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTM7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzhdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA2OworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVs2XSA9IDY7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gNzsK
KyAgICBidWZmZXJGbG9hdDMyQXJyYXlbOF0gPSA4OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs5
XSA9IDk7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEwOwotICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVsxMV0gPSAxNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMzsKLSAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gNzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MTE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVsxMl0gPSAxMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMTM7CisgICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDE0OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAx
NTsKICAgICBidWZmZXIudW5tYXAoKTsKIApAQCAtOTgsMjMgKzk4LDIzIEBAIGFzeW5jIGZ1bmN0
aW9uIHN0YXJ0KGRldmljZSkgewogICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0
IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7CiAgICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKICAgICBpZiAocmVz
dWx0c0Zsb2F0MzJBcnJheVswXSA9PT0gMQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzFdID09PSA1Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT09IDkKLSAgICAg
ICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PT0gMTMKKyAgICAgICAgJiYgcmVzdWx0c0Zs
b2F0MzJBcnJheVsxXSA9PT0gMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09
PSAzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDQKIAotICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSAyCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbNF0gPT09IDUKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs1XSA9PT0gNgot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzZdID09PSAxMAotICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzddID09PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzZdID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT09IDgKIAotICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzhdID09PSAzCi0gICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbOV0gPT09IDcKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9
PT0gOQorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSAxMAogICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzEwXSA9PT0gMTEKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVsxMV0gPT09IDE1CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTFdID09
PSAxMgogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTJdID09PSA0Ci0gICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbMTRdID09PSAxMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEyXSA9
PT0gMTMKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxM10gPT09IDE0CisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTRdID09PSAxNQogICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzE1XSA9PT0gMTYpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAgIGVsc2UK
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtNjYsMjIgKzY2LDI0IEBAIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBmbG9h
dFsKICAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
b3VydHlUd29bMTMzN10gPSA1MDsKLSAgICBmb29bMV0gPSBmb3VydHlUd287Ci0gICAgaWYgKCFh
bGxFcXVhbChmb28sIDQyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm91cnR5VHdvWzEwMDAw
MDBdID0gNTA7Ci0gICAgZm9vWzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxsRXF1YWwoZm9v
LCA0MikpCi0gICAgICAgIHJldHVybjsKKyAgICAvLyBPT1BTOiB3aGF0IHNlbWFudGljcyBhcmUg
d2UgY2hvb3Npbmc/CiAKLSAgICBmbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9vWzEwMDAwMF07Ci0g
ICAgaWYgKHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8fCBzaG91
bGRCZVplcm8ueiAhPSAwKQotICAgICAgICByZXR1cm47CisgICAgLy9mb3VydHlUd29bMTMzN10g
PSA1MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxsRXF1YWwoZm9v
LCA0MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mb3VydHlUd29bMTAwMDAwMF0gPSA1
MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxsRXF1YWwoZm9vLCA0
MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9v
WzEwMDAwMF07CisgICAgLy9pZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8fCBzaG91bGRCZVplcm8u
eSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisgICAgLy8gICAgcmV0dXJuOwogCi0gICAg
aWYgKGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKLSAgICAgICAgcmV0dXJuOworICAgIC8vaWYg
KGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKKyAgICAvLyAgICByZXR1cm47CiAKICAgICBidWZm
ZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gKiAyLjA7CiB9
CkBAIC0xNDUsNyArMTQ3LDcgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAg
ICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKICAgICAgICAgdGVzdFBhc3NlZCgi
Iik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7CiB9CiB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVs
bC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1vbm9tb3JwaGljIAorUEFTUyBudWxsSXNF
cnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04
PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1
Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxlPgogPHNjcmlwdCBzcmM9ImpzL3Rlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAKIDxzY3JpcHQ+CiBjb25zdCB3aGxzbFRl
c3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGljID0gYXN5bmMg
KCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBhc3luYyAoKSA9PgogewotICAgIGxldCBw
cm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIGludCBmb28odGhyZWFk
IGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gKnB0cjsKQEAgLTIxLDEx
ICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpYyA9IGFzCiAgICAg
ICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7CiAgICAgICAgIH0KLSAgICBgOwot
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBb
XSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgdm9pZCBi
YXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50KiB4OworICAgICAgICB9Cisg
ICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGJhcigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4OworICAgICAgICB9CisgICAgYCk7CiB9
CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3JpcHQ+CiA8L2h0bWw+Ci0KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9u
dWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBA
QAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNl
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxs
LWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5j
dGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFk
ZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwotRm9vIGdldE51bGxQdHIo
KQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsKLSAgICBmbG9hdCB4Owot
ICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVhZHMoMiwgMSwgMSldCi1j
b21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rl
cih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICBGb28g
cHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQdHIoKSA9IDQyOwotICAg
IGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXROdWxsUHRyKCkpIHsKLSAg
ICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAgICAgICAgICAgICB0aHJl
YWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZWiB4eXo7Ci0gICAgICAg
ICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55ID0gMTsKLSAgICAgICAg
ICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5ei56ID09IDEuMCAmJiB4
eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAgICAgICAgICAgICp4eXpQ
dHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQdHI7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4wICYmIHh5ei56ID09IDAu
MCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVsbFB0cigpID09IG51bGwp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipnZXROdWxsUHRyKCkpID09
IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyW3VpbnQodGhy
ZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRHcm91cExheW91
dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0eTogNywgdHlw
ZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZp
Y2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbYmlu
ZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
UGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0YWdlLCBsYXlvdXQ6IHBpcGVsaW5l
TGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlQ29tcHV0
ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qgc2l6ZSA9
IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7Ci0KLSAgICBjb25zdCBidWZmZXJE
ZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUgfCBHUFVC
dWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0IGJ1ZmZlciA9IGRldmljZS5jcmVh
dGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgYnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IGJ1ZmZlckZsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIGJ1ZmZlckZs
b2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFdID0gMjsKLSAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDQ7
Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IHJlc3VsdHNC
dWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5TVE9SQUdFIHwg
R1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUR9Owot
ICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJlc3VsdHNCdWZm
ZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJpbmRpbmcgPSB7YnVmZmVyOiByZXN1
bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3JvdXBCaW5kaW5nID0ge2JpbmRpbmc6
IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBjb25zdCBiaW5kR3JvdXBEZXNjcmlw
dG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5kaW5nczogW2JpbmRHcm91cEJpbmRp
bmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwKGJpbmRH
cm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21tYW5kRW5jb2Rlci5jb3B5QnVmZmVy
VG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAwLCBzaXplKTsKLSAgICBjb25zdCBj
b21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7Ci0g
ICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7Ci0gICAg
Y29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1
dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIu
ZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5p
c2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLQot
ICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc3VsdHNCdWZmZXIubWFwUmVh
ZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0c0Zsb2F0MzJBcnJheVswXSA9
PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT0gNAotICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNF0gPT0gNQotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkK
LSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIi
KTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3Rh
cnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7Ci0gICAgICAgIGZpbmlz
aEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgdGVzdFBhc3NlZCgiIik7
Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1h
Y2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFjY2Vzcy0yLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNz
LTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hs
c2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICAg
ICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4ID0gMzsKKyAgICAgICAg
ICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAg
ICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAgICAgICAgaW50IGJhcigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBh
ID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4
WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAg
ICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4WzFdOworICAgICAgICB9
CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2Fs
bEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDApOworfTsKKworcnVuVGVzdHMod2hs
c2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAK
IDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLVtudW10aHJlYWRzKDIs
IDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRl
cihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6
IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJbMTMzN10gPSAwLjA7CiAgICAgYnVm
ZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1NywxNCBAQCBhc3luYyBmdW5jdGlvbiBz
dGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVs
aW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91
cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAx
KTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMSwgMSwgMSk7CiAgICAgY29tcHV0
ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCByZXN1bHRz
QnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7Ci0gICAgaWYgKHJlc3VsdHNGbG9h
dDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDAKICAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0CiAgICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09
IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWdu
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZl
Y3Rvci1hc3NpZ24uaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcs
MTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhBc3NpZ24gPSBhc3luYyAoKSAKICAg
ICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHhbMF0gPSAyMDsKICAgICAgICAgICAgIHhb
MV0gPSAxMDsKLSAgICAgICAgICAgIHhbNTAwMF0gPSAyMDsKKyAgICAgICAgICAgIHhbNTAwMF0g
PSA0MDsKICAgICAgICAgICAgIHJldHVybiB4LnggLyB4LnkgKyB4WzUwMDBdOwogICAgICAgICB9
CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwIC8gMTAgKyA0MCk7CiB9OwogCiBydW5UZXN0cyh3
aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0
b3ItbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVy
YXRvci12ZWN0b3ItbG9hZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhMb2FkID0gYXN5bmMgKCkgPT4K
ICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHgueCA9IDIwOwogICAgICAgICAgICAg
eC55ID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBd
ID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geFswXSAvIHhbMV0gKyB4WzUwMDBdOwogICAgICAg
ICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9n
cmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVu
Y3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwLzEwICsgNDApOwogfTsKIAogcnVuVGVzdHMo
d2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vi
c2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBvdmVycmlkZVN1YnNjcmlwdFN0
cnVjdCAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyAKLVBBU1Mgb3Zl
cnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVycyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5IAotCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShyZXZpc2lvbiAyNDky
MjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KLTx0aXRsZT5UZXN0IG92ZXJyaWRlIHN1YnNjcmlwdHMuPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3Rz
ID0ge307Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgPSBhc3luYyAoKSA9
PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAg
ICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFk
IGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7
Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVy
biAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4g
Zm9vWzBdICsgZm9vWzFdICogMzsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAz
KTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZERvU3RvcmVzID0g
YXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7
Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAg
cmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9
Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAg
ICAgICAgICAgZm9vWzBdID0gNDk4OwotICAgICAgICAgICAgZm9vWzFdID0gMTk7Ci0gICAgICAg
ICAgICByZXR1cm4gZm9vLnggKyBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsg
MTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRl
cnMgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3Qg
Rm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGlu
ZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAg
ICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAg
ICAgIH0KLSAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiAoKmZvbylbMF0gKyAoKmZvbylbMV07Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4g
YmFyKCZmb28pOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7Ci19Ci0KLXdobHNs
VGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5ID0g
YXN5bmMgKCkgPT4KLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0
cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIGludCB5
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAg
ICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28tPnk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBpbnQgYmFyKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaW50IGZvbygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIGZvbzsK
LSAgICAgICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgICAgICBmb28ueSA9IDE5
OwotICAgICAgICAgICAgICAgIHJldHVybiBiYXIoJmZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgot
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1h
YnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFs
dWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAg
IEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19
Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJl
dHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIu
dy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTog
c2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJh
Z21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50
U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAi
OwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxN
b2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
ckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5v
cm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9y
V3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAK
LSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9h
dDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0
cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRl
eElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4
U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3Rh
dGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNv
dW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRF
WCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5j
KCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJi
Z3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2Fw
Q2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3
YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3
ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25z
dCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2ht
ZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51
bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07
Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdp
blJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRW
ZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwot
ICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBk
ZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVj
dGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2
YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVs
cy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImLnkodGhy
ZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAg
Rm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIqIGIpIHsKLSAg
ICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi10aHJl
YWQgQmFyKiBvcGVyYXRvciYucSh0aHJlYWQgQmF6KiBiKSB7Ci0gICAgcmV0dXJuICZiLT5wOwot
fQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAg
ICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi5xLncueSwg
Yi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0
b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJh
ciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIq
IGIpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAg
IHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246
IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBh
dHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07
Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQo
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ks
IHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0
ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0g
e3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVm
ZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkg
PSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtk
ZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250
ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBv
dXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBj
b25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywg
cmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBj
bGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVs
bDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNv
bW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVy
LmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0p
OwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0
KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28q
IGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBG
b28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0
NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2Vu
ZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIGdlbmVyYXRlRm9vKCkueSwgMS4wKTsKLX0K
LWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxl
ID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAg
Y29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2
ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRp
dmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0
YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxw
aGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
clN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQs
IHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVw
dGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hh
ZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtz
dHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRz
ID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5w
dXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBM
YXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlw
ZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0
aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNp
bFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlv
dXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJE
ZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0
LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRF
fTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdh
aXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNv
bnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVz
Y3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2Fw
Q2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsK
LSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1
bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21t
YW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBh
OiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRU
ZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9w
OiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0
dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNz
RW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3Jp
cHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUp
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZl
cl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNv
bW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29t
bWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkg
ewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFz
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dl
dHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTExICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsK
LSAgICByZXR1cm4gZi54OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGZs
b2F0NChmLnksIGYueSwgZi55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZp
Y2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxl
KHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZy
YWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVu
dFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlw
IjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxs
TW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xv
cldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAg
Ci0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxv
YXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0
dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0
ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRl
eFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0
YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVD
b3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJU
RVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9
IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3lu
YygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzdd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJn
cHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dh
cENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBz
d2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmll
dyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1h
bmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29u
c3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNo
bWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBu
dWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1d
OwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJl
bmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVn
aW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsK
LSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAg
ZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rl
dmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIt
YWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVl
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2Ug
PSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1
dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0
IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJl
YWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3Qg
QmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgp
IHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5k
ZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
YlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1b
M10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFs
dWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVs
cy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0
IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBC
YXIqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXog
ewotICAgIEJhciBwOwotfQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciZbXSh0aHJlYWQgQmF6KiBi
LCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT5wOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzFdWzJd
WzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXVszXSwgYlsxXVsyXVszXSwgYlsx
XVsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAg
Y29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hh
ZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsK
LSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29u
c3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25l
In07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7
fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhh
QmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMu
QUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0
IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAg
IGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07
Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7
dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJh
Z21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JT
dGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxh
eW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNl
LmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3Jl
YXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsz
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
M10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAo
KTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAg
Y29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0i
fTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2Fw
Q2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdl
dEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRU
ZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9
IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHty
OiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3th
dHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9w
OiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVz
Y3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAg
ICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFz
cyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxp
bmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZl
cnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0
LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3Qg
Y29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRR
dWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVu
KGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwot
fSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5k
ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9j
YW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWFuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVy
dGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6
IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewot
ICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyog
ZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0g
ICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBCYXIqIGIsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFn
bWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMV1bMl0gPSAx
LjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzFdWzJdLCBiWzFdWzJdLCBiWzFdWzJdLCAxLjApOwot
fQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1
bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAg
ICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
InZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1p
dGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9u
U3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBh
bHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVu
ZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBk
ZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtz
aGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0g
e3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1
dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBp
bnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91
cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmlt
aXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVu
Y2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxh
eW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAq
IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4
QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBh
d2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Ml0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
Ml0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVm
ZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNl
KSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiAmZi0+eDsKLX0KLQotRm9vIGdlbmVyYXRlRm9vKCkgewotICAgIEZvbyBmOwot
ICAgIGYueCA9IDEuMDsKLSAgICByZXR1cm4gZjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdt
ZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgcmV0dXJuIGZsb2F0NChnZW5lcmF0ZUZv
bygpWzBdLCBnZW5lcmF0ZUZvbygpWzFdLCBnZW5lcmF0ZUZvbygpWzJdLCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWdldHRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAi
IGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3Jv
dW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0
ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDog
U1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0g
ICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiBmbG9hdChpbmRleCk7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEZvbyBmOwotICAgIHJldHVybiBmbG9hdDQoZlsx
XSwgZlsxXSwgZlsxXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7
Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29k
ZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3Qt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0g
YAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRl
KDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBG
b28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQg
aW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQg
aW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotc3RydWN0
IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLUJhciBvcGVyYXRvcltdKEJheiBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuIGIucDsKLX0KLQotQmF6IG9wZXJhdG9yW109KEJheiBiLCB1aW50IGlu
ZGV4LCBCYXIgYSkgewotICAgIGIucCA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJheiBiOwotICAg
IGJbMl1bM11bNF0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdWzRdLCBiWzJdWzNd
WzRdLCBiWzJdWzNdWzRdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2Up
IHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtj
b2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNo
YWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdt
ZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNo
YWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsK
LSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9k
ZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3Jt
IiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldy
aXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0g
ICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0
In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJp
YnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJ
bnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGlu
ZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2Ny
aXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0
YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRl
LCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3Vu
dDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUg
PSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVgg
fCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRl
dmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygp
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXko
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsw
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUi
KTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdy
YTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENo
YWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2Fw
Q2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9
IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRF
bmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3Qg
cmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVu
dHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxs
LCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRl
clBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5S
ZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5z
ZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVy
dGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAg
ICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2
aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rldmlj
ZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0
aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3Jv
dW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3Vy
Y2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRy
aWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3Ry
dWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWlu
dCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvcltdPShGb28gZiwg
dWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0K
LXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIgYiwgdWlu
dCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShCYXIgYiwg
dWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1m
cmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIg
YjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXSwgYlsyXVsz
XSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0g
ICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTog
c2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1z
ZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1l
eHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJs
dWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+
Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9h
dDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBw
b3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3Bl
cmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBv
cGVyYXRvcltdPShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0g
ICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQg
Rm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJu
ICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQo
YlsyXVszXSwgYlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBj
b25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
ZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmds
ZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3
IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAi
cmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8g
R1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxs
OwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1h
dDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVT
ZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29u
c3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9
IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6
YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwg
c2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZs
b2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxv
YXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZv
cm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZp
Z3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQot
ICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xv
ckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRh
cmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9y
OiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBj
b25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNv
ZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVy
UGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQ
YXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgp
OwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24g
MjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJh
dG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19
Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIgYiwg
dWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShCYXIg
YiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQot
Ci1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBC
YXIgYjsKLSAgICBGb28gZm9vOwotICAgIGZvby54ID0gMS4wOwotICAgIGJbMV0gPSBmb287Ci0g
ICAgZm9vID0gYlsxXTsKLSAgICByZXR1cm4gZmxvYXQ0KGZvby54LCBmb28ueCwgZm9vLngsIDEu
MCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRl
ck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0p
OwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3Qg
cHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6
YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNv
bnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xv
ckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUw
ID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1
dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0
IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZl
cnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7Ymlu
ZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNy
ZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2Us
IHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0
aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVs
aW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5k
ZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4
QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1B
UF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBj
b25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBD
aGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29u
c3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4
dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVh
dGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwg
YjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDog
b3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwg
c3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7
Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFz
c0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0
ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9u
KCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVl
LTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVj
dGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRl
eCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBT
Vl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAg
ICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYu
eDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsK
LSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBv
cGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9
KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVj
dCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3IucShCYXogYikgewotICAgIHJl
dHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvci5xPShCYXogYiwgQmFyIGEpIHsKLSAgICBiLnAg
PSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIo
KSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAgIHJl
dHVybiBmbG9hdDQoYi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNv
bnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMg
ZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNl
LmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVy
dGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFk
ZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9n
eSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zy
b250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9
IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9
IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFz
azogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2ls
U3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRp
b246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2
LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0
MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQot
ICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBb
XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlv
dXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xv
Z3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2
ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAg
IGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9y
ID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTog
R1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4
QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzhd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBj
YW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9
IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBj
b250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25z
dCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29u
c3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7
Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rl
cigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAg
ICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmll
dywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUi
LCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0g
bnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRz
LCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9
IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNv
ZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZl
cl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0
YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9z
ZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFj
dC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0
ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsK
LSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19
Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28g
b3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBm
OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yLncoQmFy
IGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBh
KSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAx
LjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxv
YXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9z
aXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxv
YXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19
Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAg
cmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9v
KiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1m
cmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIg
YjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53
LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRl
c3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0
cyA9IHt9OwogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+
CiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAg
ICBpbnQgb3BlcmF0b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7
CkBAIC0zMCwxMCArMzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFz
eW5jCiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAg
ICAgfQotICAgIGA7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNs
VGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyAr
NTMsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNs
VGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0g
ICAgY29uc3QgcHJvZ3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVj
dCBCYXIgeyB9CiAgICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03
NSwxNCArNzIsMTIgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAog
ICAgICAgICAgICAgYmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAg
ICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hs
c2xUZXN0cy5yZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3Jh
bSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAg
ICAgICAgIGludCB4OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxz
bFRlc3RzLnJlY3Vyc2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFy
LmMgPSA4OwogICAgICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0K
LSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJmIiwgW10pLCA4Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFz
eW5jICgpID0+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1z
ZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAot
UEFTUyBzaW1wbGVTZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAko
cmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0
ZXItc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlw
dD4KIGNvbnN0IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBh
c3luYyAoKSA9PiB7Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4g
ewogICAgIGxldCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAg
IGludCB4OwogICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQg
Zm9vKCkKICAgICAgICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54
ID0gNzgwNDsKLSAgICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwgNzgwNCk7Ci19OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsK
LSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBp
bnQgeDsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9w
ZXJhdG9yLnk9KEZvbyBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9v
LnggPSB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueSA9IDc4MDQ7CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBg
OwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mt
b24tbnVsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNj
ZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0K
LVBBU1MgZmllbGRTaG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0
ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNs
VGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3Jh
bSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAg
ICAgIGludCB5OwotICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBm
b28odWludCBpKSB7Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJl
YWQgRm9vKiBmb28gPSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYo
Zm9vLT56KTsKLSAgICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsK
LSAgICAgICAgfQotICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0g
ICAgICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZv
byIsIFttYWtlVWludChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRy
dWUpOwotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1s
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJu
ZXNzLXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHdobHNsVGVz
dHMuZmxvYXQ0eDR0ZXN0cyA9ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwgIlVwbG9hZCBh
IGZsb2F0NHg0W10gYW5kIHN0b3JlIGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0gICAgY2hlY2tB
cnJheXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZs
b2F0NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0
LCAxNSkpOyIsIFtdLCBmbG9hdDR4NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0
eDQiLCAicmV0dXJuIGZsb2F0NHg0KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0KDQsIDUsIDYs
IDcpLCBmbG9hdDQoOCwgOSwgMTAsIDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1KSk7IiwgW10s
IGZsb2F0NHg0Q29sdW1uRXhwZWN0ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJy
ZXR1cm4gaW4wOyIsIFtmbG9hdDR4NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3RlZCk7CiAgICAg
bGV0IG11bHRpcGxlNHg0YXJncyA9IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsr
aSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377556</attachid>
            <date>2019-08-29 01:00:23 -0700</date>
            <delta_ts>2019-08-29 21:04:52 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>938909</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDYgKzMzMSw3IEBAIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU2Vt
YW50aWNNYXRjaGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNo
ZWNrZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3Bw
CitNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTFR5cGVOYW1lci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TE1ldGFsQ29kZUdlbmVyYXRvci5jcHAKQEAgLTM0Nyw3ICszNDgsNiBAQCBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xTcGVjaWFsaXphCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xTdGFnZUluT3V0U2VtYW50aWMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xG
bG9hdExpdGVyYWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdl
ckxpdGVyYWxUeXBlLmNwcAotTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xTdGF0ZW1lbnQu
Y3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDIsMTIgKzMwMiw2
IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYKICAgICBtX291dC5w
cmludChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiB9CiAKLXZvaWQgQVNURHVtcGVyOjp2aXNpdChB
U1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBtX291dC5wcmludCgibnVsbCIp
OwotICAgIHZpc2l0KG51bGxMaXRlcmFsLnR5cGUoKSk7Ci19Ci0KIHZvaWQgQVNURHVtcGVyOjp2
aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBpZiAoYm9v
bGVhbkxpdGVyYWwudmFsdWUoKSkKQEAgLTMyOCwxMCArMzIyLDYgQEAgdm9pZCBBU1REdW1wZXI6
OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVAogewogfQogCi12b2lkIEFTVER1bXBlcjo6dmlzaXQo
QVNUOjpOdWxsTGl0ZXJhbFR5cGUmKQotewotfQotCiB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkKIHsK
ICAgICBtX291dC5wcmludChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwubGVmdCgpLCAiLiIsIGVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5yaWdodCgpKTsKQEAgLTQyNSw3ICs0MTUsNiBAQCB2b2lk
IEFTVER1bXBlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBlCiAgICAgYm9vbCBza2lwUGFyZW5z
ID0gaXM8QVNUOjpCb29sZWFuTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNU
OjpGbG9hdExpdGVyYWw+KGV4cHJlc3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6SW50ZWdlckxp
dGVyYWw+KGV4cHJlc3Npb24pCi0gICAgICAgIHx8IGlzPEFTVDo6TnVsbExpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVz
c2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+KGV4cHJl
c3Npb24pCiAgICAgICAgIHx8IGlzPEFTVDo6Q29tbWFFeHByZXNzaW9uPihleHByZXNzaW9uKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwxMiAr
NzEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRl
Z2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsVHlwZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5
cGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Ok51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0
ZSYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjksOCArMzI5LDggQEAgc3RhdGljIE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYQogICAgICAgICAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHVubmFtZWRUeXBlKSAtPiBBY2NlcHRh
YmlsaXR5IHsKICAgICAgICAgICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSB1bm5hbWVkVHlwZS0+
dW5pZnlOb2RlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSkgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihkb3duY2FzdDxBU1Q6OlVubmFt
ZWRUeXBlPih1bmlmeU5vZGUpKSA/IEFjY2VwdGFiaWxpdHk6OlllcyA6IEFjY2VwdGFiaWxpdHk6
Ok5vOwotICAgICAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYg
cmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpIC0+IEFjY2VwdGFiaWxpdHkgewotICAgICAgICAgICAg
ICAgIHJldHVybiBpczxBU1Q6Ok51bGxMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UtPnJlc29sdmFibGVUeXBlKCkpID8gQWNjZXB0YWJpbGl0eTo6TWF5YmUgOiBBY2NlcHRhYmls
aXR5OjpObzsKKyAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5j
ZT4mKSAtPiBBY2NlcHRhYmlsaXR5IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gQWNjZXB0YWJp
bGl0eTo6Tm87CiAgICAgICAgICAgICB9KSk7CiAgICAgICAgIH07CiAgICAgICAgIGF1dG8gbGVm
dEFjY2VwdGFiaWxpdHkgPSBhY2NlcHRhYmlsaXR5KHR5cGVzWzBdLmdldCgpKTsKQEAgLTYwMCwx
MCArNjAwLDEyIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHJlY3Vy
c2VBbmRXcmFwQmFzZVR5cGUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKTsKICAgICBi
b29sIHJlY3Vyc2VBbmRSZXF1aXJlQm9vbFR5cGUoQVNUOjpFeHByZXNzaW9uJik7CiAgICAgdm9p
ZCBhc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKKyAgICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShB
U1Q6OkV4cHJlc3Npb24mLCBBU1Q6Ok5hbWVkVHlwZSYsIEFTVDo6VHlwZUFubm90YXRpb24pOwog
ICAgIHZvaWQgYXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWZQdHI8UmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2U+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKICAgICB2b2lkIGZvcndhcmRUeXBl
KEFTVDo6RXhwcmVzc2lvbiYsIFJlc29sdmluZ1R5cGUmLCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsK
IAogICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6VHlwZVJlZmVyZW5jZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CkBAIC02MjEsNyArNjIzLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0
KEFTVDo6TnVsbExpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkxvZ2ljYWxOb3RFeHBy
ZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC02MzUsOCArNjM2LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0
KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNoVmlzaXRp
bmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlv
bmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRp
b24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZp
bmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwgQVNUOjpO
YW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKICAgICBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVkVHlwZSYg
YmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKQEAgLTY0OCwxMSArNjQ3LDExIEBAIHByaXZh
dGU6CiAgICAgICAgIHJldHVybiAqbV93cmFwcGVkRmxvYXRUeXBlOwogICAgIH0KIAotICAgIEFT
VDo6VW5uYW1lZFR5cGUmIGdlbmVyaWNQb2ludGVyVHlwZSgpCisgICAgQVNUOjpVbm5hbWVkVHlw
ZSYgd3JhcHBlZFVpbnRUeXBlKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9nZW5lcmljUG9pbnRl
clR5cGUpCi0gICAgICAgICAgICBtX2dlbmVyaWNQb2ludGVyVHlwZSA9IEFTVDo6UG9pbnRlclR5
cGU6OmNyZWF0ZSh7IH0sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIEFTVDo6VHlwZVJlZmVy
ZW5jZTo6d3JhcCh7IH0sIG1faW50cmluc2ljcy5mbG9hdFR5cGUoKSkpOwotICAgICAgICByZXR1
cm4gKm1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgICAgICBpZiAoIW1fd3JhcHBlZFVpbnRUeXBl
KQorICAgICAgICAgICAgbV93cmFwcGVkVWludFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6Ondy
YXAoeyB9LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSk7CisgICAgICAgIHJldHVybiAqbV93cmFw
cGVkVWludFR5cGU7CiAgICAgfQogCiAgICAgQVNUOjpVbm5hbWVkVHlwZSYgbm9ybWFsaXplZFR5
cGVGb3JGdW5jdGlvbktleShBU1Q6OlVubmFtZWRUeXBlJiB0eXBlKQpAQCAtNjYxLDE0ICs2NjAs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKHVuaWZ5Tm9kZSA9PSAmbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkgfHwgdW5pZnlOb2RlID09ICZtX2ludHJpbnNpY3MuaW50VHlwZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIHdyYXBwZWRGbG9hdFR5cGUoKTsKIAotICAgICAgICBpZiAoaXM8QVNUOjpS
ZWZlcmVuY2VUeXBlPih0eXBlKSkKLSAgICAgICAgICAgIHJldHVybiBnZW5lcmljUG9pbnRlclR5
cGUoKTsKLQogICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAKICAgICBSZWZQdHI8QVNUOjpU
eXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRGbG9hdFR5cGU7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1l
ZFR5cGU+IG1fZ2VuZXJpY1BvaW50ZXJUeXBlOworICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVu
Y2U+IG1fd3JhcHBlZFVpbnRUeXBlOwogICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgc3Rk
Ojp1bmlxdWVfcHRyPFJlc29sdmluZ1R5cGU+PiBtX3R5cGVNYXA7CiAgICAgSGFzaFNldDxTdHJp
bmc+IG1fdmVydGV4RW50cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CiAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fZnJhZ21lbnRFbnRyeVBvaW50c1tBU1Q6Om5hbWVTcGFjZUNvdW50XTsKQEAg
LTY3OSw2ICs2NzUsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXksIFZlY3Rv
cjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4sIDE+LCBG
dW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7CiAgICAg
SGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiwgQW5k
T3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4gbV9hbmRP
dmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNwYWNlIHsg
QVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1BhcmFtZXRl
ciB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFByb2dyYW0mIHByb2dyYW0p
CkBAIC03MzMsNiArNzMwLDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tTaGFkZXJUeXBlKGNvbnN0
IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNQYXJhbWV0ZXIgPSB0cnVl
OworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVjbGFyYXRpb24pOworICAgIG1faXNQYXJh
bWV0ZXIgPSBmYWxzZTsKK30KKwogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9
IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lU3BhY2UoKTsKQEAgLTc5MCw2ICs3OTQsMTcgQEAgc3Rh
dGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZAogICAgIH0pKTsKIH0KIAorc3Rh
dGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlwZSwgQVNU
OjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1cm4gcmVzb2x2aW5nVHlwZS52aXNp
dChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5hbWVkVHlwZT4mIHJlc29sdmluZ1R5
cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5nVHlwZSwgbmFtZWRUeXBlKSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwgWyZd
KFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmluZ1R5cGUpIC0+IGJvb2wg
eworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFtZWRUeXBlLCByZXNvbHZpbmdUeXBl
LT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisKIHN0YXRpYyBSZWZQdHI8QVNUOjpV
bm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJlc29sdmluZ1R5cGUpCiB7CiAgICAg
cmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6
VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IHsK
QEAgLTgxOCw5ICs4MzMsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIENoZWNrZXI6OnJl
c29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFi
bGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSgpKQogICAgICAgICAgICAgICAg
IHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAgICAgICAgICBpZiAocmVzb2x2YWJs
ZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNOdWxsTGl0ZXJhbFR5cGUoKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVyVHlwZSgpOwotCiAgICAgICAgICAg
ICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxlVHlwZSgp
KS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiArOTcwLDkgQEAgdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYQogICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3Io
IkRlY2xhcmVkIHZhcmlhYmxlIHR5cGUgZG9lcyBub3QgbWF0Y2ggaXRzIGluaXRpYWxpemVyJ3Mg
dHlwZS4iLCB2YXJpYWJsZURlY2xhcmF0aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKCFtX2lzUGFyYW1ldGVyICYmIGlz
PEFTVDo6UmVmZXJlbmNlVHlwZT4odmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCktPnVuaWZ5Tm9k
ZSgpKSkgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSByZWZlcmVu
Y2UgdHlwZSB2YXJpYWJsZSBpbiBpdHMgaW5pdGlhbGl6ZXIuIiwgdmFyaWFibGVEZWNsYXJhdGlv
bi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05Njgs
NiArOTgzLDExIEBAIHZvaWQgQ2hlY2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAg
ICBleHByZXNzaW9uLnNldFR5cGVBbm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
IH0KIAordm9pZCBDaGVja2VyOjphc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBl
eHByZXNzaW9uLCBBU1Q6Ok5hbWVkVHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5v
dGF0aW9uKQoreworICAgIGFzc2lnbkNvbmNyZXRlVHlwZShleHByZXNzaW9uLCBBU1Q6OlR5cGVS
ZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24oKSwgdHlwZSksIGFubm90YXRpb24pOwor
fQorCiB2b2lkIENoZWNrZXI6OmFzc2lnblR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9u
LCBSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+IHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LCBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdodFZhbHVlKCkp
CiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3R5cGVNYXAuYWRkKCZleHByZXNzaW9uLCBtYWtl
VW5pcXVlPFJlc29sdmluZ1R5cGU+KFdURk1vdmUocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UpKSk7
CkBAIC0xMDI5LDcgKzEwNDksNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlm
eVdyaXRlCiAgICAgaWYgKCFyZXN1bHRJbmZvKQogICAgICAgICByZXR1cm47CiAKLSAgICBmb3J3
YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKKyAgICBmb3J3YXJkVHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCByZXN1bHRJ
bmZvLT5yZXNvbHZpbmdUeXBlLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CiB9CiAKIHN0YXRpYyBBU1Q6
OlVubmFtZWRUeXBlKiBnZXRVbm5hbWVkVHlwZShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBl
KQpAQCAtMTE3MCwxNDQgKzExOTAsMTEzIEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENoZWNrZXI6OmZpbmlz
aFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24sIFJlc29sdmluZ1R5cGUqIGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCit2b2lkIENo
ZWNrZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKIHsKLSAgICBh
dXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKICAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47CisKICAg
ICBhdXRvIGJhc2VVbm5hbWVkVHlwZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7
CiAgICAgaWYgKCFiYXNlVW5uYW1lZFR5cGUpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNh
bm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRoZSBiYXNlIG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4
cHJlc3Npb24uIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Cisg
ICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFz
ZSBvZiBhIGRvdCBleHByZXNzaW9uLiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiog
Z2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBn
ZXR0ZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBnZXR0ZXJBcmd1bWVudFR5cGVzIHsgYmFz
ZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpCi0gICAgICAgICAgICBnZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFy
Z3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gZ2V0dGVyTmFtZSA9IHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAgZ2V0dGVyRnVuY3Rpb24gPSBy
ZXNvbHZlRnVuY3Rpb24oZ2V0dGVyQXJndW1lbnRUeXBlcywgZ2V0dGVyTmFtZSwgcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkp
CisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5pZnlOb2RlKCk7CisgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgc3Ry
dWN0dXJlID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKTsgICAgCisg
ICAgICAgIGlmIChBU1Q6OlN0cnVjdHVyZUVsZW1lbnQqIGVsZW1lbnQgPSBzdHJ1Y3R1cmUuZmlu
ZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRl
VHlwZShkb3RFeHByZXNzaW9uLCBlbGVtZW50LT50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3Rh
dGlvbik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0
cmluZygiRmllbGQgbmFtZTogJyIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICInIGRvZXMg
bm90IGV4aXN0IG9uIHN0cnVjdHVyZTogIiwgc3RydWN0dXJlLm5hbWUoKSksIGRvdEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGdl
dHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgZ2V0dGVyUmV0dXJuVHlwZSA9ICZnZXR0ZXJGdW5j
dGlvbi0+dHlwZSgpOwotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5k
ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFuZGVy
UmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKTsKLSAgICBpZiAobGVmdEFkZHJl
c3NTcGFjZSkgewotICAgICAgICBpZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9
IHRoaXMtPmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsICpsZWZ0
QWRkcmVzc1NwYWNlKSkgewotICAgICAgICAgICAgUmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUg
PSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPigqYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQpIH07
Ci0gICAgICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gYW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgICAgICBpZiAo
YWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgICAgICBhbmRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgICAgICBhbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKGFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgaWYgKGFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgYW5kZXJSZXR1
cm5UeXBlID0gJmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUo
KSkuZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5
cyBiZSBhIHBvaW50ZXIKICAgICAgICAgfQotICAgIH0KLQotICAgIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgaWYgKGF1
dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5hcmd1bWVudFR5cGVGb3JBbmRP
dmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkKSkgewot
ICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+KEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsICpiYXNlVW5uYW1lZFR5cGUp
KSB9OwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdUeXBl
Pj4gdGhyZWFkQW5kZXJBcmd1bWVudFR5cGVzIHsgYXJndW1lbnRUeXBlIH07Ci0gICAgICAgIGlm
IChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJBcmd1bWVu
dFR5cGVzLmFwcGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIGF1dG8gYW5k
ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgICAgIHRocmVhZEFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24odGhyZWFkQW5kZXJB
cmd1bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIH0gZWxzZSBpZiAoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSA9PSAibGVuZ3RoIikgeworICAgICAgICBpZiAoaXM8QVNUOjpB
cnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpCisgICAgICAgICAgICB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odHlwZSkKKyAgICAgICAgICAgIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVj
dG9yKCkpKSB7CisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwg
d3JhcHBlZFVpbnRUeXBlKCksIEFTVDo6UmlnaHRWYWx1ZSgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCIubGVuZ3RoIGZpZWxkIGlzIG9ubHkgYXZhaWxh
YmxlIG9uIGFycmF5cywgYXJyYXkgcmVmZXJlbmNlcywgb3IgdmVjdG9ycy4iLCBkb3RFeHByZXNz
aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICh0
aHJlYWRBbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0g
JmRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHRocmVhZEFuZGVyRnVuY3Rpb24tPnR5cGUoKSku
ZWxlbWVudFR5cGUoKTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjQgRW5mb3JjZSB0aGUgcmV0dXJuIG9mIGFuZGVycyB3aWxsIGFsd2F5cyBi
ZSBhIHBvaW50ZXIKLSAgICB9Ci0KLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJG
dW5jdGlvbiAmJiAhZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlBy
b3BlcnR5IGFjY2VzcyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEg
Z2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNW
YWxpZFZlY3RvclByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCksICInIGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
IAotICAgIGlmICghbGVmdEFkZHJlc3NTcGFjZSAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbiAmJiAh
Z2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlByb3BlcnR5IGFjY2Vz
cyBpbnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGEgdGhyZWFkIGFuZGVyIG9yIGEgZ2V0dGVy
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQorICAgICAgICBzaXplX3QgZmllbGRMZW5ndGggPSBkb3RFeHByZXNzaW9u
LmZpZWxkTmFtZSgpLmxlbmd0aCgpOworICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkudmVjdG9yVHlwZUFyZ3VtZW50KCk7
CisgICAgICAgIGlmIChmaWVsZExlbmd0aCA9PSAxKQorICAgICAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGRvdEV4cHJlc3Npb24sIGlubmVyVHlwZSwgYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9u
KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1f
aW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5
cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVs
ZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLmludFR5cGUoKSkpCisgICAgICAgICAg
ICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmluc2ljcy5pbnRW
ZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7
CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNz
aW9uLCBtX2ludHJpbnNpY3MudWludFZlY3RvclR5cGVGb3JTaXplKGZpZWxkTGVuZ3RoKSwgYmFz
ZUluZm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5u
ZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2ln
bkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JUeXBl
Rm9yU2l6ZShmaWVsZExlbmd0aCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSB2YWx1
ZSBvZiBkb3QgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RydWN0dXJlLCBhcnJheSwgb3IgdmVjdG9y
LiIsIGRvdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKK30KIAotICAgIGlmICh0aHJlYWRB
bmRlckZ1bmN0aW9uICYmIGdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9y
KCJDYW5ub3QgaGF2ZSBib3RoIGEgdGhyZWFkIGFuZGVyIGFuZCBhIGdldHRlci4iLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVz
c2lvbikKK3sKKyAgICB7CisgICAgICAgIGF1dG8gaW5kZXhJbmZvID0gcmVjdXJzZUFuZEdldElu
Zm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgaWYgKCFpbmRl
eEluZm8pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoYW5kZXJGdW5jdGlvbiAmJiB0
aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCphbmRlclJldHVyblR5cGUsICp0aHJlYWRB
bmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBv
ZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1
cm47CisgICAgICAgIGlmICghbWF0Y2hBbmRDb21taXQoaW5kZXhJbmZvLT5yZXNvbHZpbmdUeXBl
LCBtX2ludHJpbnNpY3MudWludFR5cGUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9y
KCJJbmRleCBpbiBhbiBpbmRleCBleHByZXNzaW9uIG11c3QgYmUgYSB1aW50LiIsIGluZGV4RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAgICAgfQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIGFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICphbmRlclJldHVyblR5cGUpKSB7Ci0gICAgICAgIHNl
dEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhpbmRleEV4cHJl
c3Npb24uYmFzZSgpKTsKKyAgICBpZiAoIWJhc2VJbmZvKQogICAgICAgICByZXR1cm47Ci0gICAg
fQogCi0gICAgaWYgKGdldHRlckZ1bmN0aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1h
dGNoZXMoKmdldHRlclJldHVyblR5cGUsICp0aHJlYWRBbmRlclJldHVyblR5cGUpKSB7Ci0gICAg
ICAgIHNldEVycm9yKEVycm9yKCJSZXR1cm4gdHlwZSBvZiB0aGUgdGhyZWFkIGFuZGVyIG11c3Qg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNlVW5uYW1lZFR5cGUgPSBjb21t
aXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOworICAgIGlmICghYmFzZVVubmFtZWRUeXBlKSB7
CisgICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVzb2x2ZSB0aGUgdHlwZSBvZiB0aGUg
YmFzZSBvZiBhbiBpbmRleCBleHByZXNzaW9uLiIsIGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5
cGU+IGZpZWxkVHlwZSA9IGdldHRlclJldHVyblR5cGUgPyAqZ2V0dGVyUmV0dXJuVHlwZSA6IGFu
ZGVyUmV0dXJuVHlwZSA/ICphbmRlclJldHVyblR5cGUgOiAqdGhyZWFkQW5kZXJSZXR1cm5UeXBl
OwotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbiA9IG51bGxw
dHI7Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogc2V0dGVyUmV0dXJuVHlwZSA9IG51bGxwdHI7Ci0g
ICAgewotICAgICAgICBSZXNvbHZpbmdUeXBlIGZpZWxkUmVzb2x2aW5nVHlwZShmaWVsZFR5cGUu
Y29weVJlZigpKTsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2
aW5nVHlwZT4+IHNldHRlckFyZ3VtZW50VHlwZXMgeyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9
OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHNldHRl
ckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAg
c2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoZmllbGRSZXNvbHZpbmdUeXBlKTsKLSAgICAgICAg
YXV0byBzZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9u
TmFtZSgpOwotICAgICAgICBzZXR0ZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihzZXR0ZXJB
cmd1bWVudFR5cGVzLCBzZXR0ZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxv
Y2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFz
ZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAgICBpZiAoaXM8QVNUOjpBcnJheVJlZmVyZW5j
ZVR5cGU+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIGFycmF5UmVmZXJlbmNlVHlwZSA9IGRvd25j
YXN0PEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKTsKKyAgICAgICAgYXNzaWduQ29uY3Jl
dGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgYXJyYXlSZWZlcmVuY2VUeXBlLmVsZW1lbnRUeXBlKCks
IEFTVDo6TGVmdFZhbHVlIHsgYXJyYXlSZWZlcmVuY2VUeXBlLmFkZHJlc3NTcGFjZSgpIH0pOwor
ICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpKQorICAgICAgICBhc3NpZ25D
b25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlw
ZSkudHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOworICAgIGVsc2UgaWYgKGlzPEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRpdmVU
eXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAgICAg
ICBhdXRvIGFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbi5pc1JpZ2h0VmFs
dWUoKSA/IEFTVDo6VHlwZUFubm90YXRpb24geyBBU1Q6OlJpZ2h0VmFsdWUoKSB9IDogQVNUOjpU
eXBlQW5ub3RhdGlvbiB7IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKSB9OworICAgICAgICBpZiAo
bmF0aXZlVHlwZS5pc1ZlY3RvcigpKQorICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGlu
ZGV4RXhwcmVzc2lvbiwgbmF0aXZlVHlwZS52ZWN0b3JUeXBlQXJndW1lbnQoKSwgYWRkcmVzc1Nw
YWNlKTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKSB7CisgICAgICAg
ICAgICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVBcmd1bWVudCgpOwor
ICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhS
b3dzKCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5i
b29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoaW5kZXhFeHBy
ZXNzaW9uLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoaW5kZXhFeHByZXNzaW9uLmNvZGVMb2Nh
dGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpKSwgYWRk
cmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2lu
dHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlw
ZShpbmRleEV4cHJlc3Npb24sIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChpbmRleEV4cHJlc3Np
b24uY29kZUxvY2F0aW9uKCksIG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51
bVJvd3MpKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIkluZGV4IGV4cHJlc3Npb24gb24gdW5rbm93biB0eXBlLiIs
IGluZGV4RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBzZXR0ZXJSZXR1cm5UeXBl
ID0gJnNldHRlckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgaWYgKHNldHRlckZ1bmN0
aW9uICYmICFnZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90
IGRlZmluZSBhIHNldHRlciBmdW5jdGlvbiB3aXRob3V0IGEgY29ycmVzcG9uZGluZyBnZXR0ZXIu
IiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIH0K
KyAgICB9IGVsc2UgeworICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lvbiBv
biB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0R2V0
dGVyRnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXRBbmRlckZ1bmN0aW9uKGFuZGVyRnVuY3Rpb24pOwotICAgIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5zZXRUaHJlYWRBbmRlckZ1bmN0aW9uKHRocmVhZEFuZGVyRnVuY3Rpb24pOwotICAg
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRTZXR0ZXJGdW5jdGlvbihzZXR0ZXJGdW5jdGlv
bik7Ci0KLSAgICBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpSaWdo
dFZhbHVlKCk7Ci0gICAgaWYgKGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAgICAgaWYgKGFuZGVyRnVuY3Rp
b24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6TGVmdFZhbHVlIHsgZG93bmNh
c3Q8QVNUOjpSZWZlcmVuY2VUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmFkZHJlc3NTcGFj
ZSgpIH07Ci0gICAgICAgIGVsc2UgaWYgKHNldHRlckZ1bmN0aW9uKQotICAgICAgICAgICAgdHlw
ZUFubm90YXRpb24gPSBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgfSBlbHNlIGlmICgh
YmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1ZSgpICYmIChzZXR0ZXJGdW5jdGlv
biB8fCB0aHJlYWRBbmRlckZ1bmN0aW9uKSkKLSAgICAgICAgdHlwZUFubm90YXRpb24gPSBBU1Q6
OkFic3RyYWN0TGVmdFZhbHVlKCk7Ci0gICAgYXNzaWduQ29uY3JldGVUeXBlKHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgV1RGTW92ZShmaWVsZFR5cGUpLCBXVEZNb3ZlKHR5cGVBbm5vdGF0aW9u
KSk7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHBy
ZXNzaW9uKQotewotICAgIGZpbmlzaFZpc2l0aW5nKGRvdEV4cHJlc3Npb24pOwotfQotCi12b2lk
IENoZWNrZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCi17
Ci0gICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lvbi5p
bmRleEV4cHJlc3Npb24oKSk7Ci0gICAgaWYgKCFiYXNlSW5mbykKLSAgICAgICAgcmV0dXJuOwot
ICAgIGZpbmlzaFZpc2l0aW5nKGluZGV4RXhwcmVzc2lvbiwgJmJhc2VJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKIH0KIAogdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlJiB2
YXJpYWJsZVJlZmVyZW5jZSkKQEAgLTEzNjIsMTEgKzEzNTEsNiBAQCB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmCiAgICAgYXNzaWduVHlwZShmbG9hdExpdGVyYWwsIGFk
b3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UoZmxvYXRMaXRlcmFsLnR5cGUoKSkp
KTsKIH0KIAotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJh
bCkKLXsKLSAgICBhc3NpZ25UeXBlKG51bGxMaXRlcmFsLCBhZG9wdFJlZigqbmV3IFJlc29sdmFi
bGVUeXBlUmVmZXJlbmNlKG51bGxMaXRlcmFsLnR5cGUoKSkpKTsKLX0KLQogdm9pZCBDaGVja2Vy
Ojp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsKICAgICBhc3Np
Z25Db25jcmV0ZVR5cGUoYm9vbGVhbkxpdGVyYWwsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChi
b29sZWFuTGl0ZXJhbC5jb2RlTG9jYXRpb24oKSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpKTsK
QEAgLTE0ODgsOCArMTQ3Miw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0
ZW1lbnQKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1p
dCgqdmFsdWVUeXBlLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnR5cGUoKSkpOwogICAgICAgICB9
LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgLT4gYm9vbCB7CiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwg
ZmxvYXRMaXRlcmFsLnR5cGUoKSkpOwotICAgICAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYg
bnVsbExpdGVyYWwpIC0+IGJvb2wgewotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJv
b2w+KG1hdGNoQW5kQ29tbWl0KCp2YWx1ZVR5cGUsIG51bGxMaXRlcmFsLnR5cGUoKSkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYpIC0+IGJvb2wgewogICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXMoKnZhbHVlVHlwZSwgbV9pbnRyaW5zaWNzLmJvb2xUeXBlKCkpOwogICAg
ICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVt
YmVyTGl0ZXJhbCkgLT4gYm9vbCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEhpZ2hab21iaWVGaW5kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHJl
dmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDM0ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRf
RElTQUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRv
IGxpdmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBI
aWdoWm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZp
c2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNz
aW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3Zl
cnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0j
ZW5kaWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmlu
ZEhpZ2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNF
RF9QQVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6
OnZpc2l0KHByb2dyYW0pOwotI2VuZGlmCiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW5mZXJUeXBlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xJbmZlclR5cGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDEwICsxMjcsNiBAQCBSZWZQ
dHI8QVNUOjpVbm5hbWVkVHlwZT4gbWF0Y2hBbmRDb21taXQoCiAgICAgICAgIHJlc29sdmFibGVU
eXBlMi5yZXNvbHZlKGRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJl
c29sdmFibGVUeXBlMikucHJlZmVycmVkVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICZkb3duY2Fz
dDxBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTEpLnByZWZl
cnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNv
bHZhYmxlVHlwZTEpICYmIGlzPEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZTIp
KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8gbWF0Y2ggbnVsbHB0ciBhbmQgbnVsbHB0
ciBmYWlscy4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQogICAgIHJldHVybiBudWxs
cHRyOwogfQogCkBAIC0xNTIsMTAgKzE0OCw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBj
b21taXQoQVNUOjpSZXMKICAgICAgICAgcmVzb2x2YWJsZVR5cGUucmVzb2x2ZSh1bnNpZ25lZElu
dGVnZXJMaXRlcmFsVHlwZS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1cm4gJnVuc2ln
bmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKTsKICAgICB9Ci0gICAgaWYgKGlz
PEFTVDo6TnVsbExpdGVyYWxUeXBlPihyZXNvbHZhYmxlVHlwZSkpIHsKLSAgICAgICAgLy8gRklY
TUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRyIGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmlu
c2ljcy5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEludHJpbnNpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fYm9vbFR5cGU7CiAgICAgfQogCisgICAgQVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGJvb2xWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBz
aXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNp
emUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yQm9vbFtzaXpl
IC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRUeXBl
KCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3VpbnRUeXBlKTsKQEAgLTgyLDYgKzg4
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvclVpbnRbMl07CiAgICAgfQog
CisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIHVpbnRWZWN0b3JUeXBlRm9yU2l6ZSh1
bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9
PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9y
VWludFtzaXplIC0gMl07CisgICAgfQorCiAgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludDJUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3ZlY3RvckludFswXSk7
CkBAIC05NCw2ICsxMDYsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9ySW50
WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBpbnRWZWN0b3JU
eXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09IDQpOworICAgICAgICByZXR1
cm4gKm1fdmVjdG9ySW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgc2FtcGxlclR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
c2FtcGxlclR5cGUpOwpAQCAtMTI0LDYgKzE0MiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biAqbV92ZWN0b3JGbG9hdFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbiYgZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZSh1bnNpZ25lZCBzaXplKSBjb25zdAorICAgIHsK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2l6ZSA9PSAyIHx8IHNpemUgPT0gMyB8fCBzaXplID09
IDQpOworICAgICAgICByZXR1cm4gKm1fdmVjdG9yRmxvYXRbc2l6ZSAtIDJdOworICAgIH0KKwog
ICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBtYXkgaGF2ZSBiZWVuIHBydW5lZCBmcm9tIHRoZSBBU1Qg
aWYgdGhleSBhcmUgdW51c2VkLgogICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiog
ZGR4KCkgY29uc3QKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYg
QEAKIAogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hM
U0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlw
ZS5oIgogI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMVHlwZVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgpAQCAtNzMsMTEgKzcyLDYgQEAgcHJp
dmF0ZToKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbik7CiAgICAgICAgIEFT
U0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24tPmNhblJlcHJlc2VudFVuc2lnbmVkSW50ZWdlcigp
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnZhbHVlKCkpKTsKICAgICB9Ci0KLSAgICB2b2lk
IHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJiBudWxsTGl0ZXJhbFR5cGUpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICBBU1NFUlQobnVsbExpdGVyYWxUeXBlLm1heWJlUmVzb2x2ZWRUeXBlKCkp
OwotICAgIH0KIH07CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUGFyc2VyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDMsOCArNDAzLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlQ29uc3RhbnRF
eHByZXNzaW9uKCkgLQogICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKHZhbHVlLmVy
cm9yKCkpOwogICAgICAgICByZXR1cm4ge3sgQVNUOjpGbG9hdExpdGVyYWwoeyAqdHlwZSB9LCAq
dmFsdWUpIH19OwogICAgIH0KLSAgICBjYXNlIFRva2VuOjpUeXBlOjpOdWxsOgotICAgICAgICBy
ZXR1cm4geyBBU1Q6Ok51bGxMaXRlcmFsKFdURk1vdmUoKnR5cGUpKSB9OwogICAgIGNhc2UgVG9r
ZW46OlR5cGU6OlRydWU6CiAgICAgICAgIHJldHVybiB7IEFTVDo6Qm9vbGVhbkxpdGVyYWwoV1RG
TW92ZSgqdHlwZSksIHRydWUpIH07CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6RmFsc2U6CkBAIC04
NzUsNyArODczLDYgQEAgYXV0byBQYXJzZXI6OnBhcnNlRW51bWVyYXRpb25NZW1iZXIoaW50Ngog
ICAgICAgICB9LCBbJl0oQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVn
ZXJMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKTsKICAgICAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRlcmFsJikgewotICAgICAgICB9
LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6Qm9vbGVhbkxp
dGVyYWwmKSB7CiAgICAgICAgIH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYp
IHsKICAgICAgICAgfSkpOwpAQCAtMjA2Myw3ICsyMDYwLDcgQEAgYXV0byBQYXJzZXI6OnBhcnNl
VGVybSgpIC0+IEV4cGVjdGVkPFVuaQogICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFT
VDo6RmxvYXRMaXRlcmFsPigqdHlwZSwgKnZhbHVlKSB9OwogICAgIH0KICAgICBjYXNlIFRva2Vu
OjpUeXBlOjpOdWxsOgotICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFTVDo6TnVsbExp
dGVyYWw+KCp0eXBlKSB9OworICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIidu
dWxsJyBpcyBhIHJlc2VydmVkIGtleXdvcmQuIiwgdHlwZS0+Y29kZUxvY2F0aW9uKSk7CiAgICAg
Y2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgbWFrZVVuaXF1ZVJlZjxB
U1Q6OkJvb2xlYW5MaXRlcmFsPigqdHlwZSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
UHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgV0hMU0wgewogc3RhdGljIGNvbnN0ZXhwciBib29s
IGR1bXBBU1RCZWZvcmVFYWNoUGFzcyA9IGZhbHNlOwogc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBBU1RBZnRlclBhcnNpbmcgPSBmYWxzZTsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBkdW1wQVNU
QXRFbmQgPSBmYWxzZTsKLXN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbHdheXNEdW1wUGFzc0ZhaWx1
cmVzID0gZmFsc2U7CitzdGF0aWMgY29uc3RleHByIGJvb2wgYWx3YXlzRHVtcFBhc3NGYWlsdXJl
cyA9IHRydWU7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBhc3NGYWlsdXJlID0gZHVtcEFT
VEJlZm9yZUVhY2hQYXNzIHx8IGR1bXBBU1RBZnRlclBhcnNpbmcgfHwgZHVtcEFTVEF0RW5kIHx8
IGFsd2F5c0R1bXBQYXNzRmFpbHVyZXM7CiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcFBoYXNl
VGltZXMgPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVwYXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNM
IHsKIAotY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29tcGlsZVRpbWVzID0gZmFsc2U7Citjb25z
dGV4cHIgYm9vbCBkdW1wTWV0YWxDb21waWxlVGltZXMgPSB0cnVlOwogCiBVbmlxdWVSZWY8U2hh
ZGVyTW9kdWxlPiBjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU3RyaW5nJiB3aGxzbFNvdXJjZSk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xQcm9ncmFtLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NzMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNM
UHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CituYW1lc3BhY2UgV0hMU0wgeworCitib29sIFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0
eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAgaWYgKG1fdmVjdG9yUHJvcGVydGllcy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
InoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3d5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh4engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgiend4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ4enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXh5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgiend3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3p3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgid3d3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl3engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgienl3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3
enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd5engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgidyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eiIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXoiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHgiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3ciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp4dyIpOworCisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl4eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3l4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3d6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
d3d3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXh5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3engiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXgiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enoi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInl4enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHd6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXp4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3h3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3l3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3d3giKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6dyIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6d3d6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXh3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3oiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienl3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ4eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4engiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5d3ci
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl3
eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3d4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHciKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3d3l5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh3Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eHciKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5d3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enh4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eXl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ6d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3d3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp6engiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5end3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eHoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp6d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ6enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3eSIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienh3eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHl6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3p3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh4dyIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp4eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInh4eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHp6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh3Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieXp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3enoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ6eHd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5engiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInh5enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eCIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInp5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienp5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3p6Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieHp6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p4
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5enciKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXkiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ6enh5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4
d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXp6Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eHoiKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV92
ZWN0b3JQcm9wZXJ0aWVzLmNvbnRhaW5zKHByb3BlcnR5KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdQ
VSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUs
OCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVDb250ZXh0LmFkZChtX25hdGl2ZVR5
cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAgICBib29sIGlzVmFsaWRWZWN0b3JQ
cm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0KCkgeyByZXR1
cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3MmIGludHJpbnNpY3MoKSB7IHJldHVy
biBtX2ludHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkBAIC0xMDYsNiArMTA4LDcgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPj4gbV9mdW5jdGlv
bkRlZmluaXRpb25zOwogICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uPj4gbV9uYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uczsKICAgICBWZWN0b3I8VW5p
cXVlUmVmPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPj4gbV9uYXRpdmVUeXBlRGVjbGFyYXRp
b25zOworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlY3RvclByb3BlcnRpZXM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBy
b3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAorLyoKKwogY2xhc3MgUHJvcGVy
dHlSZXNvbHZlciA6IHB1YmxpYyBWaXNpdG9yIHsKIHB1YmxpYzoKIHByaXZhdGU6CkBAIC04Mjgs
NiArODMwLDExIEBAIHZvaWQgcmVzb2x2ZVByb3BlcnRpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKIHsK
ICAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CiB9CisqLwor
Cit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQoreworfQogCiB9IC8vIG5hbWVzcGFj
ZSBXSExTTAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNo
YWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0
YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDIzICs1MSw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZpc2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZp
bml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQogCi0gICAgdm9pZCB2
aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgb3ZlcnJpZGUK
LSAgICB7Ci0gICAgICAgIGF1dG8gdmlzaXRGdW5jdGlvbiA9IFsmXSAoQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBmdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKCFmdW5jdGlvbikKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpGdW5jdGlvbkRlZmlu
aXRpb24+KCpmdW5jdGlvbikpCi0gICAgICAgICAgICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpG
dW5jdGlvbkRlZmluaXRpb24+KCpmdW5jdGlvbikpOwotICAgICAgICB9OwotCi0gICAgICAgIHZp
c2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRG
dW5jdGlvbihleHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rp
b24oZXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0
aW9uKGV4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICAgICAgVmlzaXRvcjo6dmlz
aXQoZXhwcmVzc2lvbik7Ci0gICAgfQotCiAgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5p
dGlvbio+IHRha2VSZWFjaGFibGVGdW5jdGlvbnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcmVhY2hh
YmxlRnVuY3Rpb25zKTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02ODksMTE3ICs2
ODksMTE3IEBAIGZsb2F0IHRyYW5zcG9zZShmbG9hdCB4KSB7CiBmbG9hdDJ4MiB0cmFuc3Bvc2Uo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHRyYW5zcG9zZShmbG9h
dDN4MiB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4
WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cmFuc3Bvc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVsw
XTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwotICAgIHJlc3VsdFsxXVszXSA9IHhb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4
WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiB0cmFuc3Bvc2UoZmxvYXQy
eDMgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzFd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsy
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdHJhbnNwb3NlKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJd
WzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsy
XVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdHJhbnNwb3NlKGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsx
XTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSB4
WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CisgICAgcmVzdWx0WzNdWzJdID0g
eFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0
Mng0IHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhb
MV1bM107CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4
WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgdHJhbnNwb3NlKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1b
MF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0geFsw
XVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9
IHhbMV1bM107Ci0gICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHRbMF1bM10g
PSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmVzdWx0WzJdWzNd
ID0geFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdHJhbnNwb3NlKGZs
b2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFsw
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
eFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9
IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
PSB4WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0WzNdWzBd
ID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICByZXN1bHRbM11b
MV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFd
WzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwogICAgIHJlc3VsdFsz
XVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAgICByZXN1bHRb
MV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAgICAgcmVzdWx0
WzNdWzNdID0geFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTE2NSwxMTcgKzEx
NjUsMTE3IEBAIGZsb2F0NCBzYXR1cmF0ZShmbG9hdDQgeCkgewogZmxvYXQyeDIgc2F0dXJhdGUo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2F0dXJhdGUoZmxvYXQyeDMgeCkg
ewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgc2F0dXJhdGUoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBz
YXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2F0dXJhdGUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1
cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
YXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgc2F0
dXJhdGUoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgc2F0dXJhdGUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0
ZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1
cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBz
YXR1cmF0ZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgewog
ICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1
cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgc2F0dXJhdGUo
ZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1bHRb
Ml1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0
ZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1
cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgc2F0dXJhdGUoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0
ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1
cmF0ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
YXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBzYXR1cmF0ZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0g
PSBzYXR1cmF0ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBzYXR1cmF0ZSh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTMwOSwxMTcgKzEzMDksMTE3IEBAIGZs
b2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0MngyIG1hZChmbG9h
dDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4
NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBt
YWQoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1hZChmbG9hdDN4MiB4LCBmbG9hdDN4
MiB5LCBmbG9hdDN4MiB6KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0s
IHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwg
ZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
YWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQo
eFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5
WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1h
ZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1h
ZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFsz
XVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtYWQoZmxvYXQ0eDMgeCwgZmxv
YXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFk
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBt
YWQoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTE0MjksMTAxNCArMTQyOSw3NDEgQEAgZmxvYXQ0eDQgbWFkKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsbwogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogaXApIHsKICAgICB1
aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0gICAgICAgICppcCA9
IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOwogICAgIHJl
dHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgsIHRocmVhZCBmbG9h
dDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0g
PSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5
KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9
IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRo
cmVhZCBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
Ml0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM10gPSBt
b2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10g
PSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5KSB7
CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1b
MF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsx
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbW9k
ZihmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1b
MV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZs
b2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbW9kZihm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9k
Zih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFsz
XVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFd
WzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBt
b2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZs
b2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0g
PSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10s
ICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwor
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYo
eFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFsz
XVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZs
b2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMl0g
PSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwor
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgqeSlbM11bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2Rm
KHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIGRldmljZSBmbG9hdCog
aXApIHsKICAgICB1aW50IHJlc3VsdCA9IHVpbnQoeCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0g
ICAgICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOworICAgICppcCA9IHggLSBmbG9hdChyZXN1
bHQpOwogICAgIHJldHVybiBmbG9hdChyZXN1bHQpOwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgs
IGRldmljZSBmbG9hdDIqIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzIG1vZGYoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHkpIHsK
ICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBt
b2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhb
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZm
ZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7Cisg
ICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZs
b2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbM10gPSBtb2RmKHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM10gPSBidWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHkp
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZm
ZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgZGV2aWNlIGZs
b2F0MngzKiB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVsw
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQy
eDQqIHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIp
OworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHkpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtb2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHkpIHsKICAgICBmbG9hdDN4
NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVsz
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsx
XVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsw
XSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFsz
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICgqeSlbM11bMl0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgz
KiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsy
XVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsy
XSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlb
MV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBtb2RmKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0g
bW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gYnVmZmVyOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVm
ZmVyOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1b
Ml0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgq
eSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCiBmbG9hdCBtb2RmKGZsb2F0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0KiBpcCkgewogICAgIHVpbnQgcmVzdWx0ID0gdWludCh4KTsKLSAgICBp
ZiAoaXAgIT0gbnVsbCkKLSAgICAgICAgKmlwID0geCAtIGZsb2F0KHJlc3VsdCk7CisgICAgKmlw
ID0geCAtIGZsb2F0KHJlc3VsdCk7CiAgICAgcmV0dXJuIGZsb2F0KHJlc3VsdCk7CiB9CiBmbG9h
dDIgbW9kZihmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5KSB7CiAgICAgZmxvYXQyIHJl
c3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlb
MV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtb2RmKGZsb2F0MyB4
LCB0aHJlYWRncm91cCBmbG9hdDMqIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0OwogICAgIGZsb2F0
IGJ1ZmZlcjsKICAgICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0IG1vZGYoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCog
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XSA9IG1vZGYoeFswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXSA9IG1v
ZGYoeFsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXSA9IG1vZGYoeFsy
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXSA9IG1vZGYoeFszXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtb2Rm
KGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0MngzKiB5KSB7CiAg
ICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSkgewog
ICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBt
b2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMg
bW9kZihmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4
WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBd
ID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlb
MV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbW9kZihmbG9h
dDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgzKiB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1
ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzJdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4
WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0
KiB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgKCp5KVszXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
M11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bMl0gPSBtb2Rm
KHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10g
PSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bM10gPSBtb2RmKHhbM11bM10sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBidWZmZXI7
CisgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0z
MzQwLDExNyArMzA2NywxMTcgQEAgZmxvYXQ0IGV4cDIoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGV4
cDIoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGV4cDIoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDQgZXhwMihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGV4cDIoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cDIo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGV4cDIoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGV4
cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgZXhwMihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhw
Mih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGV4cDIoZmxvYXQzeDQgeCkgewogICAgIGZs
b2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cDIo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBl
eHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gZXhwMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBleHAyKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0g
PSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
Mih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZXhwMihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBleHAyKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAy
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIo
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGV4cDIoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IGV4cDIoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4
cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZXhwMih4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAyKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNd
WzJdID0gZXhwMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
Mih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CkBAIC00NDcxLDExNyArNDE5OCwxMTcgQEAgZmxvYXQ0IGF0YW4oZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIGF0YW4oZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIGF0YW4oZmxvYXQyeDMgeCkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgYXRhbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGF0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGF0YW4oZmxvYXQzeDIg
eCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbihmbG9hdDN4MyB4KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3Vs
dFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGF0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGF0YW4oZmxv
YXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBh
dGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBhdGFuKGZsb2F0
NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0
YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFu
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHg0IGF0YW4oZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
dGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbih4
WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGF0
YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBhdGFuKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00NzEyLDExNyArNDQzOSwxMTcgQEAg
ZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgpIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nKGZsb2F0
MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2coeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxvZyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2co
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nKGZsb2F0M3gyIHgpIHsKICAgICBmbG9h
dDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
bG9nKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBsb2coZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2coeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBsb2coeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxvZyhmbG9h
dDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZyh4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsx
XSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbG9nKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01MzA1LDExNyArNTAzMiwxMTcgQEAgZmxv
YXQ0IHNpbihmbG9hdDQgeCkgewogZmxvYXQyeDIgc2luKGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgc2luKGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIHNpbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lu
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNp
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2lu
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBzaW4oZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
c2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBz
aW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNpbihmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gc2luKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01OTgwLDQ1NDAgKzU3MDcsMjkwMiBAQCBmbG9h
dDQgb3BlcmF0b3IueXl6eChmbG9hdDQgdikgewogCiAvKiBGdW5jdGlvbnMgbmFtZWQgc2luY29z
ICovCiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIHksIHRocmVhZCBmbG9hdCog
eikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOworICAgICp5ID0gc2luKHgpOworICAgICp6
ID0gY29zKHgpOwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRo
cmVhZCBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZCBmbG9hdDQqIHksIHRocmVhZCBm
bG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9h
dDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJl
YWQgZmxvYXQzeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMq
IHksIHRocmVhZCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJl
YWQgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4Myog
eSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFk
IGZsb2F0MiogeSwgZGV2aWNlIGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgZGV2
aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0
NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4
MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRldmlj
ZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCog
eSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxv
YXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRo
cmVhZCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxv
YXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhy
ZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHksIGRl
dmljZSBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owog
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWRn
cm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICp5ID0gc2luKHgp
OwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgpOwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDMg
eCwgdGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7CiAgICAgZmxvYXQg
c2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHop
IHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwg
dGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0
IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owog
fQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5
LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBm
bG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVh
ZCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhy
ZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4Myogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVh
ZCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3Mo
eCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9h
dDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhy
ZWFkIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0
M3g0KiB5LCB0aHJlYWQgZmxvYXQzeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAg
ZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9h
dDR4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJl
YWQgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZCBmbG9hdDR4NCogeikgewog
ICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAg
ICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQy
KiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCBkZXZpY2UgZmxv
YXQzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5LCBk
ZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7
CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0K
IHZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0
MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCBkZXZp
Y2UgZmxvYXQyeDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4Miog
eSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZs
b2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAg
ICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4Miog
eSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxv
YXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
IH0KIHZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgZGV2aWNlIGZs
b2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZs
b2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAg
aWYgKHogIT0gbnVsbCkKICAgICAgICAgKnogPSBjb3MoeCk7CiB9CiB2b2lkIHNpbmNvcyhmbG9h
dDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZp
Y2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1
bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2Ug
ZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0
Mng0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0
M3gzKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0
IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKICAgICBm
bG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxv
YXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0
OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4MyB4
LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0
NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsK
ICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzNdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICp6ID0gY29zKHgp
OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSwgdGhyZWFk
IGZsb2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lk
IHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRo
cmVhZCBmbG9hdDQqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5j
b3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4Miog
eikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhy
ZWFkIGZsb2F0MngzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9
CiB2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeSwgdGhyZWFk
IGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQog
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZCBm
bG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZs
b2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsK
ICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKICAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbM11b
M10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2lu
Y29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxs
KQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRn
cm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNv
cyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
ID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0
MyogeSwgZGV2aWNlIGZsb2F0MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9h
dCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVz
dWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBz
aW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdID0gY29zUmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlb
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
ID0gY29zUmVzdWx0OworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0Mngy
KiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxv
YXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgewogICAgIGZsb2F0IHNpblJl
c3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0
Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQz
eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwg
ZGV2aWNlIGZsb2F0M3gzKiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
ICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5
LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQg
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwg
ZGV2aWNlIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAqeSA9
IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAqeiA9IGNvcyh4KTsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNp
bmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMq
IHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0g
PSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29z
UmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0
IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0Owor
ICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KIHZv
aWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1
bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9h
dDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKICAgICBmbG9hdCBzaW5SZXN1bHQ7
CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9CiB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKICAg
ICBmbG9hdCBzaW5SZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDN4MiogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gz
KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAg
ICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0M3g0IHgs
IHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewogICAg
IGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwogICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwogICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdy
b3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewogICAgIGZsb2F0IHNp
blJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6
KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQogdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAg
ZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2lu
Y29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CiAgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKKyAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9CiAKIApAQCAtMTA4NTEs
MTE3ICs4OTQwLDExNyBAQCBmbG9hdDQgc21vb3Roc3RlcChmbG9hdDQgeCwgZmxvYXQ0IHksIGZs
CiBmbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHop
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0
ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Ro
c3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzbW9v
dGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDJ4MyBzbW9vdGhzdGVwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHop
IHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc21vb3Ro
c3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9v
dGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0g
c21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0Mng0IHNtb290aHN0ZXAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxv
YXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9v
dGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
c21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzbW9vdGhzdGVwKGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwg
elsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNtb290aHN0ZXAoZmxv
YXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBzbW9vdGhzdGVwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKICAgICBm
bG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3Rl
cCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhz
dGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNtb290
aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21v
b3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
bW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNtb290aHN0ZXAo
ZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVw
KHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0
ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21vb3Ro
c3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzbW9v
dGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNt
b290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0
NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNt
b290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1b
Ml0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVsz
XVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5
WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNd
WzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTExMTgs
MTE3ICs5MjA3LDExNyBAQCBmbG9hdDQgZXhwKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBleHAoZmxv
YXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBleHAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4
cCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZXhwKGZsb2F0Mng0
IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZXhwKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBleHAoZmxvYXQz
eDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBleHAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgyIGV4cChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4
cCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZXhwKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhw
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBleHAoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZXhwKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBl
eHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7
CiAgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZXhwKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKICAgICByZXN1bHRb
M11bM10gPSBleHAoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyMTA3LDIz
NCArMTAxOTYsMjM0IEBAIGJvb2wgYWxsKGZsb2F0NCB4KSB7CiBib29sIGFsbChmbG9hdDJ4MiB4
KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGZsb2F0MngzIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYWxsKGZsb2F0Mng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDN4MiB4KSB7CiAgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAw
KTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBi
b29sIGFsbChmbG9hdDN4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDAp
OwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJv
b2wgYWxsKGZsb2F0NHgyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChmbG9hdDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9v
bCBhbGwoZmxvYXQ0eDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwogICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2wy
eDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBh
bGwoYm9vbDJ4MyB4KSB7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sMng0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGJvb2wgYWxsKGJvb2wzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDN4MyB4KSB7CiAg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sM3g0IHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CiAgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYWxsKGJvb2w0eDIgeCkgewog
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKICAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbGwoYm9vbDR4MyB4KSB7CiAgICAgYm9vbCByZXN1
bHQgPSB0cnVlOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFsbChib29sNHg0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IHRydWU7CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CiAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
M107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CiAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07
CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEyODA3LDExNyArMTA4OTYsMTE3IEBAIGZsb2F0NCBkZHhf
ZmluZShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR4X2ZpbmUoZmxvYXQyeDIgeCkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZGR4X2ZpbmUoZmxv
YXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZGR4X2ZpbmUoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBkZHhf
ZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZGR4X2ZpbmUoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2ZpbmUo
ZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDIgZGR4X2ZpbmUoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmlu
ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZGR4X2ZpbmUoZmxvYXQ0eDMgeCkgewogICAgIGZs
b2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHhfZmlu
ZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhf
ZmluZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2ZpbmUo
ZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBkZHhfZmluZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmlu
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBkZHhf
ZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHhfZmluZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTQxNjAsMTE3ICsxMjI0OSwxMTcgQEAgZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByc3FydChmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByc3FydChmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyByc3FydChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByc3FydChmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJz
cXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiByc3FydChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByc3FydChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJz
cXJ0KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByc3Fy
dChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJz
cXJ0KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHJzcXJ0KHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHJzcXJ0KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDcz
OSwxMTcgKzEyODI4LDExNyBAQCBmbG9hdDQgc3FydChmbG9hdDQgeCkgewogZmxvYXQyeDIgc3Fy
dChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgc3FydChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBzcXJ0KGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gc3FydCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBzcXJ0KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBzcXJ0KHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHNxcnQoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0
NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBzcXJ0KGZsb2F0NHgz
IHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNxcnQoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
cXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4
KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc3Fy
dCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNxcnQoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0
KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTE0ODgwLDExNyArMTI5NjksMTE3IEBAIGZsb2F0NCBhY29zKGZsb2F0
NCB4KSB7CiBmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsK
ICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFj
b3MoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFjb3MoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBhY29zKGZsb2F0M3gy
IHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBhY29zKGZs
b2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYWNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
YWNvcyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYWNvcyhmbG9h
dDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFjb3Mo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
Y29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGFjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4NCBhY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IGFjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3Mo
eFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBh
Y29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTUzOTMsMTE3ICsxMzQ4MiwxMTcg
QEAgZmxvYXQ0IHRhbmgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHRhbmgoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IHRhbmgoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
dGFuaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdGFuaChmbG9h
dDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHRhbmgoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgdGFu
aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5o
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3g0IHRhbmgoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1b
MF0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRh
bmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFu
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRhbmgoZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
dGFuaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0
YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0YW5oKGZsb2F0NHg0IHgpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0YW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNd
WzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
aCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9
IHRhbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMTU2ODUsMTE3ICsxMzc3NCwxMTcgQEAgZmxvYXQ0IGNvcyhmbG9hdDQgeCkg
ewogZmxvYXQyeDIgY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY29zKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0Mng0IGNvcyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNv
cyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29z
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBj
b3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGNvcyhmbG9hdDN4
MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGNvcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgY29zKGZsb2F0
M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY29zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGNvcyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3Mo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY29zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGNvcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29z
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CkBAIC0xNjI1OSwxMTcgKzE0MzQ4LDExNyBAQCBmbG9hdDQgbG9nMihmbG9hdDQgeCkg
ewogZmxvYXQyeDIgbG9nMihmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMihmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMihmbG9hdDN4MiB4KSB7
CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBsb2cyKGZsb2F0M3gzIHgpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9n
Mih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMihmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzIo
eFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxvZzIoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBsb2cyKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9n
Mih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
bG9nMihmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBs
b2cyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsK
ICAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxv
ZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGxvZzIoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2NDE3LDExNyArMTQ1MDYsMTE3IEBAIGZs
b2F0NCBsZGV4cChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIGxkZXhwKGZsb2F0Mngy
IHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MngzIGxkZXhwKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxkZXhwKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRl
eHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGxkZXhwKGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRl
eHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAo
eFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBmbG9h
dDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRl
eHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAo
eFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRl
eHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwg
eVswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAo
eFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
bGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVsz
XSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGxkZXhwKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKICAg
ICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRl
eHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwg
eVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxkZXhw
KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsy
XSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwg
eVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFsz
XVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
bGRleHAoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
QEAgLTE2NzgwLDExNyArMTQ4NjksMTE3IEBAIGZsb2F0NCBhYnMoZmxvYXQ0IHgpIHsKIGZsb2F0
MngyIGFicyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngzIGFicyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
YnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYWJzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBh
YnMoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gy
IGFicyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBhYnMoZmxvYXQzeDMgeCkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGFicyhmbG9hdDN4NCB4KSB7
CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJz
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhYnMo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFi
cyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYWJzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWJz
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBhYnMoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBh
YnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFi
cyh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJz
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhYnMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGFi
cyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBh
YnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFi
cyh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gYWJz
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IGFicyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMTY5NTYsMTE3ICsxNTA0NSwxMTcgQEAgZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CiBmbG9h
dDJ4MiByb3VuZChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyByb3VuZChmbG9hdDJ4MyB4KSB7CiAgICAg
ZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByb3VuZChmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5k
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJv
dW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MiByb3VuZChmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJv
dW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyByb3VuZChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJv
dW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCByb3VuZChmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJv
dW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5k
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsy
XSA9IHJvdW5kKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByb3Vu
ZChmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5k
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJv
dW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyByb3VuZChmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJv
dW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5k
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCByb3VuZChmbG9hdDR4
NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHJvdW5kKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJvdW5kKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHJvdW5k
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1b
M10pOwogICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IHJv
dW5kKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhb
Ml1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJvdW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHJvdW5kKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzIxMCwyMzQgKzE1
Mjk5LDIzNCBAQCBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdCB5KSB7CiBmbG9hdDJ4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHgg
KiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsy
XVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwogICAg
IHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1
bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1b
MV0gPSB4WzJdWzFdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZs
b2F0IHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1b
M107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFd
ID0geCAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9h
dDJ4NCB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJl
c3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5
OwogICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhb
Ml1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFsw
XVsxXSA9IHhbMF1bMV0gKiB5OwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10g
KiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9
IHhbM11bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQg
eCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAgICByZXN1
bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsK
ICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICog
eVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKICAg
ICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0
WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7Cisg
ICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHgg
KiB5WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAg
IHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICByZXN1bHRbMV1bMF0g
PSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICBy
ZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzBdWzFd
ID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAq
IHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJd
WzNdID0geCAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdCB5KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0g
KiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3Vs
dFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5Owog
ICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV0gKiB5OwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJl
c3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5
OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwogICAgIHJlc3VsdFsyXVsyXSA9IHhb
Ml1bMl0gKiB5OwotICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3VsdFsz
XVsyXSA9IHhbM11bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwo
ZmxvYXQgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKICAg
ICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0g
PSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSB4ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSB4ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZs
b2F0NHgyIHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CiAgICAg
cmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
eFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsy
XSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNd
ID0geFsxXVszXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG11bChmbG9h
dCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHgg
KiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsw
XVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwogICAg
IHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9
IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQgeSkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICog
eTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKICAgICByZXN1bHRbMl1bMF0gPSB4
WzJdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdICogeTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJd
ICogeTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICByZXN1
bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsK
KyAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJd
WzNdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0IHgsIGZs
b2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CiAgICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eCAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzBdID0geCAqIHlb
M11bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CiAgICAgcmVz
dWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAq
IHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAg
cmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmVzdWx0WzNdWzNdID0geCAqIHlbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9h
dCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0g
KiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9
IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwogICAgIHJlc3Vs
dFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owot
ICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1b
M10gKiB5OwogICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsx
XSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwotICAgIHJl
c3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwogICAgIHJlc3VsdFsz
XVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAg
IHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0g
KiB5OwogICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9
IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJlc3Vs
dFsyXVszXSA9IHhbMl1bM10gKiB5OwogICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5Owog
ICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzQ3Miw5ICsxNTU2MSw5IEBAIGZsb2F0MiBtdWwo
ZmxvYXQyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc0ODIsOSArMTU1NzEsOSBAQCBmbG9hdDIg
bXVsKGZsb2F0MngyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NDkyLDk1ICsxNTU4MSw5NSBAQCBm
bG9hdDMgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsx
XSAqIHlbMV1bMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsy
XSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzIHkpIHsK
ICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9
IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5
WzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKICAgICByZXN1bHRbMV0gPSAw
OwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtdWwoZmxvYXQyIHgsIGZsb2F0Mng0IHkp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICBy
ZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl0gPSAw
OwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFsz
XSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICog
eVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyIG11bChmbG9hdDJ4NCB4LCBm
bG9hdDQgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICBy
ZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0g
eFswXVszXSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJl
c3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlb
M107CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07
CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsK
KyAgICByZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MiBtdWwoZmxvYXQzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVswXVsyXTsKICAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVsw
XSAqIHlbMV07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAq
IHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzFdICogeVsxXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQzeDMg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsx
XVsyXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1
bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3NTg4
LDE1ICsxNTY3NywxNSBAQCBmbG9hdDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
WzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsK
KyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0g
KiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlb
MF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4
WzJdWzJdICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc2MDQsMTMxICsxNTY5
MywxMzEgQEAgZmxvYXQ0IG11bChmbG9hdDMgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKICAgICByZXN1bHRb
Ml0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0g
Kz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlb
Ml1bMl07CiAgICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsy
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzIG11bChmbG9hdDN4NCB4LCBmbG9hdDQg
eSkgewogICAgIGZsb2F0MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdID0gMDsKICAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXVswXSAqIHlbM107CiAg
ICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAg
cmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICog
eVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsyXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFd
OworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsx
XVsyXSAqIHlbMV07CiAgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzNdICogeVszXTsKKyAgICByZXN1bHRbMl0gKz0geFszXVsyXSAqIHlbM107
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MiBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDIgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBd
ICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5
WzNdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdICs9IHhbM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDQg
bXVsKGZsb2F0NHgyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1
bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwog
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CiAgICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4
WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CiAgICAgcmVz
dWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsK
KyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MyBtdWwoZmxvYXQ0IHgsIGZsb2F0NHgzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKICAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhb
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKKyAgICByZXN1
bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzFdWzNd
OwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzJdICs9IHhbM10gKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDQgbXVsKGZsb2F0NHgzIHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAg
ICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CiAgICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsx
XVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOwogICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJd
ICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKICAg
ICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbM10gKz0geFszXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5
WzJdOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0g
eFsxXVszXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl1bM10gKiB5WzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAg
ZmxvYXQ0IHJlc3VsdDsKICAgICByZXN1bHRbMF0gPSAwOwogICAgIHJlc3VsdFswXSArPSB4WzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsK
KyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKICAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0g
Kz0geFswXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSAr
PSB4WzNdICogeVsxXVszXTsKICAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsx
XTsKICAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhb
M10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICByZXN1
bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
M10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzJdWzNdOwor
ICAgIHJlc3VsdFszXSArPSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XSArPSB4WzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc3MzYsMjMg
KzE1ODI1LDIzIEBAIGZsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9h
dDQgcmVzdWx0OwogICAgIHJlc3VsdFswXSA9IDA7CiAgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0g
Kz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAg
IHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAq
IHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOwogICAgIHJlc3VsdFsxXSA9
IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKICAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVsz
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhb
M11bMV0gKiB5WzNdOwogICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1b
MF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOwog
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsz
XSAqIHlbM107CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJlc3VsdFsz
XSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSAr
PSB4WzNdWzFdICogeVsxXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07CisgICAg
cmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdWzNdICog
eVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXVszXSAqIHlbMl07CiAgICAgcmVzdWx0WzNdICs9
IHhbM11bM10gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xNzc2MCwxNSArMTU4
NDksMTUgQEAgZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE3Nzc2LDEwNjMgKzE1ODY1LDEwNjMgQEAg
ZmxvYXQyeDMgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0g
PSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5
WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAw
OwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
ICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsx
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDIgeSkg
ewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4NCB5KSB7CiAg
ICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
MDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAq
IHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVsz
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mngz
IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0g
PSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsz
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAw
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHg0IHkpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbM11bM107CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsz
XVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9
IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0g
Kz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNd
WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxv
YXQyeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwog
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKICAgICBy
ZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CiAgICAg
cmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG11bChmbG9hdDN4MiB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IDA7CiAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBd
WzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4
WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFd
OwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQz
eDIgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
PSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRb
M11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
MV1bMV0gKiB5WzBdWzFdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsx
XVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1
bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1b
MV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmVz
dWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzBdID0gMDsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0g
MDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBd
WzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzFdID0g
MDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsy
XVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0g
KiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDMg
eCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1b
MF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVsw
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10g
PSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRb
MV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0g
KiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlb
M11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJd
WzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Cisg
ICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFsz
XVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAw
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9
IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDMgeSkgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVsw
XVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlb
MV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVsw
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsz
XVsxXSAqIHlbMV1bM107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
M11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0
eDQgeSkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICog
eVszXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
MV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBd
ID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBd
ICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1b
M107CiAgICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1
bHRbMl1bM10gKz0geFsyXVszXSAqIHlbM11bM107CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsx
XVsxXSAqIHlbMF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtdWwoZmxvYXQ0
eDIgeCwgZmxvYXQyeDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CiAgICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0
WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSAw
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKICAgICBmbG9hdDR4
NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsK
LSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVsw
XSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKICAgICByZXN1bHRbMV1b
MV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFd
WzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
MV1bMV0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAg
IHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJd
WzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0
WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBd
WzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJd
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsy
XVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQ0eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gzIHkpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBd
ICogeVswXVsyXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKICAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzNdICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbXVs
KGZsb2F0NHgzIHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRb
MF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0g
KiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOwogICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0g
MDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJl
c3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
MV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CiAgICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CiAgICAgcmVzdWx0WzNdWzNdID0gMDsK
LSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNd
ICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsy
XVszXTsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVszXSArPSB4WzJdWzNd
ICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbXVsKGZsb2F0NHg0
IHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gMDsKICAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVsw
XSAqIHlbMF1bM107CiAgICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11b
MF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOwogICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBd
WzFdICogeVsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
M11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbM11b
M10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
MyBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlb
MF1bM107CiAgICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9
IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
M11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlb
M11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0g
eFszXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11b
Ml0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbM11bMl0gKz0geFszXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9
IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwogICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
LSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4
WzNdWzBdICogeVswXVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CiAg
ICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwogICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CiAgICAg
cmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
MV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAq
IHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10gKz0geFsy
XVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVszXSAqIHlbM11bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOwogICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4
WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzJdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
M10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1b
M10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICog
eVsyXVszXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsxXVszXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOwogICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTkx
MjgsMTE3ICsxNzIxNywxMTcgQEAgZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKIGZsb2F0Mngy
IHJhZGlhbnMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJhZGlhbnMoZmxvYXQyeDMg
eCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgcmFkaWFucyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5z
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5z
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5z
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFkaWFu
cyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiByYWRpYW5zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlh
bnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlh
bnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJhZGlh
bnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlh
bnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRp
YW5zKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRp
YW5zKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRp
YW5zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRp
YW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJhZGlhbnMoZmxvYXQ0eDQgeCkgewogICAgIGZs
b2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwogICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwogICAg
IHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmFk
aWFucyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSByYWRpYW5zKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTI5OSwxMTcgKzE3Mzg4LDExNyBAQCBmbG9hdDQgY2Vp
bChmbG9hdDQgeCkgewogZmxvYXQyeDIgY2VpbChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2Vp
bCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgY2VpbChmbG9hdDJ4
MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBjZWlsKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBjZWlsKGZsb2F0Mng0IHgpIHsKICAg
ICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBj
ZWlsKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgY2VpbChm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBjZWlsKGZsb2F0M3gzIHgp
IHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWls
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQg
Y2VpbChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwo
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBj
ZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IGNlaWwoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGNl
aWwoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2Vp
bCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBjZWlsKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwo
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQ0eDQgY2VpbChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGNlaWwoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNl
aWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2Vp
bCh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IGNlaWwoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5NTI0LDExNyArMTc2
MTMsMTE3IEBAIGZsb2F0NCBhc2luKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBhc2luKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4MyBhc2luKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFzaW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGFz
aW4oZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhc2luKHhb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNp
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGFzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
YXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gzIGFzaW4oZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBh
c2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4NCBhc2luKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwog
ICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNp
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDIgYXNpbihmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGFzaW4oZmxvYXQ0eDMgeCkgewogICAg
IGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhc2luKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBhc2luKGZsb2F0NHg0IHgpIHsKICAgICBm
bG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
YXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJd
WzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGFzaW4o
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTk5OTEsMTE3ICsxODA4MCwxMTcgQEAgZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKIGZsb2F0MngyIHBvdyhmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1b
MV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBwb3coZmxvYXQy
eDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10p
OworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIHBvdyhmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcG93KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBwb3coZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBv
dyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHBvdyhmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBv
dyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBw
b3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0g
cG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10s
IHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsx
XSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1b
M10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBwb3coZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcG93KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHBvdyhmbG9hdDR4NCB4LCBmbG9h
dDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHBvdyh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcG93
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHBv
dyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBw
b3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9
IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjA0NTQs
MTE3ICsxODU0MywxMTcgQEAgZmxvYXQ0IHRhbihmbG9hdDQgeCkgewogZmxvYXQyeDIgdGFuKGZs
b2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFu
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQyeDMgdGFuKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0
YW4oeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHRhbihmbG9hdDJ4
NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSB0YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IHRhbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdGFuKGZsb2F0
M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRhbihmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgdGFuKGZsb2F0M3g0IHgpIHsKICAgICBmbG9h
dDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRh
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFu
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4o
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRh
bih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0NHgzIHRhbihmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
dGFuKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0
YW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRh
bih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgdGFuKGZsb2F0NHg0
IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IHRhbih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0g
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OwogICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRh
bih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7CiAgICAgcmVzdWx0
WzNdWzNdID0gdGFuKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yMDU5Nywx
MTcgKzE4Njg2LDExNyBAQCBmbG9hdDQgZm1hKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHop
CiBmbG9hdDJ4MiBmbWEoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewogICAg
IGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxv
YXQyeDMgeikgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0
IHopIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZt
YSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0s
IHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbWEo
ZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewogICAgIGZsb2F0M3gyIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
YSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgZm1hKGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQz
eDQgeikgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBd
WzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwg
elswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGZtYShmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9h
dDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1h
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMg
Zm1hKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKICAgICBmbG9hdDR4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZm1h
KHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhb
Ml1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBmbWEoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBm
bWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1hKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJd
WzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBmbWEoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIwNzE3LDU5ICsxODgwNiw1OSBAQCBmbG9hdCBkZXRl
cm1pbmFudChmbG9hdCB4KSB7CiAgICAgcmV0dXJuIHg7CiB9CiBmbG9hdCBkZXRlcm1pbmFudChm
bG9hdDJ4MiB4KSB7Ci0gICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFswXVsxXSAqIHhb
MV1bMF07CisgICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0geFsxXVswXSAqIHhbMF1bMV07
CiB9CiBmbG9hdCBkZXRlcm1pbmFudChmbG9hdDN4MyB4KSB7CiAgICAgcmV0dXJuIHhbMF1bMF0g
KiB4WzFdWzFdICogeFsyXVsyXSArCi0gICAgICAgICAgIHhbMF1bMV0gKiB4WzFdWzJdICogeFsy
XVswXSArCi0gICAgICAgICAgIHhbMF1bMl0gKiB4WzFdWzBdICogeFsyXVsxXSAtCi0gICAgICAg
ICAgIHhbMl1bMF0gKiB4WzFdWzFdICogeFswXVsyXSAtCi0gICAgICAgICAgIHhbMl1bMV0gKiB4
WzFdWzJdICogeFswXVswXSAtCi0gICAgICAgICAgIHhbMl1bMl0gKiB4WzFdWzBdICogeFswXVsx
XTsKKyAgICAgICAgICAgeFsxXVswXSAqIHhbMl1bMV0gKiB4WzBdWzJdICsKKyAgICAgICAgICAg
eFsyXVswXSAqIHhbMF1bMV0gKiB4WzFdWzJdIC0KKyAgICAgICAgICAgeFswXVsyXSAqIHhbMV1b
MV0gKiB4WzJdWzBdIC0KKyAgICAgICAgICAgeFsxXVsyXSAqIHhbMl1bMV0gKiB4WzBdWzBdIC0K
KyAgICAgICAgICAgeFsyXVsyXSAqIHhbMF1bMV0gKiB4WzFdWzBdOwogfQogZmxvYXQgZGV0ZXJt
aW5hbnQoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0IHJlc3VsdDsKICAgICBmbG9hdDN4MyBtaW5v
cjsKICAgICBtaW5vclswXVswXSA9IHhbMV1bMV07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzJd
OwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKICAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07
Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOwotICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsK
ICAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwor
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKICAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Cisg
ICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKICAg
ICBtaW5vclsyXVsyXSA9IHhbM11bM107CiAgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVswXSAq
IGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07Ci0gICAgbWlu
b3JbMF1bMV0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKLSAgICBtaW5v
clsxXVswXSA9IHhbMl1bMF07CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9y
WzFdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3Jb
MF1bMV0gPSB4WzBdWzJdOwogICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsx
XVsyXSA9IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwogICAgIG1pbm9yWzJd
WzFdID0geFszXVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9
IHhbMV1bMF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0g
eFsxXVszXTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4
WzJdWzFdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsKICAgICBtaW5vclsxXVsyXSA9IHhb
Ml1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0geFsz
XVsxXTsKICAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsg
eFswXVsyXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07
Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVsyXTsK
LSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzFdOwot
ICAgIG1pbm9yWzFdWzJdID0geFsyXVsyXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMF07Ci0g
ICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgLSB4WzBdWzNdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIHJl
c3VsdCA9IHJlc3VsdCAtIHhbMV1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAgbWlub3Jb
MF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBtaW5vclsy
XVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1pbm9yWzFd
WzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3JbMF1b
Ml0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsyXVsy
XSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFsyXVswXSAqIGRldGVybWluYW50
KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlub3JbMV1bMF0gPSB4
WzFdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclswXVsxXSA9IHhb
MF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzJdWzFdID0geFsy
XVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3JbMV1bMl0gPSB4WzFd
WzNdOworICAgIG1pbm9yWzJdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgLSB4
WzNdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTIwODM0LDExNyArMTg5MjMsMTE3IEBAIGZsb2F0NCBmbG9vcihmbG9hdDQgeCkgewogZmxvYXQy
eDIgZmxvb3IoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZmxvb3IoZmxvYXQyeDMgeCkgewogICAgIGZs
b2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgZmxvb3IoZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbG9v
cih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDIgZmxvb3IoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9v
cih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgZmxvb3IoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9v
cih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZmxvb3IoZmxvYXQzeDQgeCkgewogICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9v
cih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICBy
ZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBmbG9vcih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgZmxvb3Io
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
bG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbG9vcih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBmbG9vcih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9v
cih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgZmxvb3IoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9v
cih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBm
bG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZmxvb3IoZmxvYXQ0eDQg
eCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmbG9vcih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4WzBdWzNdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
bG9vcih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBmbG9vcih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBmbG9v
cih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJd
WzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmbG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBmbG9vcih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmbG9vcih4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBm
bG9vcih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjEyNDcsMTE3ICsxOTMz
NiwxMTcgQEAgZmxvYXQ0IGF0YW4yKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxvYXQyeDIgYXRh
bjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewog
ICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQy
eDQgYXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFu
Mih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgYXRhbjIoZmxv
YXQzeDIgeCwgZmxvYXQzeDIgeSkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkg
ewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewogICAgIGZsb2F0
M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFu
Mih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNd
WzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBh
dGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJd
LCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0
eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgYXRhbjIoZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBh
dGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFu
Mih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
Mih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBh
dGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQpAQCAtMjIzMzcsMTE3ICsyMDQyNiwxMTcgQEAgZmxvYXQ0IGZtb2QoZmxvYXQ0
IHgsIGZsb2F0NCB5KSB7CiBmbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1b
MV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBmbW9kKGZsb2F0
MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0Mng0IGZtb2QoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0
Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhb
MF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11b
MV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBmbW9kKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZt
b2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIGZtb2QoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBmbW9kKGZsb2F0
M3g0IHgsIGZsb2F0M3g0IHkpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZt
b2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2Qo
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
Zm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIg
Zm1vZChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2Qo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
Zm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2Qo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Zm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1v
ZCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBmbW9kKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1v
ZCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CiAgICAg
cmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsK
ICAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1b
Ml0pOwogICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBm
bW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwg
eVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5WzNdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjMwOTMsMTE3ICsyMTE4MiwxMTcgQEAgZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKIGZsb2F0MngyIG1pbihmbG9hdDJ4MiB4LCBmbG9hdDJ4
MiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBd
WzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsx
XVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1pbihmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFsw
XVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0p
OwogICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhb
MF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBtaW4oZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewogICAgIGZsb2F0Mng0IHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVsz
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4o
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWlu
KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIG1pbihmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
aW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtaW4oZmxvYXQzeDMgeCwg
ZmxvYXQzeDMgeSkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBt
aW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0
IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0s
IHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsK
ICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNd
WzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWluKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHkpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBd
WzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyBtaW4oZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3Vs
dDsKICAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4
WzBdWzJdLCB5WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtaW4o
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWlu
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1p
bih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBt
aW4oeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1p
bihmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
aW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJd
LCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVsz
XSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IG1pbih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMjM1MzIsMTE3ICsyMTYyMSwxMTcgQEAgZmxvYXQ0IHRydW5jKGZsb2F0NCB4
KSB7CiBmbG9hdDJ4MiB0cnVuYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4
KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4
KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOwog
ICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRy
dW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiB0cnVuYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRydW5j
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCB0cnVuYyhmbG9hdDN4
NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5j
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHRy
dW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MiB0cnVuYyhmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRydW5jKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRy
dW5jKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyB0cnVuYyhmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRy
dW5jKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRydW5j
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCB0cnVu
YyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHRydW5jKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRydW5j
KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVsw
XSA9IHRydW5jKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRy
dW5jKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHRydW5jKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5j
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJlc3Vs
dFszXVszXSA9IHRydW5jKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNDY0
NSwxMTcgKzIyNzM0LDExNyBAQCBmbG9hdDQgbWF4KGZsb2F0NCB4LCBmbG9hdDQgeSkgewogZmxv
YXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhb
MV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1heChmbG9hdDJ4NCB4LCBmbG9h
dDJ4NCB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1h
eCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbWF4
KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1h
eCh4WzBdWzFdLCB5WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIG1heChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0s
IHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbWF4KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewogICAgIGZs
b2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4
WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIG1heChmbG9hdDR4MyB4LCBmbG9h
dDR4MyB5KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4
KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1h
eCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBt
YXgoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsK
ICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
bWF4KHhbMF1bM10sIHlbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwg
eVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0s
IHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFd
LCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbWF4KHhbM11b
M10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNzQ4MCwxMTcgKzI1NTY5
LDExNyBAQCBmbG9hdDQgZGVncmVlcyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZGVncmVlcyhmbG9h
dDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdy
ZWVzKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdy
ZWVzKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZWdyZWVzKGZs
b2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVn
cmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGVn
cmVlcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGVncmVlcyhm
bG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRl
Z3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiBmbG9hdDN4MyBkZWdyZWVzKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZGVncmVlcyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHgyIGRlZ3JlZXMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9
IGRlZ3JlZXMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDR4MyBkZWdyZWVzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBkZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgZGVncmVlcyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KQEAgLTI4MTEyLDExNyArMjYyMDEsMTE3IEBAIGZsb2F0NCBzaW5oKGZsb2F0NCB4KSB7
CiBmbG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAg
cmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBzaW5oKGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNpbmgoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBz
aW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MiBzaW5oKGZsb2F0M3gyIHgpIHsK
ICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5o
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4NCBzaW5oKGZsb2F0M3g0
IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmVz
dWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgc2luaChmbG9hdDR4MiB4
KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2luaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2lu
aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgz
IHNpbmgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2luaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFd
WzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVsw
XSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBzaW5oKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBz
aW5oKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4
WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IHNp
bmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVsz
XSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwog
ICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2lu
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2luaCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjgyNTMsMTE3ICsyNjM0MiwxMTcgQEAgZmxv
YXQ0IGRkeShmbG9hdDQgeCkgewogZmxvYXQyeDIgZGR5KGZsb2F0MngyIHgpIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRk
eSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZGR5KGZsb2F0Mngz
IHgpIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHkoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR5KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gzIGRkeShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDQgZGR5KGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBk
ZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHkoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHkoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGRkeShmbG9hdDR4
MyB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR5KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9
IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMzA4NCwxMTcgKzMxMTczLDExNyBAQCBmbG9h
dDQgZnJhYyhmbG9hdDQgeCkgewogZmxvYXQyeDIgZnJhYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxv
YXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDMgZnJhYyhm
bG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZy
YWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBmcmFjKGZsb2F0Mng0IHgp
IHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmcmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFj
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZnJhYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
cmFjKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBmcmFjKGZsb2F0
M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZy
YWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDQgZnJhYyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0g
ZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
NHgyIGZyYWMoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBmcmFjKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJd
WzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGZyYWMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZnJhYyhmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBm
cmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IGZyYWMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTMzNDU5LDEx
NyArMzE1NDgsMTE3IEBAIGZsb2F0NCBsb2cxMChmbG9hdDQgeCkgewogZmxvYXQyeDIgbG9nMTAo
ZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQgeCkgewogICAgIGZsb2F0Mng0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBsb2cxMCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgbG9nMTAo
ZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbG9nMTAo
ZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cx
MCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cx
MCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBs
b2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbG9nMTAoZmxvYXQ0eDIg
eCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsb2cx
MCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cx
MCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBsb2cxMCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKICAg
ICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cx
MCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10gPSBsb2cxMCh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzM4MjMsMTE3ICszMTkxMiwxMTcgQEAg
ZmxvYXQ0IGRkeV9maW5lKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4
KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxv
YXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBk
ZHlfZmluZShmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5l
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfZmluZShmbG9h
dDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4
NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsy
XVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4
KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9m
aW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRk
eV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsy
XSA9IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10p
OwogICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJlc3VsdFsz
XVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5l
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9m
aW5lKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNDE5OCwyMzQgKzMyMjg3LDIzNCBAQCBib29sIGFueShm
bG9hdDQgeCkgewogYm9vbCBhbnkoZmxvYXQyeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQyeDMgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CiAg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0Mng0IHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
M10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDIgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
Ml0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGJvb2wgYW55KGZsb2F0M3gzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ym9vbCBhbnkoZmxvYXQzeDQgeCkgewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNd
WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShmbG9hdDR4MiB4KSB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGJvb2wgYW55KGZsb2F0NHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9
IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzJdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogYm9vbCBhbnkoZmxvYXQ0eDQgeCkg
ewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzNdICE9IDApOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAh
PSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CiAgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
M11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bM10gIT0gMCk7CiAgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzNdICE9IDAp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngyIHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sMngzIHgpIHsK
ICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBib29sIGFueShib29sMng0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFu
eShib29sM3gyIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFd
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sM3gzIHgpIHsKICAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBib29sIGFueShib29sM3g0IHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgyIHgpIHsKICAgICBib29sIHJl
c3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBib29sIGFueShib29sNHgzIHgpIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNl
OwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOwogICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOwog
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBib29sIGFueShib29sNHg0IHgpIHsKICAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzNdOwogICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CkBAIC0zNDYzNiwxMTcgKzMyNzI1LDExNyBAQCBmbG9hdDQgZGR5X2NvYXJzZShm
bG9hdDQgeCkgewogZmxvYXQyeDIgZGR5X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBk
ZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQy
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfY29hcnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fy
c2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDJ4NCBkZHlfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fy
c2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2Nv
YXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIg
ZGR5X2NvYXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHlfY29h
cnNlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlf
Y29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4
KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRk
eV9jb2Fyc2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJz
ZSh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeV9jb2Fyc2UoZmxvYXQ0
eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9j
b2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBm
bG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR5
X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fy
c2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR5X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVz
dWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlf
Y29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11b
Ml0gPSBkZHlfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2Uo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRk
eV9jb2Fyc2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1MDk1LDExNyAr
MzMxODQsMTE3IEBAIGZsb2F0NCBkZHgoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGRkeChmbG9hdDJ4
MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
MngzIGRkeChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkg
ewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHgo
eFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIGRkeChmbG9hdDN4MiB4
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHgoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0g
PSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGRkeChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR4KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDIgZGR4KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHgoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9h
dDR4MyBkZHgoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4
WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4KHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGRkeChmbG9hdDR4NCB4KSB7
CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgo
eFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IGRkeCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKICAg
ICByZXN1bHRbM11bMV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IGRkeCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzUzODQsMTE3ICsz
MzQ3MywxMTcgQEAgZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKIGZsb2F0MngyIGNvc2goZmxvYXQy
eDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1b
MF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQg
Y29zaChmbG9hdDJ4NCB4KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2go
eFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBj
b3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNv
c2goeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQzeDMgY29zaChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9
IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0M3g0IGNvc2goZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2go
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7
CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBj
b3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAg
IHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBjb3NoKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29z
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgY29zaChmbG9hdDR4MyB4KSB7CiAg
ICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3No
KHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsy
XSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvc2go
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGNvc2goZmxvYXQ0eDQgeCkgewogICAg
IGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwogICAgIHJlc3VsdFsx
XVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNv
c2goeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0g
PSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhb
Ml1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gY29z
aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0zNTUyNywxMTcgKzMzNjE2LDExNyBAQCBmbG9hdDQgZGR4X2NvYXJzZShmbG9hdDQg
eCkgewogZmxvYXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29h
cnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDMgZGR4X2NvYXJzZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29h
cnNlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4
X2NvYXJzZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgZGR4X2Nv
YXJzZShmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBkZHhfY29hcnNlKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4
X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAg
cmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsx
XSk7CiAgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fy
c2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fy
c2UoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwog
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVz
dWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhf
Y29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkg
ewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
Y29hcnNlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2Uo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MyBkZHhfY29hcnNlKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9jb2Fyc2UoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmVzdWx0
WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29h
cnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgZGR4X2NvYXJzZShmbG9hdDR4NCB4KSB7CiAgICAgZmxv
YXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9j
b2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsK
ICAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJl
c3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXN1bHRbM11bMl0gPSBk
ZHhfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IGRkeF9jb2Fy
c2UoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM1OTgyLDExNyArMzQwNzEs
MTE3IEBAIGZsb2F0NCByY3AoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNw
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIHJj
cChmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9
IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgewogICAg
IGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBd
ID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gyIHJjcChmbG9hdDN4MiB4KSB7CiAg
ICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiBmbG9hdDN4MyByY3AoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNw
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRb
MV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3Ao
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
Y3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNw
KHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSByY3Ao
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgcmNw
KGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0p
OwogICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBy
Y3AoZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHJjcCh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
Y3AoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHJjcChmbG9hdDR4NCB4KSB7CiAgICAg
ZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVsz
XSk7CiAgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBy
Y3AoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwogICAgIHJlc3VsdFszXVszXSA9IHJj
cCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzY0ODQsMTE3ICszNDU3Mywx
MTcgQEAgZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkgewogZmxvYXQyeDIgZndpZHRoKGZsb2F0Mngy
IHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQyeDMgZndpZHRoKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAg
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGZ3aWR0aChmbG9hdDJ4NCB4KSB7CiAgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRo
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKICAgICByZXN1
bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDIgZndpZHRoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7
CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZ3aWR0aCh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGZ3
aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGZ3aWR0aChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQz
eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhb
MF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1b
Ml0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogZmxvYXQzeDQgZndpZHRoKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3
aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4
WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJd
WzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBmd2lkdGgo
ZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBm
d2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGZ3aWR0aChmbG9hdDR4MyB4KSB7
CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZndpZHRoKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndp
ZHRoKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRo
KHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9
IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZ3
aWR0aCh4WzFdWzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJd
KTsKICAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
ZndpZHRoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNzI0MiwxMTcgKzM1
MzMxLDExNyBAQCBmbG9hdDQgbGVycChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6CiBmbG9h
dDJ4MiBsZXJwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9h
dDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAg
ICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBsZXJwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZs
b2F0MngzIHopIHsKICAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVy
cCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IGxlcnAoZmxvYXQyeDQgeCwgZmxvYXQyeDQg
eSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxl
cnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJd
WzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0s
IHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDN4MiBsZXJwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gy
IHopIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIGxlcnAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxv
YXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4NCBsZXJwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsK
ICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwg
elswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3Vs
dFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11b
MV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFsw
XVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMF0gPSBs
ZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAo
eFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFd
WzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBd
LCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIGxlcnAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxv
YXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGVy
cCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhb
M11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5
WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1b
M10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZXJwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0g
PSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxl
cnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1
bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBs
ZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxlcnAo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsy
XVszXSwgelsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gbGVycCh4WzNdWzNdLCB5WzNdWzNd
LCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3Rh
bmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAgICBW
aXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNpdChB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSBv
dmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFt
ZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7Ci0g
ICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVy
RnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFtZXM7
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5
bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5j
dGlvbnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVz
aXplRW51bWVyYXQKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZp
bml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5h
cHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpu
dWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9z
dHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2Rl
OjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RG
TW92ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBl
bnVtIHR5cGUuIikpOwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2
YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KGxvY2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVs
bHB0cik7Ci0gICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7
Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRp
b24pKTsKICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNU
OjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+
dHlwZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRy
LCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAg
ICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikp
KQogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNy
ZWF0ZSBjb3B5IGNvbnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFZpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsOCArMTkyLDYgQEAgdm9pZCBW
aXNpdG9yOjp2aXNpdChBU1Q6OkNvbnN0YW50RXhwcmVzcwogICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RmxvYXRMaXRl
cmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0
ZXJhbCk7Ci0gICAgfSwgWyZdKEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKSB7Ci0gICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6Qm9v
bGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKSB7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChib29sZWFuTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpIHsKQEAgLTIzOCwxMSArMjM2LDYgQEAgdm9p
ZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYgZgogICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChmbG9hdExpdGVyYWwudHlwZSgpKTsKIH0KIAotdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6
Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobnVs
bExpdGVyYWwudHlwZSgpKTsKLX0KLQogdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkJvb2xlYW5M
aXRlcmFsJikKIHsKIH0KQEAgLTI2OCwxMiArMjYxLDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNpdChB
U1Q6OkZsb2F0TGl0ZXJhbFR5cAogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmbG9hdExpdGVyYWxU
eXBlLnByZWZlcnJlZFR5cGUoKSk7CiB9CiAKLXZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpOdWxs
TGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkKLXsKLSAgICBpZiAobnVsbExpdGVyYWxUeXBl
Lm1heWJlUmVzb2x2ZWRUeXBlKCkpCi0gICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0
ZXJhbFR5cGUucmVzb2x2ZWRUeXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6
RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikKIHsKIH0KQEAgLTM5OSw5ICszODYsNiBAQCB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBBU1Q6OkV4cHJl
c3Npb246OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93
bmNhc3Q8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246OktpbmQ6Ok51bGxMaXRlcmFsOgotICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6
RG90OgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpEb3RFeHByZXNz
aW9uPihleHByZXNzaW9uKSk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgJKHJldmlzaW9uIDI0
OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRv
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFN0YWdlSW5PdXRTZW1h
bnRpYzsKIGNsYXNzIEludGVnZXJMaXRlcmFsOwogY2xhc3MgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bDsKIGNsYXNzIEZsb2F0TGl0ZXJhbDsKLWNsYXNzIE51bGxMaXRlcmFsOwogY2xhc3MgQm9vbGVh
bkxpdGVyYWw7CiBjbGFzcyBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw7CiBjbGFzcyBOdW1UaHJl
YWRzRnVuY3Rpb25BdHRyaWJ1dGU7CkBAIC0xMzgsMTIgKzEzNywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2b2lk
IHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJik7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6
TnVsbExpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpCb29sZWFuTGl0ZXJh
bCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpOwog
ICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVHlwZSYpOwotICAgIHZp
cnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0
KEFTVDo6TnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
QVNULmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDYgQEAKICNpbmNsdWRlICJXSExTTE5h
bWVkVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5oIgog
I2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xO
dWxsTGl0ZXJhbC5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVk
ZSAiV0hMU0xOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJXSExTTFBv
aW50ZXJUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0
YW50RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xDb25zdGFu
dEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IldITFNMRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xGbG9hdExp
dGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEludGVnZXJMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hM
U0xOdWxsTGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC5o
IgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4K
QEAgLTYzLDExICs2Miw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgQ29uc3RhbnRF
eHByZXNzaW9uKE51bGxMaXRlcmFsJiYgbnVsbExpdGVyYWwpCi0gICAgICAgIDogbV92YXJpYW50
KFdURk1vdmUobnVsbExpdGVyYWwpKQotICAgIHsKLSAgICB9Ci0KICAgICBDb25zdGFudEV4cHJl
c3Npb24oQm9vbGVhbkxpdGVyYWwmJiBib29sZWFuTGl0ZXJhbCkKICAgICAgICAgOiBtX3Zhcmlh
bnQoV1RGTW92ZShib29sZWFuTGl0ZXJhbCkpCiAgICAgewpAQCAtOTAsMTIgKzg0LDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEludGVnZXJMaXRlcmFsPihtX3ZhcmlhbnQp
OwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNv
bnN0IFZpc2l0b3ImIHZpc2l0b3IpIC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3Rk
OjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWws
IEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1l
bWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8g
dmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNp
dG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0dXJuIFdURjo6dmlzaXQodmlzaXRvciwg
bV92YXJpYW50KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSBjb25zdCAtPiBkZWNsdHlwZShXVEY6OnZp
c2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25l
ZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIE51bGxMaXRlcmFsLCBCb29sZWFuTGl0ZXJh
bCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQorICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0IC0+IGRl
Y2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxp
dGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgQm9vbGVhbkxpdGVy
YWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkKICAgICB7CiAgICAgICAgIHJldHVy
biBXVEY6OnZpc2l0KHZpc2l0b3IsIG1fdmFyaWFudCk7CiAgICAgfQpAQCAtMTA4LDggKzEwMiw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiB1bnNpZ25lZEludGVnZXJMaXRlcmFsLmNs
b25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKICAgICAgICAgICAgIHJldHVybiBmbG9hdExpdGVyYWwu
Y2xvbmUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkg
LT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKLSAgICAgICAgICAgIHJldHVybiBudWxsTGl0ZXJhbC5j
bG9uZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRl
cmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW5M
aXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgLT4gQ29uc3RhbnRFeHByZXNzaW9uIHsK
QEAgLTEyNyw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2YWx1ZSA9IHVuc2lnbmVk
SW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJh
bCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1ZSA9IGZsb2F0TGl0ZXJhbC52YWx1
ZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmKSB7Ci0gICAgICAgICAgICBy
ZXN1bHQgPSBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPE51bGxMaXRlcmFsPihvdGhlci5tX3Zhcmlh
bnQpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFs
KSB7CiAgICAgICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxCb29sZWFuTGl0ZXJh
bD4ob3RoZXIubV92YXJpYW50KSkgewogICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8mIG90aGVy
Qm9vbGVhbkxpdGVyYWwgPSBXVEY6OmdldDxCb29sZWFuTGl0ZXJhbD4ob3RoZXIubV92YXJpYW50
KTsKQEAgLTE1Miw4ICsxNDIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQgPSB2YWx1
ZSA9PSB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCk7CiAgICAgICAgIH0sIFsmXShjb25z
dCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgcmVzdWx0ID0gdmFs
dWUgPT0gZmxvYXRMaXRlcmFsLnZhbHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0
ZXJhbCYpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICB9LCBbJl0oY29u
c3QgQm9vbGVhbkxpdGVyYWwmKSB7CiAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAg
ICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIHsKQEAgLTE2OSw3ICsx
NTcsNiBAQCBwcml2YXRlOgogICAgICAgICBJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgVW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgRmxvYXRMaXRlcmFsLAotICAgICAgICBOdWxsTGl0
ZXJhbCwKICAgICAgICAgQm9vbGVhbkxpdGVyYWwsCiAgICAgICAgIEVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbAogICAgICAgICA+IG1fdmFyaWFudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9u
LmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGxvY2F0aW9u
LCBLaW5kOjpEb3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAgICwgbV9maWVsZE5hbWUoV1RGTW92
ZShmaWVsZE5hbWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKG1fcGFkZGluZyk7CiAg
ICAgfQogCiAgICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1bHQ7CkBAIC01MiwyNSArNTMsMTEg
QEAgcHVibGljOgogICAgIERvdEV4cHJlc3Npb24oY29uc3QgRG90RXhwcmVzc2lvbiYpID0gZGVs
ZXRlOwogICAgIERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7CiAKLSAg
ICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZygib3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9Iik7Ci0gICAgfQotCi0gICAgU3Ry
aW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKCJvcGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwotICAgIH0KLQogICAgIFN0cmluZyYg
ZmllbGROYW1lKCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9maWVsZE5hbWU7CisgICAgY2hhciBtX3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xFeHByZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcyLDYgQEAgdm9pZCBFeHByZXNzaW9uOjpk
ZXN0cm95KEV4cHJlc3Npb24mIGV4cAogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TWFrZVBv
aW50ZXI6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihl
eHByZXNzaW9uKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpO
dWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2FzdDxOdWxsTGl0ZXJhbD4oZXhwcmVz
c2lvbik7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6RG90Ogog
ICAgICAgICBkZWxldGUgJmRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Npb24pOwogICAg
ICAgICBicmVhazsKQEAgLTEzOCw5ICsxMzUsNiBAQCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0
KEV4cHJlc3Npb24mIGV4CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpNYWtlUG9pbnRlcjoK
ICAgICAgICAgZG93bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKS5+TWFr
ZVBvaW50ZXJFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXhwcmVzc2lv
bjo6S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKS5+TnVsbExpdGVyYWwoKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNz
aW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Np
b24pLn5Eb3RFeHByZXNzaW9uKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTY4LDMzICsxNjIsNiBA
QCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1T
dHJpbmcgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25z
dAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBk
b3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAg
aWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8
SW5kZXhFeHByZXNzaW9uPigqdGhpcykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbjo6c2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVz
c2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRo
aXMpLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0
aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNl
dHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19
Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkg
Y29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0g
ICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNh
c3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAv
LyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJl
c3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBwdWJsaWM6CiAgICAgICAg
IExvZ2ljYWxOb3QsCiAgICAgICAgIE1ha2VBcnJheVJlZmVyZW5jZSwKICAgICAgICAgTWFrZVBv
aW50ZXIsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBSZWFkTW9kaWZ5V3JpdGUsCiAg
ICAgICAgIFRlcm5hcnksCiAgICAgICAgIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsCkBAIC0xMzgs
NyArMTM3LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2dpY2FsTm90RXhwcmVzc2lvbigpIGNv
bnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dpY2FsTm90OyB9CiAgICAgYm9vbCBpc01h
a2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2lu
ZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9vbCBpc01ha2VQb2ludGVyRXhwcmVzc2lv
bigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpNYWtlUG9pbnRlcjsgfQotICAgIGJv
b2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpOdWxsTGl0
ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oKSBjb25zdCB7IHJl
dHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4RXhwcmVzc2lvbigpOyB9CiAgICAgYm9v
bCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9vbCBpc1Rlcm5hcnlFeHByZXNzaW9uKCkg
Y29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRlcm5hcnk7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4RXhwcmVzc2lvbihjb25z
dCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4cHJlc3Npb24oSW5kZXhF
eHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdIl9zdHI7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVyRnVuY3Rp
b25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3ImW10iX3N0cjsK
LSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24oKSB7IHJldHVybiBtX2lu
ZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRleCgpIHsgcmV0dXJuIFdU
Rk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xh
cmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1i
ZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigx
KTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAgICB9CiAgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRyaXhE
aW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgfQor
CisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5
cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0KKworICAgIHVuc2lnbmVk
IHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOworICAgICAg
ICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1bWVudHMo
KVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVu
Y2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNNYXRyaXgo
KSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlw
ZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElzSW50KCkgeyBtX2lzSW50
ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJh
bC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1u
YW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVyYWwgZmluYWwgOiBwdWJsaWMgRXhwcmVz
c2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExp
dGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAgICAgICA6IEV4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAgICB9Ci0KLSAgICB+TnVsbExpdGVyYWwo
KSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChjb25zdCBOdWxsTGl0ZXJhbCYpID0gZGVs
ZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBO
dWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQotICAgIE51
bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgTnVsbExpdGVy
YWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBOdWxsTGl0ZXJh
bChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvbHZlZFR5cGUgPSBtX3R5
cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgICAgIHJlc3VsdC5tX3R5cGUucmVzb2x2
ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigqcmVzb2x2ZWRUeXBlKSk7Ci0gICAgICAg
IGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLXBy
aXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFsKQotCi1T
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJFU1NJT04oTnVsbExpdGVyYWwsIGlzTnVs
bExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
RGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAjIwot
QXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFs
VHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0KLSNp
ZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7
Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNvbHZlKGNvbnN0IFR5cGUmIHR5cGUpIGNv
bnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4odHlwZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PFVubmFtZWRUeXBlPih0eXBl
KTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi11bnNpZ25lZCBOdWxsTGl0ZXJhbFR5
cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRUeXBlJikgY29uc3QKLXsKLSAgICByZXR1
cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi0jZW5kaWYKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBl
LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZXNvbHZhYmxlVHlw
ZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNzIE51bGxMaXRl
cmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxlVHlwZSB7Ci0gICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWxUeXBlKCkKLSAgICAgICAgOiBS
ZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkKLSAgICB7IH0KLQotICAgIH5OdWxsTGl0
ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUoY29uc3QgTnVsbExp
dGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlKE51bGxMaXRlcmFsVHlw
ZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShjb25zdCBO
dWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9y
PShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAgYm9vbCBjYW5SZXNvbHZlKGNv
bnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBjb252ZXJzaW9uQ29zdChjb25zdCBVbm5h
bWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsKLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0K
LX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUoTnVsbExpdGVyYWxUeXBlKQotCi1TUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVsbExpdGVyYWxUeXBlLCBpc051bGxMaXRl
cmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAsMCAj
IwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDQ1
ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNvbnN0IFBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0gICAgU3Ry
aW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlv
bk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLQot
ICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9nZXR0
ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24oKSB7
IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJl
YWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9Ci0gICAg
RnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3NldHRlckZ1
bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRp
b24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlvbiA9IGdl
dHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihGdW5jdGlv
bkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRlckZ1bmN0
aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFuZGVyRnVu
Y3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICB7Ci0g
ICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247Ci0gICAg
fQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0
ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0ZXJGdW5j
dGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9iYXNlOyB9
CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1cm4gbV9i
YXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1cm4gV1RG
TW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IG1f
YmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsgbnVsbHB0
ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51bGxwdHIg
fTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24geyBudWxs
cHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7IG51bGxw
dHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw2IEBAIHZvaWQgVHlwZTo6ZGVz
dHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAg
IGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZkb3duY2Fz
dDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6
OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAgICAgICBicmVhazsKQEAgLTExNSw5ICsx
MTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUmIHR5cGUpCiAgICAgY2FzZSBLaW5kOjpJ
bnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBl
KS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgS2luZDo6
TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4odHlwZSkufk51
bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKTsKICAgICAgICAgYnJlYWs7
CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZhYmxlVHlwZTo6Y2FuUmVzb2x2ZShjb25z
dCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMpLmNh
blJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlw
ZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0
PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5k
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGRlZmF1
bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQgUmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNp
b25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMp
LmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJz
aW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7
CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29z
dCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUmVzb2x2YWJs
ZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAgICAgICAgSW50ZWdlckxpdGVyYWwsCi0g
ICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFsLAogICAg
IH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0Zsb2F0TGl0ZXJh
bFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6RmxvYXRMaXRlcmFsOyB9CiAg
ICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBL
aW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbFR5cGUoKSBjb25z
dCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29sIGlzVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAgVHlwZSYgdW5pZnlOb2RlKCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9u
V3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDx3dGYv
U2V0Rm9yU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNp
bmNsdWRlIDx3dGYvRGF0YUxvZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSBXSExTTCB7CkBAIC02Myw3ICs2NSw1NyBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3Ry
dWN0IFZhcmlhYmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xl
ZFR5cGVOYW1lIHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVi
bGljIFZpc2l0b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNv
bGxlY3RvcihGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cikKKyAgICAgICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChB
U1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgewor
ICAgICAgICAgICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICBzaXpl
X3Qgc2l6ZSA9IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgICAg
IGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgZnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKKyAgICAgICAg
ICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsKKyAgICAgICAgICAgIHZh
cmlhYmxlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgICAgICAgICBmb3Ig
KGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUoKSk7CisgICAgICAgICAg
ICAgICAgYXV0byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQo
VmFyaWFibGUgeyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoIWlzVm9pZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZh
cmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9I
b2lzdC5hZGQoJmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAg
ICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAgICAg
ICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdy
aXRlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZh
cmlhYmxlczsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlX
cml0ZS5vbGRWYWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5k
KFZhcmlhYmxlIHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKCpyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0pOworCisgICAgICAg
ICAgICB0b0hvaXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZhcmlhYmxlcykpOwor
CisgICAgICAgICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUpOworICAgICAgICB9
CisKKyAgICAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI7CisgICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxl
Pj4gdG9Ib2lzdDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3MmIGludHJpbnNpY3Ms
IFR5cGVOYW1lciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbios
IE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91dCYgbGF5b3V0KQog
ICAgICAgICA6IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAtMTAwLDE0ICsxNTIs
MTIgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92
ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAg
IHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJikg
b3ZlcnJpZGU7CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsK
ICAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2
aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC0xMzEsNjUgKzE4MSw2IEBAIHBy
b3RlY3RlZDoKIAogICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCkgeyByZXR1cm4geyBtX3ZhcmlhYmxlQ291bnQrKyB9OyB9CiAKLSAgICBlbnVtIGNsYXNz
IE51bGxhYmlsaXR5IDogdWludDhfdCB7Ci0gICAgICAgIE5vdE51bGwsCi0gICAgICAgIENhbkJl
TnVsbAotICAgIH07Ci0KLSAgICBzdHJ1Y3QgU3RhY2tJdGVtIHsKLSAgICAgICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWU7
Ci0gICAgICAgIE51bGxhYmlsaXR5IHZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIE51bGxhYmls
aXR5IGxlZnRWYWx1ZU51bGxhYmlsaXR5OwotICAgICAgICBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRW
YXJpYWJsZU5hbWUoKT4gZ2VuZXJhdGVMZWZ0VmFsdWU7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBT
dGFja1ZhbHVlIHsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAg
TnVsbGFiaWxpdHkgbnVsbGFiaWxpdHk7Ci0gICAgfTsKLQotICAgIC8vIFRoaXMgaXMgdGhlIGlt
cG9ydGFudCBkYXRhIGZsb3cgc3RlcCB3aGVyZSB3ZSBjYW4gdGFrZSB0aGUgbnVsbGFiaWxpdHkg
b2YgYW4gbHZhbHVlCi0gICAgLy8gYW5kIHRyYW5zZmVyIGl0IGludG8gdGhlIG51bGxhYmlsaXR5
IG9mIGFuIHJ2YWx1ZS4gVGhpcyBpcyBjb252ZXllZCBpbiBNYWtlUG9pbnRlckV4cHJlc3Npb24K
LSAgICAvLyBhbmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uLiBNYWtlUG9pbnRlckV4cHJlc3Npb24g
d2lsbCB0cnkgdG8gcHJvZHVjZSBydmFsdWVzIHdoaWNoIGFyZQotICAgIC8vIG5vbi1udWxsLCBh
bmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uIHdpbGwgdGFrZSBhIG5vbi1udWxsIHJ2YWx1ZSBhbmQg
dHJ5IHRvIHByb2R1Y2UKLSAgICAvLyBhIG5vbi1udWxsIGx2YWx1ZS4KLSAgICB2b2lkIGFwcGVu
ZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoQVNUOjpFeHByZXNzaW9uJiwgTWFuZ2xlZFZhcmlh
YmxlTmFtZSB2YWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHkpCi0gICAgewotICAgICAgICBt
X3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUpLCB7IH0sIG51bGxhYmlsaXR5LCBOdWxsYWJp
bGl0eTo6Q2FuQmVOdWxsLCB7IH0gfSk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRSaWdodFZh
bHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoZXhwcmVz
c2lvbiwgV1RGTW92ZSh2YWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwpOwotICAgIH0KLQot
ICAgIHZvaWQgYXBwZW5kTGVmdFZhbHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFu
Z2xlZFZhcmlhYmxlTmFtZSB2YWx1ZSwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWUsIE51
bGxhYmlsaXR5IG51bGxhYmlsaXR5LCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUo
KT4gZ2VuZXJhdGVMZWZ0VmFsdWUgPSB7IH0pCi0gICAgewotICAgICAgICBBU1NFUlRfVU5VU0VE
KGV4cHJlc3Npb24sIGV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNl
KCkpOwotICAgICAgICBBU1NFUlQobGVmdFZhbHVlIHx8IGdlbmVyYXRlTGVmdFZhbHVlKTsKLSAg
ICAgICAgbV9zdGFjay5hcHBlbmQoeyBXVEZNb3ZlKHZhbHVlKSwgV1RGTW92ZShsZWZ0VmFsdWUp
LCBOdWxsYWJpbGl0eTo6Q2FuQmVOdWxsLCBudWxsYWJpbGl0eSwgV1RGTW92ZShnZW5lcmF0ZUxl
ZnRWYWx1ZSkgfSk7Ci0gICAgfQotCi0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB0YWtlTGFzdFZh
bHVlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3N0YWNrLnRha2VMYXN0KCkudmFsdWU7Ci0g
ICAgfQotCi0gICAgU3RhY2tWYWx1ZSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKQotICAg
IHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICByZXR1
cm4geyBsYXN0LnZhbHVlLCBsYXN0LnZhbHVlTnVsbGFiaWxpdHkgfTsKLSAgICB9Ci0KLSAgICBT
dGFja1ZhbHVlIHRha2VMYXN0TGVmdFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8gbGFzdCA9
IG1fc3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgaWYgKCFsYXN0LmxlZnRWYWx1ZSkKLSAgICAg
ICAgICAgIGxhc3QubGVmdFZhbHVlID0gbGFzdC5nZW5lcmF0ZUxlZnRWYWx1ZSgpOwotICAgICAg
ICByZXR1cm4geyBsYXN0LmxlZnRWYWx1ZSwgbGFzdC5sZWZ0VmFsdWVOdWxsYWJpbGl0eSB9Owot
ICAgIH0KLQogICAgIGVudW0gY2xhc3MgQnJlYWtDb250ZXh0IHsKICAgICAgICAgTG9vcCwKICAg
ICAgICAgU3dpdGNoCkBAIC0yMDMsMTIgKzE5NCwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgSGFzaE1h
cDxBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qLCBNYW5nbGVkRnVuY3Rpb25OYW1lPiYgbV9mdW5j
dGlvbk1hcHBpbmc7CiAgICAgSGFzaE1hcDxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qLCBNYW5n
bGVkVmFyaWFibGVOYW1lPiBtX3ZhcmlhYmxlTWFwcGluZzsKIAotICAgIFZlY3RvcjxTdGFja0l0
ZW0+IG1fc3RhY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5UG9pbnRTY2FmZm9sZGluZz4g
bV9lbnRyeVBvaW50U2NhZmZvbGRpbmc7CiAgICAgTGF5b3V0JiBtX2xheW91dDsKICAgICB1bnNp
Z25lZCBtX3ZhcmlhYmxlQ291bnQgeyAwIH07CiAgICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxl
TmFtZT4gbV9icmVha091dE9mQ3VycmVudExvb3BFYXJseVZhcmlhYmxlOwogICAgIEluZGVudGF0
aW9uPDQ+IG1faW5kZW50IHsgMCB9OworICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVj
dG9yPFZhcmlhYmxlPj4gbV9ob2lzdGVkVmFyaWFibGVzOwogfTsKIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYpCkBA
IC0yMTgsNiArMjA5LDIwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25E
ZWZpbml0aW9uJiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CisKKyAgICB7CisgICAgICAgIEhvaXN0
ZWRWYXJpYWJsZUNvbGxlY3RvciBjb2xsZWN0b3IoKnRoaXMpOworICAgICAgICBjb2xsZWN0b3Iu
VmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsKKyAgICAgICAgbV9ob2lzdGVkVmFy
aWFibGVzID0gV1RGTW92ZShjb2xsZWN0b3IudG9Ib2lzdCk7CisgICAgfQorCisgICAgYXV0byBk
ZWZpbmVIb2lzdGVkVmFyaWFibGVzID0gWyZdIHsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2
ZWN0b3IgOiBtX2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAo
YXV0byB2YXJpYWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4i
KTsKKyAgICAgICAgfQorICAgIH07CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1h
cHBpbmcuZmluZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0g
bV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50
cnlQb2ludFR5cGUoKSkgewpAQCAtMjM4LDggKzI0MywxMCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0s
IG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5
KTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygp
OworCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJs
b2NrKCkpOwotICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG5cbiIpOwogCkBAIC0yNDgsMTcg
KzI1NSwyMiBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24u
cGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIg
PSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkp
CiAgICAgICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKICAgICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRk
KCZwYXJhbWV0ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5
cGUoKSksICcgJywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
e1xuIik7CisKKyAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygpOworCiAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgIEFT
U0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
In1cbiIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwogICAgIH0KIH0K
QEAgLTMwOSw4ICszMjEsOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1
bEV4cHJlc3Npb25TdGF0ZW1lbnQmIGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQpCiB7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7CiAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQuZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsK
LSAgICB0YWtlTGFzdFZhbHVlKCk7IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3Rm
dWwsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgorICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM0MywxMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25k
aXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29u
ZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VM
YXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVh
aztcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgImRvIHtcbiIpOwpAQCAtMzUwLDE3ICszNjUsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7
XG4iKTsKIAogICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3Jl
bWVudCk7Ci0gICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBt
X3N0YWNrLiBXZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVt
ZW50LCBzbyB3ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFs
dWUoKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlv
bkxvY2F0aW9uOjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlm
ICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNz
aW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIs
CisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0zOTAsMTIgKzQwNiwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUCiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVt
ZW50JiBpZlN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAiaWYgKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25h
bCgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VM
YXN0VmFsdWUoKSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4i
KTsKKwogICAgIHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQor
CiAgICAgaWYgKGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5
ICs0MjIsMzQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAg
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAg
ICAgICAgfQogICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9
XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0
dXJuJiByZXR1cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgp
KSB7CisgICAgICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsgCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5n
KSB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1f
c3RyaW5nQnVpbGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsK
KyAgICAgICAgICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1
aWxkZXIsIHRlbXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVO
YW1lLCAiO1xuIik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVt
cFJldHVybk5hbWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkK
IHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9y
IChhdXRvJiBzd2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00
NTQsNTkgKzQ3OCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRl
cmFsJiBpbnRlZ2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRl
TmV4dFZhcmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBp
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50
ZWdlckxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1
ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAg
IGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0
byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0
YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0
aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
dmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFt
ZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRU
eXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBl
TmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5h
bWUsICI+KCIsIGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWUoZmxvYXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOwotfQotCi12b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCi17Ci0g
ICAgYXV0byYgdW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2Rl
KCk7Ci0gICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpOwotICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwotCi0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobnVsbExpdGVyYWwucmVzb2x2
ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwotICAgIGlmIChpc0FycmF5UmVm
ZXJlbmNlVHlwZSkKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgieyBudWxscHRyLCAw
IH07XG4iKTsKLSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIm51bGxw
dHI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKG51bGxMaXRlcmFsLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBl
TmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0
ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKGJvb2xlYW5MaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAi
ID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52
YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVl
KGJvb2xlYW5MaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwu
dmFsdWUoKSA/ICJ0cnVlIiA6ICJmYWxzZSIsICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVy
YWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWwuZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwotICAgIGF1dG8gdmFyaWFibGVOYW1l
ID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUg
PSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
LnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBt
YW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbWFuZ2xlZFR5cGVOYW1l
LCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSksICI7XG4iKTsKLSAgICBh
cHBlbmRSaWdodFZhbHVlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsLmVudW1lcmF0aW9uTWVtYmVyKCkpKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXI6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKQEAgLTUxNCw1MCAr
NTEzLDk0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBW
aXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAv
LyBUaGlzIHNob3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGgg
QVNTRVJUX05PVF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRS
aWdodFZhbHVlKGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0K
LQogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewotICAgIGF1dG8gdmFsdWVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgTWFuZ2xlZFR5cGVOYW1lIG1h
bmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShnbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQo
Z2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1l
IHN0cnVjdFZhcmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAgICAgTWFuZ2xlZFN0cnVjdHVy
ZUVsZW1lbnROYW1lIG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clN0cnVjdHVyZUVsZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uuc3RydWN0RmllbGQoKSk7
CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiktPiIsIG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0gICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YWx1ZU5h
bWUsICIgPSAiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIp
Owordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lv
biYgZG90RXhwcmVzc2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNl
KCkucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xv
YmFsVmFyaWFibGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmds
ZWRGaWVsZE5hbWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICAgICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAi
LCBwb2ludGVyTmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxk
TmFtZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9
KTsKKyAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAg
ICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZp
bml0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVy
ZURlZmluaXRpb24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsK
KworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikuIiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN0cmlu
ZyBlbGVtZW50TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCk7CisgICAgICAgIGlmIChl
bGVtZW50TmFtZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5
cGUpIHx8IGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVj
bGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0
eXBlKS5pc1ZlY3RvcigpKSkpIHsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJl
bmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmxlbmd0
aCIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsK
KyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih0eXBlKS5udW1FbGVtZW50cygpLCAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7
CisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOwor
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7Cisg
ICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRf
Tk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoaW5kZXhFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19CisgICAg
Ly8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGluZGV4IGFuZCBiYXNlIHR3aWNl
IGRvZXNuJ3QgZXhlY3V0ZSBlZmZlY3RzIHR3aWNlOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNTEKKworICAgIGF1dG8mIHR5cGUgPSBpbmRleEV4
cHJlc3Npb24uYmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxB
U1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9u
LmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsoIik7
CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNz
aW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDwgKCIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikubGVuZ3RoID8gIik7CisgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIgOiAwXSIpOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJh
eVR5cGU+KHR5cGUpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmRhdGEoKVsoIik7CisgICAgICAgIGNoZWNrRXJy
b3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDwgIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5
cGUpLm51bUVsZW1lbnRzKCksICIgPyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlu
ZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiA6IDBdIik7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgdW5zaWduZWQgc2l6ZTsK
KyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkKKyAgICAgICAgICAgIHNpemUgPSBu
YXRpdmVUeXBlLm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICBlbHNlIGlmIChuYXRp
dmVUeXBlLmlzVmVjdG9yKCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZlVHlwZS52ZWN0b3JT
aXplKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8v
IFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBB
U1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJp
Z2h0VmFsdWUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4
RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiA8ICIsIHNpemUsICIpID8gKCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
aW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgiKSA6IDBdIik7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7IAogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uKQpAQCAtNTY4
LDE4MSArNjExLDE5NSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAg
ICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
MCBJbXBsZW1lbnQgcXVhbGlmaWVycy4KICAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbi5pbml0
aWFsaXplcigpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1f
dHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkp
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
KnZhcmlhYmxlRGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIoKSk7Ci0gICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFy
aWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHRha2VM
YXN0VmFsdWUoKSwgIjtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4i
KTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
bV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUo
KSksICcgJywgdmFyaWFibGVOYW1lLCAiID0geyB9O1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJiBhc3NpZ25t
ZW50RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0
byBbcG9pbnRlck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiA9ICgiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Npb24ucmln
aHQoKSk7Ci0gICAgYXV0byBbcmlnaHROYW1lLCByaWdodE51bGxhYmlsaXR5XSA9IHRha2VMYXN0
VmFsdWVBbmROdWxsYWJpbGl0eSgpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmls
aXR5OjpDYW5CZU51bGwpCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBtX2luZGVudCwgImlmICgiLCBwb2ludGVyTmFtZSwgIilcbiIsCi0gICAgICAgICAgICBt
X2luZGVudCwgIiAgICAqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsK
LSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICIqIiwg
cG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlV2l0aE51bGxhYmlsaXR5KGFzc2lnbm1lbnRFeHByZXNzaW9uLCByaWdodE5hbWUsIHJpZ2h0
TnVsbGFiaWxpdHkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNh
bGxFeHByZXNzaW9uKQogeworICAgIGF1dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5k
KCZjYWxsRXhwcmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRW
YXJpYWJsZXMuZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAg
IFJFTEVBU0VfQVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA8PSB2YXJp
YWJsZXMuc2l6ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnRO
YW1lczsKLSAgICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRz
KCkpIHsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJn
dW1lbnROYW1lcy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlz
Vm9pZCA9IG1hdGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2lj
cy52b2lkVHlwZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAg
aWYgKCFpc1ZvaWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAn
ICcsIHJldHVybk5hbWUsICI7XG4iKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5h
bWU7CisgICAgaWYgKCFtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBtX2lu
dHJpbnNpY3Mudm9pZFR5cGUoKSkpCisgICAgICAgIHJlc3VsdE5hbWUgPSB2YXJpYWJsZXMubGFz
dCgpLm5hbWU7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkg
eworICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwg
Iik7CisgICAgICAgIGFyZ3VtZW50TmFtZXMuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSwgIiA9ICIpOwor
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKClbaV0p
OwogICAgIH0KIAotICAgIGlmIChpczxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNh
bGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lID0gW3RoaXNdKCkgLT4gTWFuZ2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy0+Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07Cisg
ICAgaWYgKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSkKKyAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKIAotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCdcbicpOwotICAgICAgICBpbmxpbmVOYXRpdmVGdW5jdGlvbihtX3N0cmluZ0J1aWxkZXIsIGRv
d25jYXN0PEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVu
Y3Rpb24oKSksIHJldHVybk5hbWUsIGFyZ3VtZW50TmFtZXMsIG1faW50cmluc2ljcywgbV90eXBl
TmFtZXIsIFdURk1vdmUoZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKSwgbV9pbmRlbnQpOwotICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOworICAgIGlmIChpczxBU1Q6Ok5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7CisgICAg
ICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgYXJn
dW1lbnROYW1lcywgcmVzdWx0TmFtZSwgbV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgbV9pbmRl
bnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQpOwotCiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZj
YWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKTsKICAgICAgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1f
ZnVuY3Rpb25NYXBwaW5nLmVuZCgpKTsKLSAgICAgICAgaWYgKCFpc1ZvaWQpCi0gICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHJldHVybk5hbWUsICIgPSAiKTsKICAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChpdGVyYXRvci0+dmFsdWUsICcoJyk7Ci0gICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnROYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsg
KytpKSB7CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIpOwotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChhcmd1
bWVudE5hbWVzW2ldKTsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQodmFyaWFi
bGVzW2ldLm5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0KIAot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoY2FsbEV4cHJlc3Npb24sIHJldHVybk5hbWUpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6Q29tbWFFeHByZXNzaW9uJiBjb21tYUV4cHJlc3Npb24pCiB7Ci0g
ICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gcmVzdWx0OworICAgIGlmICghY29tbWFF
eHByZXNzaW9uLmxpc3QoKS5zaXplKCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbXB0eSBjb21t
YSEiKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wg
cmFuT25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVz
c2lvbi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFz
dFZhbHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUoY29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRl
cmVmZXJlbmNlRXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFi
aWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRW
YWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVz
b2x2ZWRUeXBlKCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5C
ZU51bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1f
aW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRl
ciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIp
OwotICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBy
ZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExl
ZnRWYWx1ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIs
IG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9u
JiBsb2dpY2FsRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIp
OwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAg
IGF1dG8gbGVmdCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9n
aWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUo
KTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
bG9naWNhbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
ICIsIGxlZnQpOwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAg
Y2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAg
ICAgICAgQVNTRVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHBy
ZXNzaW9uOjpUeXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBl
OjpPcjoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0
KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Okxv
Z2ljYWxOb3RFeHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90
RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUo
KTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwot
Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUo
KSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBl
bmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVl
ZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxh
c3QgbGVmdFZhbHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBl
KCkpOwogICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHBy
ZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZh
bHVlID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUs
ICIgPSAiLCBwdHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUs
ICIsIDEgfSA6ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZh
bHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0g
ZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24u
bGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFr
ZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNh
c3Q8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5k
ZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUs
ICItPmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5
VHlwZS5udW1FbGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxW
YWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIg
PSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobWFuZ2xlZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9u
JiBtYWtlUG9pbnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
JigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRW
YWx1ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRW
YWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1l
KCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcg
JywgdmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0
VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUs
IG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4
cHJlc3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMg
c2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAvKgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24g
dGhlIHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVF
eHByZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAg
ICAgKiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZh
bHVhdGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0Cisg
ICAgICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1v
ZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxl
cy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFT
RV9BU1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJp
YWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92
YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVW
YXJpYWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3
VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIg
PSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgp
KTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwg
IiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVF
eHByZXNzaW9uKCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5n
IGxlZnQgdmFsdWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2Rp
ZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwg
bmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1v
ZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpU
ZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lv
bi5wcmVkaWNhdGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0
ZXJuYXJ5RXhwcmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtl
TGFzdFZhbHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBj
aGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0g
ICAgYXV0byBlbHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHBy
ZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywg
IiA/ICIsIGJvZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFs
dWUodGVybmFyeUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQo
QVNUOjpWYXJpYWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgw
OSw3IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NF
UlQoaXRlcmF0b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZh
cmlhYmxlTmFtZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRM
ZWZ0VmFsdWUodmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0
eTo6Tm90TnVsbCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVO
YW1lXSB7Ci0gICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFi
bGVOYW1lKCk7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAi
dGhyZWFkICIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5j
ZS5yZXNvbHZlZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFt
ZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6
Q29uc3RhbnRFeHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODI0LDYg
QEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0o
QVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAg
IFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgibnVsbHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0
ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52
YWx1ZSgpKQogICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0
YWxDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzksOSBA
QCBuYW1lc3BhY2UgV0hMU0wgewogCiBuYW1lc3BhY2UgTWV0YWwgewogCi1zdGF0aWMgY29uc3Rl
eHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IGZhbHNlOworc3RhdGljIGNvbnN0ZXhwciBib29sIGR1
bXBNZXRhbENvZGUgPSB0cnVlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2co
KQorc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBT
dHJpbmdWaWV3IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3
ICs1MywxNzEgQEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAg
IlxuIgogICAgICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisi
dGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBDb2xzLCBpbnQgUm93cz5cbiIKKyJzdHJ1Y3QgV1NM
TWF0cml4XG4iCisie1xuIgorIiAgICB2ZWM8VCwgUm93cz4gY29sdW1uc1tDb2xzXTtcbiIKKyIg
ICAgcHJpdmF0ZTpcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgor
IiAgICBzdGF0aWMgdmVjPFQsIFJvd3M+IGJ1aWxkX2NvbChpbml0aWFsaXplcl9saXN0PFU+IGNv
bCwgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSLi4uPilcbiIKKyIgICAge1xuIgorIiAgICAgICAg
cmV0dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtc
biIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIFI+XG4iCisiICAgIHN0YXRpYyB2
ZWM8VCwgUm93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGluaXRpYWxpemVyX2xpc3Q8VD4gZWxl
bXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4iCisiICAgIHtcbiIKKyIgICAgICAg
IHJldHVybiB7KihlbGVtcy5iZWdpbigpICsgYyAqIFJvd3MgKyBSKS4uLn07XG4iCisiICAgIH1c
biIKKyIgICAgc3RydWN0IGNvbHNfaW5pdF90YWcgeyB9O1xuIgorIiAgICBzdHJ1Y3QgY29sc19h
bGxfdGFnIHsgfTtcbiIKKyIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9O1xuIgorIiAgICB0
ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29s
c19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2Vy
X3NlcXVlbmNlPGludCwgQy4uLj4pIHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyhDIDwg
Y29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMp
IHRocmVhZFxuIgorIiAgICAgICAgOiBjb2x1bW5zeyBjb2xzLi4uIH1cbiIKKyIgICAge1xuIgor
IiAgICB9XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgor
IiAgICAgICAgOiBXU0xNYXRyaXgoe1QoZWxlbXMpLi4ufSwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgICAgICB7XG4iCisiICAgICAgICB9XG4iCisiICAgIHRl
bXBsYXRlIDxpbnQuLi4gQz5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0
aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJl
YWRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2Vf
aW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1c
biIKKyIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xz
LCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBj
b2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJv
d3M+KCkpLi4ufVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lLi4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFn
LCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IGNvbHVtbnN7IGNvbHMuLi4gfVxu
IgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoZWxlbXNfYWxsX3RhZywgVS4uLiBlbGVt
cykgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtl
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICAgICAge1xuIgorIiAgICAg
ICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisiICAgIGlubGluZSBleHBsaWNp
dCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8
aW50LCBDLi4uPikgY29uc3RhbnRcbiIKKyIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2Nv
bChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgor
IiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgcHVibGljOlxuIgorIiAgICBpbmxpbmUgV1NMTWF0
cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChpbml0aWFs
aXplcl9saXN0PHZlYzxULCBSb3dzPj4gY29scykgdGhyZWFkXG4iCisiICAgICAgICA6IFdTTE1h
dHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBD
b2xzPigpKVxuIgorIiAgICB7XG4iCisiICAgIH1cbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1l
Li4uIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJl
YWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KGNvbmRpdGlvbmFsX3Q8c2l6ZW9mLi4uKFUpID09
IENvbHMsIGNvbHNfYWxsX3RhZywgZWxlbXNfYWxsX3RhZz4oKSwgdmFscy4uLilcbiIKKyIgICAg
e1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoKSBjb25zdGFudCA9IGRlZmF1
bHQ7XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93
cz4+IGNvbHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFn
KCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7
XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCkgY29u
c3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHZhbCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUuLi4gVT5cbiIKKyIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChVLi4uIHZh
bHMpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNpemVv
Zi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMuLi4p
XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4i
CisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NM
TWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVh
ZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0
cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9
IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4g
JnRoYXQpIHRocmVhZFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBp
bmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4i
CisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29uc3RhbnQgV1NMTWF0cml4
PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRo
YXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisi
ICAgIH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisiICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBVPlxuIgorIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0
IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4iCisi
ICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29s
cz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBXU0xNYXRyaXgoY29u
c3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZh
dWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0
KSBjb25zdGFudFxuIgorIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9z
ZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQp
IGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgZGV2aWNlIFdTTE1hdHJpeDxVLCBD
b2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyIgICAgICAgIDogV1NMTWF0cml4KHRoYXQs
IF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorIiAgICB7XG4iCisiICAg
IH1cbiIKKyIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwg
Q29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyIgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFU+XG4iCisiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgY29u
c3RhbnQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgorIiAgICAg
ICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkp
XG4iCisiICAgIHtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRo
cmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZh
dWx0O1xuIgorIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4g
JnRoYXQpIGNvbnN0YW50XG4iCisiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRl
Z2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyIgICAge1xuIgorIiAgICB9XG4iCisiICAg
IHB1YmxpYzpcbiIKKyIgICAgaW5saW5lIHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIHRocmVhZFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtc
biIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgZGV2aWNlIHZlYzxULCBSb3dzPiAmb3BlcmF0b3Jb
XShpbnQgcikgZGV2aWNlXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVybiBjb2x1bW5zW3Jd
O1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9w
ZXJhdG9yW10oaW50IHIpIHRocmVhZGdyb3VwXG4iCisiICAgIHtcbiIKKyIgICAgICAgIHJldHVy
biBjb2x1bW5zW3JdO1xuIgorIiAgICB9XG4iCisiICAgIGlubGluZSBjb25zdCB0aHJlYWQgdmVj
PFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRcbiIKKyIgICAge1xuIgor
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisiICAgIH1cbiIKKyIgICAgaW5saW5lIGNv
bnN0IGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IGRldmljZVxu
IgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgor
IiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCBy
KSBjb25zdCBjb25zdGFudFxuIgorIiAgICB7XG4iCisiICAgICAgICByZXR1cm4gY29sdW1uc1ty
XTtcbiIKKyIgICAgfVxuIgorIiAgICBpbmxpbmUgY29uc3QgdGhyZWFkZ3JvdXAgdmVjPFQsIFJv
d3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCB0aHJlYWRncm91cFxuIgorIiAgICB7XG4iCisi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyIgICAgfVxuIgorIn07XG4iCisKKwogICAg
IH07CisKIH0KIAogc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZ0J1aWxk
ZXImIHN0cmluZ0J1aWxkZXIpCkBAIC02Nyw3ICsyMzEsNyBAQCBzdGF0aWMgdm9pZCBkdW1wTWV0
YWxDb2RlSWZOZWVkZWQoU3RyaW5nCiBSZW5kZXJNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUo
UHJvZ3JhbSYgcHJvZ3JhbSwgTWF0Y2hlZFJlbmRlclNlbWFudGljcyYmIG1hdGNoZWRTZW1hbnRp
Y3MsIExheW91dCYgbGF5b3V0KQogewogICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsK
LSAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2coKSk7CisgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9ndWUoKSk7CiAKICAgICBUeXBlTmFtZXIgdHlw
ZU5hbWVyKHByb2dyYW0pOwogICAgIHR5cGVOYW1lci5lbWl0TWV0YWxUeXBlcyhzdHJpbmdCdWls
ZGVyKTsKQEAgLTgyLDcgKzI0Niw3IEBAIFJlbmRlck1ldGFsQ29kZSBnZW5lcmF0ZU1ldGFsQ29k
ZShQcm9ncmEKIENvbXB1dGVNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhbSYgcHJv
Z3JhbSwgTWF0Y2hlZENvbXB1dGVTZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQm
IGxheW91dCkKIHsKICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1ldGFsQ29kZVByb2xvZ3VlKCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9n
cmFtKTsKICAgICB0eXBlTmFtZXIuZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcg
QEAgc3RhdGljIGludCB2ZWN0b3JMZW5ndGgoQVNUOjpOYXRpdmVUeXBlRAogICAgIHJldHVybiB2
ZWN0b3JMZW5ndGg7CiB9CiAKKy8qCiBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVy
VHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZlVHlwZURlY2xhcmF0aW9uKQog
ewogICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpLmlzRW1wdHko
KSkKQEAgLTEwNCw2ICsxMDUsNyBAQCBzdGF0aWMgQVNUOjpOYW1lZFR5cGUmIHZlY3RvcklubmVy
VHlwZShBCiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJl
ZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKICAg
ICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKIH0KKyovCiAKIHN0
YXRpYyBjb25zdCBjaGFyKiB2ZWN0b3JTdWZmaXgoaW50IHZlY3Rvckxlbmd0aCkKIHsKQEAgLTEy
MCw3ICsxMjIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVjdG9yU3VmZml4KGludCB2ZWN0CiAg
ICAgfQogfQogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImIHN0cmlu
Z0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSByZXR1cm5OYW1lLCBjb25zdCBWZWN0b3I8
TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVO
YW1lciYgdHlwZU5hbWVyLCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4mJiBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUsIEluZGVudGF0aW9uPDQ+IGluZGVudCkKK3ZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgQVNUOjpOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uJiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLCBjb25zdCBW
ZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3MsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVz
dWx0TmFtZSwgSW50cmluc2ljcyYgLyppbnRyaW5zaWNzKi8sIFR5cGVOYW1lciYgdHlwZU5hbWVy
LCBJbmRlbnRhdGlvbjw0PikKIHsKICAgICBhdXRvIGFzTWF0cml4VHlwZSA9IFsmXSAoQVNUOjpV
bm5hbWVkVHlwZSYgdW5uYW1lZFR5cGUpIC0+IEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uKiB7
CiAgICAgICAgIGF1dG8mIHJlYWxUeXBlID0gdW5uYW1lZFR5cGUudW5pZnlOb2RlKCk7CkBAIC0x
MzksMzMzICsxNDEsNzcgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVy
JgogICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKHJldHVyblR5cGUpOwogCiAgICAgICAgIGlmICghbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKSB7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSB7IH07XG4iKTsKKyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUsICIgeyB9Iik7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpIHsKICAgICAgICAgICAgIGF1dG8mIHBh
cmFtZXRlclR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0t
PnR5cGUoKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUocGFyYW1ldGVyVHlwZSk7CisgICAgICAgICAgICAvL2F1
dG8gbWV0YWxQYXJhbWV0ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
cGFyYW1ldGVyVHlwZSk7CiAKICAgICAgICAgICAgIGF1dG8gaXNFbnVtZXJhdGlvbkRlZmluaXRp
b24gPSBbXSAoYXV0byYgdHlwZSkgewogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6Ok5h
bWVkVHlwZT4odHlwZSkgJiYgaXM8QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0
PEFTVDo6TmFtZWRUeXBlPih0eXBlKSk7CiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgYXV0
byYgdW5pZmllZFJldHVyblR5cGUgPSByZXR1cm5UeXBlLnVuaWZ5Tm9kZSgpOwogICAgICAgICAg
ICAgaWYgKGlzRW51bWVyYXRpb25EZWZpbml0aW9uKHVuaWZpZWRSZXR1cm5UeXBlKSAmJiAhaXNF
bnVtZXJhdGlvbkRlZmluaXRpb24ocGFyYW1ldGVyVHlwZS51bmlmeU5vZGUoKSkpIHsKLSAgICAg
ICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0YWxQYXJh
bWV0ZXJUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xuIik7
CiAgICAgICAgICAgICAgICAgYXV0byYgZW51bWVyYXRpb25EZWZpbml0aW9uID0gZG93bmNhc3Q8
QVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlm
aWVkUmV0dXJuVHlwZSkpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgInN3aXRjaCAoIiwgdmFyaWFibGVOYW1lLCAiKSB7XG4iKTsKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUoaW5k
ZW50KTsKLSAgICAgICAgICAgICAgICAgICAgYm9vbCBoYXNaZXJvQ2FzZSA9IGZhbHNlOwotICAg
ICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIG1lbWJlciA6IGVudW1lcmF0aW9uRGVmaW5pdGlv
bi5lbnVtZXJhdGlvbk1lbWJlcnMoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaGFzWmVy
b0Nhc2UgfD0gIW1lbWJlci5nZXQoKS52YWx1ZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiY2FzZSAiLCBtZW1iZXIuZ2V0KCkudmFsdWUoKSwgIjpcbiIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChoYXNaZXJvQ2FzZSwgaGFzWmVy
b0Nhc2UpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgImRlZmF1bHQ6XG4iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgICIsIHZhcmlhYmxlTmFtZSwgIiA9IDA7XG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigoIik7CisgICAg
ICAgICAgICAgICAgYm9vbCBsb29wZWRPbmNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYm9v
bCBoYXNaZXJvQ2FzZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbWVtYmVy
IDogZW51bWVyYXRpb25EZWZpbml0aW9uLmVudW1lcmF0aW9uTWVtYmVycygpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChsb29wZWRPbmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiB8fCAiKTsKKyAgICAgICAgICAgICAgICAgICAgaGFzWmVyb0Nh
c2UgfD0gIW1lbWJlci5nZXQoKS52YWx1ZSgpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChhcmdzWzBdLCAiID09ICIsIG1lbWJlci5nZXQoKS52YWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgbG9vcGVkT25jZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9IHN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIHZhcmlhYmxlTmFt
ZSwgIik7XG4iKTsKKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9DYXNlLCBo
YXNaZXJvQ2FzZSk7CisKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA/
ICIsIGFyZ3NbMF0sICIgOiAwKSIpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gc3RhdGljX2Nh
c3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIik7XG4iKTsKKyAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1
cm5UeXBlTmFtZSwgIj4oIiwgYXJnc1swXSwgIikiKTsKIAogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBhc01hdHJpeFR5cGUo
cmV0dXJuVHlwZSkpIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bVJvd3MgPSBtYXRyaXhUeXBl
LT5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUNvbHVtbnMg
PSBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSBudW1Sb3dzIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSBudW1Sb3dzICogbnVtQ29sdW1ucyk7Ci0KLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVO
YW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGluZGVudCwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5h
bWUsICI7XG4iKTsKLQotICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBhYmlkZSBieSB0aGUgbWVt
b3J5IGxheW91dCB3ZSB1c2UgZm9yIG1hdHJpY2VzIGhlcmUuCi0gICAgICAgICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IG51bVJvd3MpIHsK
LSAgICAgICAgICAgICAgICAvLyBvcGVyYXRvciBtYXRyaXhNeE4gKHZlY3Rvck4sIC4uLiwgdmVj
dG9yTikKLSAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtUm93czsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBudW1D
b2x1bW5zOyArK2opCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHZhcmlhYmxlTmFtZSwgIlsiLCBqICogbnVtUm93cyArIGksICJdID0gIiwgYXJn
c1tpXSwgIlsiLCBqLCAiXTtcbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gb3BlcmF0b3IgbWF0cml4TXhOIChzY2FsYXIsIC4u
Liwgc2NhbGFyKQotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKLSAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtUm93czsgKytpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBudW1Db2x1bW5zOyArK2opIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgdmFy
aWFibGVOYW1lLCAnWycsIGogKiBudW1Sb3dzICsgaSwgIl0gPSAiLCBhcmdzW2luZGV4XSwgIjtc
biIpOwotICAgICAgICAgICAgICAgICAgICAgICAgKytpbmRleDsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KG1ldGFsUmV0dXJuVHlwZU5hbWUsICcoJyk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGFyZ3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CiAgICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIHZh
cmlhYmxlTmFtZSwgIjtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJykn
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuVHlwZU5hbWUs
ICIoIik7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsUmV0dXJuVHlwZU5hbWUs
ICcoJyk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaWYgKGkg
PiAwKQorICAgICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIik7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzW2ldKTsK
ICAgICAgICAgfQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTgwNzcgQXV0aG9ycyBjYW4gbWFrZSBhIHN0cnVjdCBmaWVsZCBu
YW1lZCAibGVuZ3RoIiB0b28uIEF1dG9nZW5lcmF0ZWQgZ2V0dGVycyBmb3IgdGhvc2Ugc2hvdWxk
bid0IHRha2UgdGhpcyBjb2RlcGF0aC4KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxlbmd0aCIpIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChp
bnRyaW5zaWNzLCBtYXRjaGVzKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpLCBpbnRy
aW5zaWNzLnVpbnRUeXBlKCkpKTsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byYgcGFyYW1ldGVy
VHlwZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkt
PnVuaWZ5Tm9kZSgpOwotICAgICAgICBhdXRvJiB1bm5hbWVkUGFyYW1ldGVyVHlwZSA9IGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHBhcmFtZXRlclR5cGUpOwotICAgICAgICBpZiAoaXM8QVNU
OjpBcnJheVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJUeXBlKSkgewotICAgICAgICAgICAgYXV0byYg
YXJyYXlQYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRQYXJh
bWV0ZXJUeXBlKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFycmF5UGFyYW1ldGVyVHlwZS5udW1F
bGVtZW50cygpLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRQYXJhbWV0ZXJU
eXBlKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5sZW5ndGg7XG4iKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5z
dGFydHNXaXRoKCJvcGVyYXRvci4iX3N0cikpIHsKLSAgICAgICAgYXV0byBhcHBlbmRNYW5nbGVk
RmllbGROYW1lID0gWyZdIChjb25zdCBTdHJpbmcmIGZpZWxkTmFtZSkgewotICAgICAgICAgICAg
YXV0byYgdW5pZnlOb2RlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxB
U1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAgICAgICAgICAgICBh
dXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0
aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgICAgIGF1dG8qIHN0cnVjdHVyZUVsZW1lbnQg
PSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAgICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgqc3RydWN0dXJl
RWxlbWVudCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIEFTU0VSVChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKSk7
Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChmaWVsZE5hbWUpOwotICAgICAgICB9
OwotCi0gICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5lbmRzV2l0
aCgiPSIpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yLiJfc3Ry
Lmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZS5zdWJzdHJpbmco
MCwgZmllbGROYW1lLmxlbmd0aCgpIC0gMSk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICI7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgJy4nKTsKLSAg
ICAgICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgPSAiLCBhcmdzWzFdLCAiO1xuIik7Ci0KLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGRO
YW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRv
ci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJy4nKTsKLSAgICAgICAg
YXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3ImLiJfc3RyKSkg
ewotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3ImLiJfc3RyLmxlbmd0aCgpKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIgPyAmKCIsIGFyZ3NbMF0sICItPiIpOwotCi0gICAgICAg
IGF1dG8mIHVubmFtZWRUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IGRvd25jYXN0PEFTVDo6
UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKS5lbGVtZW50VHlwZSgpLnVuaWZ5Tm9kZSgpOwotICAg
ICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2Rl
KTsKLSAgICAgICAgaWYgKGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkg
ewotICAgICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6
U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAgICAgIGF1dG8qIHN0cnVj
dHVyZUVsZW1lbnQgPSBzdHJ1Y3R1cmVEZWZpbml0aW9uLmZpbmQoZmllbGROYW1lKTsKLSAgICAg
ICAgICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVj
dHVyZUVsZW1lbnQpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChmaWVsZE5hbWUpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDog
bnVsbHB0cjtcbiIpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltdIikgewotICAgICAgICBB
U1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIp
OwotICAgICAgICBBU1NFUlQoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KCpuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7Ci0KLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAo
IiwgYXJnc1sxXSwgIiA8ICIsIGFyZ3NbMF0sICIubGVuZ3RoKSA/ICIsICIgJigiLCBhcmdzWzBd
LCAiLnBvaW50ZXJbIiwgYXJnc1sxXSwgIl0pIDogbnVsbHB0cjtcbiIpOwotICAgICAgICAgICAg
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIHZlY3RvclNpemUgPSBbJl0gKCkg
LT4gdW5zaWduZWQgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNU
OjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHZlY3RvclR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2Fz
dDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBl
KCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUubmFtZSgpID09
ICJ2ZWN0b3IiKTsKLSAgICAgICAgQVNTRVJUKHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpLnNp
emUoKSA9PSAyKTsKLSAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPih2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1
ZSgpOwotICAgIH07Ci0KLSAgICBhdXRvIGdldE1hdHJpeFR5cGUgPSBbJl0gKCkgLT4gQVNUOjpO
YXRpdmVUeXBlRGVjbGFyYXRpb24mIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRv
d25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBhdXRvJiByZXN1bHQgPSBkb3duY2FzdDxB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihk
b3duY2FzdDxBU1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgp
KS50eXBlKCkpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgQVNTRVJUKHJlc3VsdC5pc01hdHJp
eCgpKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotCi0gICAgaWYgKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltdIikgewotICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
PigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0g
ICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVB
cmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
KTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgp
Lm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1
bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Q29sdW1ucygpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgcmVzdWx0O1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIgPj0gIiwgbnVtYmVyT2ZS
b3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJu
TmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
In1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJlc3VsdFswXSA9ICIsIGFyZ3Nb
MF0sICdbJywgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJy
ZXN1bHRbMV0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3Ms
ICJdO1xuIik7Ci0KLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCi0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFsy
XSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDIsICJd
O1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSA0KQotICAgICAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbM10gPSAi
LCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXTtcbiIp
OwotICAgIAotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIn0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOwotICAgICAg
ICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAgICAgICAgICAg
IGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
bk5hbWUsICIgcmVzdWx0O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIs
IGFyZ3NbMV0sICIgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAi
KDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAicmVzdWx0ID0gIiwgYXJnc1swXSwgIlsiLCBhcmdzWzFdLCAiXTtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHJlc3VsdDtcbiIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGls
ZSAoMCk7XG4iKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW109Iikgewot
ICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNl
PigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0g
ICAgICAgIHNpemVfdCBudW1UeXBlQXJndW1lbnRzID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSkudHlwZUFyZ3VtZW50cygpLnNpemUoKTsKLSAgICAgICAgaWYgKG51bVR5cGVB
cmd1bWVudHMgPT0gMykgewotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQ
YXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0
byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtYmVy
T2ZSb3dzID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAg
ICAgdW5zaWduZWQgbnVtYmVyT2ZDb2x1bW5zID0gZ2V0TWF0cml4VHlwZSgpLm51bWJlck9mTWF0
cml4Q29sdW1ucygpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNj
b3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgbSA9ICIs
IGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1l
dGVyMk5hbWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoaSA+PSAiLCBudW1iZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gbTtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1baV0gPSAiLCBhcmdz
WzJdLCAiWzBdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtpICsgIiwgbnVt
YmVyT2ZSb3dzLCAiXSA9ICIsIGFyZ3NbMl0sICJbMV07XG4iKTsKLSAgICAgICAgICAgICAgICBp
ZiAobnVtYmVyT2ZDb2x1bW5zID49IDMpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDIsICJdID0gIiwgYXJn
c1syXSwgIlsyXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0g
NCkKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtp
ICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl0gPSAiLCBhcmdzWzJdLCAiWzNdO1xuIik7Ci0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
bTtcbiIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChudW1UeXBlQXJndW1lbnRzID09IDIpOwotCi0g
ICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IDMpOwotICAgICAgICAgICAgYXV0byBtZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUo
KTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShp
bmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHYgPSAiLCBhcmdzWzBdLCAi
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1lLCAi
IGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYg
KGkgPj0gIiwgbnVtRWxlbWVudHMsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gdjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInZbaV0gPSAiLCBhcmdzWzJdLCAiO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gdjtcbiIpOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3
aGlsZSgwKTtcbiIpOwotICAgICAgICB9Ci0KKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
JyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLmlzT3BlcmF0b3IoKSkgewogICAgICAgICBhdXRvIG9wZXJhdG9yTmFtZSA9IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IiX3N0ci5s
ZW5ndGgoKSk7Ci0gICAgICAgIGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7CisKICAgICAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAx
KSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzIG9rIHRvIGRvIHNpbmNlIHRoZSBhcmdzIHRvIHRo
aXMgZnVuY3Rpb24gYXJlIGFsbCB0ZW1wcy4KKyAgICAgICAgICAgIC8vIFNvIHRoaW5ncyBsaWtl
ICsrIGFuZCAtLSBhcmUgb2sgdG8gZG8uCisKICAgICAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhU
eXBlID0gYXNNYXRyaXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBh
cmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIG9wZXJhdG9yTmFtZSwgInhbaV07XG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgb3BlcmF0b3JOYW1lLCAi
eDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAg
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdHJpeFR5cGUtPm51bWJlck9m
TWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9
ICIsIG9wZXJhdG9yTmFtZSwgYXJnc1swXSwgJ1snLCBpLCAnXScpOwogICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAi
LCByZXN1bHROYW1lLCAnKScpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQob3BlcmF0b3JOYW1lLCBhcmdzWzBdKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCkBAIC00NzMsNDkgKzIxOSw0MCBAQCB2b2lkIGlubGluZU5h
dGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGlmIChhdXRvKiBsZWZ0TWF0cml4
ID0gYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRy
aXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgp
KSkgewogICAgICAgICAgICAgICAgIC8vIG1hdHJpeCA8b3A+IG1hdHJpeAotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwot
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytp
KVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJn
c1swXSwgIltpXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5z
KCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwg
J1snLCBpLCAiXSAiLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBpLCAnXScpOwog
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAi
LCByZXN1bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg
ICAvLyBtYXRyaXggPG9wPiBzY2FsYXIKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1l
dGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
ImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJbaV0gIiwgb3BlcmF0
b3JOYW1lLCAnICcsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlZnRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVz
dWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwgIl0gIiwgb3BlcmF0b3JO
YW1lLCAnICcsIGFyZ3NbMV0pOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1bHROYW1lLCAnKScpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKGF1dG8qIHJpZ2h0TWF0cml4ID0gYXNNYXRyaXhUeXBlKCpuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKSkgewogICAgICAg
ICAgICAgQVNTRVJUKCFhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpKTsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IG1hdHJp
eAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQp
OwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAnICcsIG9w
ZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByaWdo
dE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGks
ICJdID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJ1snLCBp
LCAnXScpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
aW5kZW50LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBy
ZXN1bHROYW1lLCAnKScpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gc2NhbGFy
IDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyB2ZWN0b3IgPG9wPiB2ZWN0b3IKICAgICAgICAg
ICAgIC8vIHZlY3RvciA8b3A+IHNjYWxhcgogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4gdmVj
dG9yCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAn
LCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAgICAgICAgJygnLCBhcmdzWzBdLCAnICcsIG9w
ZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnKScpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0
dXJuOwpAQCAtNTQ4LDM1ICsyODUsMzYgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJp
bmdCdWlsZGVyJgogICAgICAgICB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9
PSAibGVuZ3RoIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG1hcEZ1bmN0aW9uTmFtZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSksICcoJywgYXJnc1swXSwgIik7XG4iKTsK
KyAgICAgICAgICAgIG1hcEZ1bmN0aW9uTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSksICcoJywgYXJnc1swXSwgJyknKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAicG93IiB8fCBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiYXRhbjIiKSB7CiAgICAgICAgIEFTU0VSVChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gIiwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCksICIoIiwgYXJnc1swXSwg
IiwgIiwgYXJnc1sxXSwgIik7XG4iKTsKKyAgICAgICAgICAgIG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpLCAnKCcsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkgPT0gImNsYW1wIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICBpZiAoYXNNYXRyaXhUeXBlKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgewotICAgICAgICAgICAgYXV0byBtZXRh
bFJldHVyblR5cGUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJu
VHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKSBcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICB4W2ldID0gY2xhbXAoIiwgYXJnc1swXSwgIltpXSwgIiwgYXJnc1sxXSwgIltpXSwg
IiwgYXJnc1syXSwgIltpXSk7IiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0geDtcbiIpOworCisgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNNYXRy
aXhUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKSkgeworICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGJvb2wgcmFuT25jZSA9IGZh
bHNlOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdHJpeFR5cGUtPm51
bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGogPSAwOyBqIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhSb3dzKCk7ICsraikgewor
ICAgICAgICAgICAgICAgICAgICBpZiAocmFuT25jZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICByYW5PbmNl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXN1bHROYW1lLCAnWycsIGksICJdWyIsIGosICJdID0gY2xh
bXAoIiwgYXJnc1swXSwgJ1snLCBpLCAiXVsiLCBqLCAiXSwgIiwgYXJnc1sxXSwgJ1snLCBpLCAi
XVsiLCBqLCAiXSwgIiwgYXJnc1syXSwgJ1snLCBpLCAiXVsiLCBqLCAiXSkiKTsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIs
IHJlc3VsdE5hbWUsICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBj
bGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiKTtcbiIpOwor
ICAgICAgICAgICAgICAgICJjbGFtcCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCAiLCBh
cmdzWzJdLCAnKScpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC01ODQs
MjMgKzMyMiwyMyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJBbGxNZW1vcnlCYXJy
aWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjpt
ZW1fZGV2aWNlKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVy
KG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKTtcbiIsCi0gICAgICAgICAgICBpbmRlbnQsICJ0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RleHR1cmUpO1xuIik7CisgICAgICAg
ICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpIiwKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIs
CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJl
KSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsK
ICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVu
dCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKTtcbiIpOworICAg
ICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpID09ICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAg
ICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7
CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhy
ZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iKTsKKyAgICAg
ICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02MDgsMTUgKzM0NiwxNSBAQCB2b2lkIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGlmIChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UiKSB7
CiAgICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDQpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNp
dCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29y
ZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIsCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAiO1xuIik7CisgICAgICAgICAg
ICAgICAgIihhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCIsIGFyZ3NbMF0s
ICIsICYiLCBhcmdzWzFdLCAiLCAiLCBhcmdzWzJdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCwg
bWVtb3J5X29yZGVyX3JlbGF4ZWQpLCAiLAorICAgICAgICAgICAgICAgICcqJywgYXJnc1szXSwg
IiA9ICIsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAog
ICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpID09IDMpOwogICAgICAgICBhdXRvIG5hbWUgPSBhdG9taWNOYW1lKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygiSW50ZXJsb2NrZWQiX3N0ci5sZW5ndGgoKSkp
OwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgJyon
LCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwg
IiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAn
KicsIGFyZ3NbMl0sICIgPSBhdG9taWNfIiwgbmFtZSwgIl9leHBsaWNpdCgiLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtNjMwLDcgKzM2OCw3IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24o
U3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGggPSB2ZWN0b3JM
ZW5ndGgocmV0dXJuVHlwZSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLnNhbXBsZSgiLCBh
cmdzWzFdLCAiLCAiKTsKKyAgICAgICAgICAgIGFyZ3NbMF0sICIuc2FtcGxlKCIsIGFyZ3NbMV0s
ICIsICIpOwogCiAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7CiAg
ICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKQEAgLTY0Miw4MSAr
MzgwLDY2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikiKTsKICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5p
c0RlcHRoVGV4dHVyZSgpKQogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIi4iLCAi
eHl6dyJfc3RyLnN1YnN0cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkxvYWQiKSB7CiAgICAg
ICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkg
PT0gMik7Ci0gICAgICAgIAorCiAgICAgICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUo
KSkpOwogICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAg
IGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsK
ICAgICAgICAgYXV0byYgcmV0dXJuVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi50eXBlKCkudW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byByZXR1cm5WZWN0b3JMZW5ndGgg
PSB2ZWN0b3JMZW5ndGgocmV0dXJuVHlwZSk7CisgICAgICAgIGF1dG8gbG9jYXRpb25UeXBlTmFt
ZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9jYXRpb25UeXBlKTsKIAotICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0
dXJuVHlwZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50
KTsKLQotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAgICAg
ICAgICAgICBTdHJpbmcgZGltZW5zaW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3Ry
LCAiZGVwdGgiX3N0ciB9OwotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9j
YXRpb25WZWN0b3JMZW5ndGggLSAxOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBz
dWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhpLCAxKTsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90
PigiLCBhcmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwgYXJnc1swXSwgIi5nZXRfIiwgZGlt
ZW5zaW9uc1tpXSwgIigpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
ICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBhdXRvIHN1ZmZpeCA9ICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9y
TGVuZ3RoIC0gMSwgMSk7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJywgYXJnc1sx
XSwgIiA9ICIpOworICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewor
ICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CisgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sxXSwgIiwgIiwgbG9jYXRpb25U
eXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9jYXRpb25W
ZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgnMCcpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiksICIsIGxvY2F0aW9uVHlwZU5hbWUsICcoJyk7CisKKyAgICAgICAg
ICAgIFN0cmluZyBkaW1lbnNpb25zW10gPSB7ICJ3aWR0aCJfc3RyLCAiaGVpZ2h0Il9zdHIsICJk
ZXB0aCJfc3RyIH07CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVj
dG9yTGVuZ3RoIC0gMTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwg
YXJnc1sxXSwgJy4nLCBzdWZmaXgsICIgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBh
cmdzWzFdLCAnLicsIHN1ZmZpeCwgIikgPj0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgp
KSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwg
IiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIp
OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAobG9jYXRpb25WZWN0
b3JMZW5ndGggPT0gMSkgewotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiIDwg
MCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIikgPj0gIiwgYXJnc1swXSwg
Ii5nZXRfd2lkdGgoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAg
ICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiLnggPCAwIHx8IHN0YXRpY19jYXN0PHVp
bnQzMl90PigiLCBhcmdzWzFdLCAiLngpID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpIHtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwg
IiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFd
LCAiLnkgPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAiLnkpID49ICIs
IGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7
XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPj0gMykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiaWYgKCIsIGFyZ3NbMV0sICIueiA8IDAgfHwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCIs
IGFyZ3NbMV0sICIueikgPj0gIiwgYXJnc1swXSwgIi5nZXRfZGVwdGgoKSkge1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIs
IG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfIiwgZGltZW5zaW9uc1tpXSwgIigpIC0g
MSIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpIC0gMSkpIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobG9jYXRpb25WZWN0b3JMZW5ndGggPT0gMSkK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sxXSwg
IiwgMCwgIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEpIik7CisgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiY2xhbXAoIiwgYXJnc1sx
XSwgIiwgIiwgbG9jYXRpb25UeXBlTmFtZSwgIigwLCAwIik7CisgICAgICAgICAgICAgICAgaWYg
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsIDAiKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKSwgIiwgbG9jYXRpb25UeXBlTmFtZSwgJygnLCBhcmdzWzBdLCAiLmdldF93aWR0aCgpIC0g
MSwgIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCkgLSAxIik7CisgICAgICAgICAgICAgICAgaWYg
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCIsICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkgLSAxIik7CisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBh
cmdzWzBdLCAiLnJlYWQoIik7Ci0gICAgICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJl
QXJyYXkoKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+
IDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9y
U3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICcoJywgYXJnc1sxXSwgJy4nLCAieHl6
dyJfc3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAiKSwgdWludCgi
LCBhcmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
IC0gMSwgMSksICcpJyk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxlbmd0
aCksICcoJywgYXJnc1sxXSwgJyknKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCcpJyk7Ci0gICAgICAgICAgICBpZiAoIXRleHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCi0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJy4nLCAieHl6dyJfc3RyLnN1YnN0
cmluZygwLCByZXR1cm5WZWN0b3JMZW5ndGgpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCI7XG4iKTsKICAgICAgICAgfQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsICJ9IHdoaWxlKDApO1xuIik7CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiwgIiwgYXJnc1swXSwgIi5yZWFkKCIpOworCisgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1Rl
eHR1cmVBcnJheSgpKSB7CisgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGgg
PiAxKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3Vm
Zml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICcoJywgYXJnc1sxXSwgJy4nLCAieHl6dyJf
c3RyLnN1YnN0cmluZygwLCBsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAiKSwgdWludCgiLCBh
cmdzWzFdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0g
MSwgMSksICcpJyk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcsIGFy
Z3NbMV0sICcpJyk7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgICAg
IGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkKKyAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVu
Z3RoKSk7CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtNzI0LDE4ICs0NDcsMjAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSA9PSAibG9hZCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSBhdG9taWNfbG9hZF9leHBs
aWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAg
ICAgICJhdG9taWNfbG9hZF9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCBtZW1vcnlfb3JkZXJfcmVs
YXhlZCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAic3RvcmUiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7CiAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAiYXRvbWljX3N0b3JlX2V4
cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVk
KTtcbiIpOworICAgICAgICAgICAgImF0b21pY19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAi
LCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkiKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAi
R2V0RGltZW5zaW9ucyIpIHsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKwog
ICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xh
cmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKIAogICAgICAgICBzaXpl
X3QgaW5kZXggPSAxOwpAQCAtNzY3LDM4ICs0OTIsMzUgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBBU1NFUlQoaW5kZXggPT0gbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKIAogICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImlmICgiLCB3aWR0aE5hbWUsICIpXG4i
LAotICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCB3aWR0aE5hbWUsICIgPSAiLCBhcmdzWzBd
LCAiLmdldF93aWR0aCgiKTsKKyAgICAgICAgICAgICcqJywgd2lkdGhOYW1lLCAiID0gIiwgYXJn
c1swXSwgIi5nZXRfd2lkdGgoIik7CiAgICAgICAgIGlmIChoYXNNaXBMZXZlbCkKICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKTtcbiIpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogCiAg
ICAgICAgIGlmIChoZWlnaHROYW1lKSB7CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKmhlaWdodE5hbWUsICIpXG4iLAot
ICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmhlaWdodE5hbWUsICIgPSAiLCBhcmdz
WzBdLCAiLmdldF9oZWlnaHQoIik7CisgICAgICAgICAgICAgICAgIiwgKiIsICpoZWlnaHROYW1l
LCAiID0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCIpOwogICAgICAgICAgICAgaWYgKGhhc01p
cExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlcHRoTmFt
ZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAiaWYgKCIsICpkZXB0aE5hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVu
dCwgIiAgICAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCIpOwor
ICAgICAgICAgICAgICAgICIsICoiLCAqZGVwdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRf
ZGVwdGgoIik7CiAgICAgICAgICAgICBpZiAoaGFzTWlwTGV2ZWwpCiAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1sxXSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiKTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsK
ICAgICAgICAgfQogICAgICAgICBpZiAoZWxlbWVudHNOYW1lKSB7CiAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgKmVsZW1l
bnRzTmFtZSwgIilcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICoiLCAqZWxlbWVu
dHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpO1xuIik7CisgICAgICAg
ICAgICAgICAgIiwgKiIsICplbGVtZW50c05hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9hcnJh
eV9zaXplKCkiKTsKICAgICAgICAgfQogICAgICAgICBpZiAobnVtYmVyT2ZMZXZlbHNOYW1lKSB7
CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRl
bnQsICJpZiAoIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIilcbiIsCi0gICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICoiLCAqbnVtYmVyT2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5n
ZXRfbnVtX21pcF9sZXZlbHMoKTtcbiIpOworICAgICAgICAgICAgICAgICIsICoiLCAqbnVtYmVy
T2ZMZXZlbHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfbnVtX21pcF9sZXZlbHMoKSIpOwog
ICAgICAgICB9CisKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtODM4LDY2ICs1NjAsOCBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1
bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJTdG9yZSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgCi0gICAg
ICAgIGF1dG8mIHRleHR1cmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwotICAgICAgICBhdXRvJiBpdGVt
VHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5
cGUoKS0+dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byYgaXRlbVZlY3RvcklubmVyVHlwZSA9
IHZlY3RvcklubmVyVHlwZShpdGVtVHlwZSk7Ci0gICAgICAgIGF1dG8gaXRlbVZlY3Rvckxlbmd0
aCA9IHZlY3Rvckxlbmd0aChpdGVtVHlwZSk7Ci0gICAgICAgIGF1dG8mIGxvY2F0aW9uVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMl0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byBsb2NhdGlvblZlY3Rvckxlbmd0aCA9IHZlY3Rv
ckxlbmd0aChsb2NhdGlvblR5cGUpOwotCi0gICAgICAgIGF1dG8gbWV0YWxJbm5lclR5cGVOYW1l
ID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShpdGVtVmVjdG9ySW5uZXJUeXBlKTsKLQot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiZG8ge1xuIik7Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgaWYg
KHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
bG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAgICAgICAgICAgICBTdHJpbmcgZGltZW5z
aW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0ciB9OwotICAg
ICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAx
OyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1
YnN0cmluZyhpLCAxKTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi4iLCBz
dWZmaXgsICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfIiwgZGltZW5zaW9uc1tpXSwgIigpKVxuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBhdXRvIHN1ZmZpeCA9ICJ4eXp3Il9zdHIuc3Vi
c3RyaW5nKGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSwgMSk7Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBh
cmdzWzJdLCAnLicsIHN1ZmZpeCwgIiA+PSAiLCBhcmdzWzBdLCAiLmdldF9hcnJheV9zaXplKCkp
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
ID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIiA+PSAiLCBhcmdz
WzBdLCAiLmdldF93aWR0aCgpKSBcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmICgiLCBhcmdzWzJdLCAiLnggPj0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSlc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIueSA+PSAiLCBh
cmdzWzBdLCAiLmdldF9oZWlnaHQoKSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVj
dG9yTGVuZ3RoID49IDMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdz
WzJdLCAiLnogPj0gIiwgYXJnc1swXSwgIi5nZXRfZGVwdGgoKSlcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIGFyZ3NbMF0sICIud3JpdGUodmVjPCIsIG1ldGFsSW5u
ZXJUeXBlTmFtZSwgIiwgND4oIiwgYXJnc1sxXSk7Ci0gICAgICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IDQgLSBpdGVtVmVjdG9yTGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiwgMCIpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiksICIpOwotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsK
LSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2Nh
dGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMl0sICcuJywgInh5enciX3N0ci5zdWJz
dHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1syXSwg
Ii4iLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAn
KScpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcsIGFy
Z3NbMl0sICcpJyk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwot
ICAgICAgICB9Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUo
MCk7XG4iKTsKLQotICAgICAgICByZXR1cm47CisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODEzIEltcGxlbWVudCB0aGlzCisgICAg
ICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJHYXRoZXJBbHBoYSIpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9X
SExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgTWV0YWwgewog
CiBjbGFzcyBUeXBlTmFtZXI7CiAKLXZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVp
bGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmd1bWVu
dE5hbWVzLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgc3RkOjpmdW5jdGlvbjxNYW5nbGVkVmFy
aWFibGVOYW1lKCk+JiYsIEluZGVudGF0aW9uPDQ+KTsKK3ZvaWQgaW5saW5lTmF0aXZlRnVuY3Rp
b24oU3RyaW5nQnVpbGRlciYsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYsIGNvbnN0
IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywgTWFuZ2xlZFZhcmlh
YmxlTmFtZSByZXN1bHROYW1lLCBJbnRyaW5zaWNzJiwgVHlwZU5hbWVyJiwgSW5kZW50YXRpb248
ND4pOwogCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01l
dGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTEg
KzM4LDYgQEAgbmFtZXNwYWNlIFdITFNMIHsKIAogbmFtZXNwYWNlIE1ldGFsIHsKIAotZW51bSBj
bGFzcyBNYXRyaXhUeXBlIDogdWludDhfdCB7Ci0gICAgRmxvYXQsCi0gICAgQm9vbAotfTsKLQog
U3RyaW5nIHdyaXRlTmF0aXZlVHlwZShBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgbmF0aXZl
VHlwZURlY2xhcmF0aW9uKQogewogICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJ2b2lkIikKQEAgLTEwMSwzNSArOTYsMjYgQEAgU3RyaW5nIHdyaXRlTmF0aXZlVHlwZShB
U1Q6Ok5hdGl2ZVR5cGVEZQogICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSB0eXBlUmVmZXJlbmNl
LT51bmlmeU5vZGUoKTsKICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KHVuaWZ5Tm9kZSk7CiAgICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBkb3du
Y2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAgYXV0
byBtYXRyaXhUeXBlID0gKFsmXSgpIC0+IE1hdHJpeFR5cGUgeworICAgICAgICBhdXRvIHByZWZp
eCA9IChbJl0gewogICAgICAgICAgICAgaWYgKHBhcmFtZXRlclR5cGUubmFtZSgpID09ICJib29s
IikKLSAgICAgICAgICAgICAgICByZXR1cm4gTWF0cml4VHlwZTo6Qm9vbDsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gImJvb2wiOwogICAgICAgICAgICAgQVNTRVJUKHBhcmFtZXRlclR5cGUubmFt
ZSgpID09ICJmbG9hdCIpOwotICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6OkZsb2F0Owor
ICAgICAgICAgICAgcmV0dXJuICJmbG9hdCI7CiAgICAgICAgIH0pKCk7CiAKLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMSA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwxID0gY29uc3RhbnRFeHByZXNzaW9uMS5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCByb3dzID0gaW50ZWdlckxpdGVyYWwxLnZhbHVlKCk7Ci0gICAgICAgIEFT
U0VSVChyb3dzID09IDIgfHwgcm93cyA9PSAzIHx8IHJvd3MgPT0gNCk7Ci0KLSAgICAgICAgQVNT
RVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pKTsKLSAgICAgICAgYXV0byYgY29u
c3RhbnRFeHByZXNzaW9uMiA9IFdURjo6Z2V0PEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRp
dmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKTsKLSAgICAgICAgYXV0byYgaW50
ZWdlckxpdGVyYWwyID0gY29uc3RhbnRFeHByZXNzaW9uMi5pbnRlZ2VyTGl0ZXJhbCgpOwotICAg
ICAgICB1bnNpZ25lZCBjb2x1bW5zID0gaW50ZWdlckxpdGVyYWwyLnZhbHVlKCk7Ci0gICAgICAg
IEFTU0VSVChjb2x1bW5zID09IDIgfHwgY29sdW1ucyA9PSAzIHx8IGNvbHVtbnMgPT0gNCk7Ci0K
LSAgICAgICAgc3dpdGNoIChtYXRyaXhUeXBlKSB7Ci0gICAgICAgIGNhc2UgTWF0cml4VHlwZTo6
RmxvYXQ6IHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGFsaWdubWVudCA9IGNvbHVtbnMgPT0gMiA/
IDggOiAxNjsKLSAgICAgICAgICAgIGlmIChjb2x1bW5zID09IDMpCi0gICAgICAgICAgICAgICAg
Y29sdW1ucyA9IDQ7Ci0gICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8ZmxvYXQs
ICIsIGNvbHVtbnMgKiByb3dzLCAiPiBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKCIsIGFsaWdubWVu
dCwgIikpKSIpOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgTWF0cml4VHlwZTo6Qm9vbDoKLSAg
ICAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxib29sLCAiLCBjb2x1bW5zICogcm93
cywgIj4iKTsKLSAgICAgICAgfQorICAgICAgICAvL3N3aXRjaCAobWF0cml4VHlwZSkgeworICAg
ICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6RmxvYXQ6IHsKKyAgICAgICAgLy8gICAgdW5zaWduZWQg
YWxpZ25tZW50ID0gY29sdW1ucyA9PSAyID8gOCA6IDE2OworICAgICAgICAvLyAgICBpZiAoY29s
dW1ucyA9PSAzKQorICAgICAgICAvLyAgICAgICAgY29sdW1ucyA9IDQ7CisgICAgICAgIC8vICAg
IHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxmbG9hdCwgIiwgY29sdW1ucyAqIHJvd3MsICI+IF9f
YXR0cmlidXRlX18oKGFsaWduZWQoIiwgYWxpZ25tZW50LCAiKSkpIik7CisgICAgICAgIC8vfQor
ICAgICAgICAvL2Nhc2UgTWF0cml4VHlwZTo6Qm9vbDoKKyAgICAgICAgLy8gICAgcmV0dXJuIG1h
a2VTdHJpbmcoImFycmF5PGJvb2wsICIsIGNvbHVtbnMgKiByb3dzLCAiPiIpOworICAgICAgICAv
L30KKworICAgICAgICAvLyBPT1BTOiBhbGlnbm1lbnQgbmVlZGVkIGhlcmU/CisgICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKCJXU0xNYXRyaXg8IiwgcHJlZml4LCAiLCAiLCBuYXRpdmVUeXBlRGVj
bGFyYXRpb24ubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCksICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJh
dGlvbi5udW1iZXJPZk1hdHJpeFJvd3MoKSwgIj4iKTsKICAgICB9CiAgICAgQVNTRVJUKG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwogICAgIEFTU0VS
VChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+PihuYXRpdmVU
eXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTgzMTMsNiArODMxMyw3IEBACiAJCTUxRkI2N0RBMUFFNkI1RTQw
MEQwNkM1QSAvKiBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjEzMUU1QTFDNEYxNTYxMDAzM0Y4MDIgLyogVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0hMU0xBU1QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTIyNTZD
QUEyMzBGMTRBRDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdI
TFNMTmFtZVNwYWNlLmg7IHBhdGggPSBBU1QvV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTIyQkFCOTYyMkU2QTM2MjAwQzU0Q0U5IC8qIFdITFNMQ29kZUxv
Y2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29kZUxvY2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUyMkQwN0EzMjJGQkFCNDMwMEI5MDVCRSAvKiBXSExTTEV4cHJl
c3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xFeHByZXNzaW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyREEzRDMyMjlFMUQzOTAwNDJEMTUxIC8qIFdITFNM
R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHbG9iYWxWYXJp
YWJsZVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjU1NDgsNiAr
MjU1NDksNyBAQAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmgg
Ki8sCiAJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVj
a2VyLmNwcCAqLywKIAkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFs
VHlwZUNoZWNrZXIuaCAqLywKKwkJCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xO
YW1lU3BhY2UuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1l
Q29udGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFt
ZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1l
UmVzb2x2ZXIuY3BwICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVDb21wdXRlUGlwZWxpbmVN
ZXRhbC5tbQkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L2NvY29hL0dQVUNvbXB1dGVQaXBlbGluZU1ldGFsLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC05MywxMCArOTMsMTAgQEAgc3RhdGljIE9wdGlvbmFsPFdITFNMOjpDb21wdXRlRGltZW5z
aW9ucwogICAgICAgICBpZiAoV0hMU0w6OmR1bXBNZXRhbENvbXBpbGVUaW1lcykKICAgICAgICAg
ICAgIGRhdGFMb2dMbigiTWV0YWwgY29tcGlsZSB0aW1lczogIiwgKE1vbm90b25pY1RpbWU6Om5v
dygpIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSwgIiBtcyIpOwogICAgICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TOwotI2lmbmRlZiBOREVCVUcKKy8vI2lmbmRlZiBOREVCVUcKICAg
ICAgICAgaWYgKCFjb21wdXRlTGlicmFyeSkKICAgICAgICAgICAgIE5TTG9nKEAiJUAiLCBlcnJv
cik7Ci0jZW5kaWYKKy8vI2VuZGlmCiAgICAgICAgIEFTU0VSVChjb21wdXRlTGlicmFyeSk7CiAg
ICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk1NzcxIE9uY2Ugd2UgemVyby1maWxsIHZhcmlhYmxlcywgdGhlcmUgc2hvdWxkIGJlIG5vIHdh
cm5pbmdzLCBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQoIWVycm9yKSBoZXJlLgogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVy
UGlwZWxpbmVNZXRhbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbQkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVJl
bmRlclBpcGVsaW5lTWV0YWwubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwOSw5ICs0MDksOSBAQCBz
dGF0aWMgYm9vbCB0cnlTZXRGdW5jdGlvbnMoY29uc3QgR1BVUGlwCiAKICAgICAgICAgaWYgKCF2
ZXJ0ZXhMaWJyYXJ5ICYmIGVycm9yKSB7CiAgICAgICAgICAgICBlcnJvclNjb3Blcy5nZW5lcmF0
ZVByZWZpeGVkRXJyb3IoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRGOFN0cmluZyk7Ci0j
aWZuZGVmIE5ERUJVRworLy8jaWZuZGVmIE5ERUJVRwogICAgICAgICAgICAgTlNMb2coQCIlQCIs
IGVycm9yKTsKLSNlbmRpZgorLy8jZW5kaWYKICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVCh2
ZXJ0ZXhMaWJyYXJ5KTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2It
YWxpYXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhw
ZWN0ZWQudHh0OjI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2It
YWxpYXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJy
YXktb29iLWFsaWFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2FycmF5LW9vYi1hbGlhcy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbDoyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0
aXRsZT5maWVsZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgor
PHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0
IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5j
ICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsKKyAg
ICAgICAgICAgIGludCB4OworICAgICAgICAgICAgaW50IHk7CisgICAgICAgICAgICBpbnQgejsK
KyAgICAgICAgfQorICAgICAgICBib29sIGZvbyh1aW50IGkpIHsKKyAgICAgICAgICAgIEZvb1sx
MF0gZm9vczsKKyAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOworICAgICAg
ICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAgcmV0dXJuIHB0
ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICB9CisgICAgYDsKKworICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMTApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xG
dW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0cnVlKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMHhmZmZmZmZmZildKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRlc3Rz
KTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2Fy
cmF5LW9vYi1hbGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcg
KzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQg
cmV0dXJuIG51bGwuPC90aXRsZT4KKzx0aXRsZT5vb2Igb24gYXJyYXlzLjwvdGl0bGU+CiA8c2Ny
aXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjEsMTUgKzIxLDQ2IEBAIHdobHNs
VGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSAKICAgICAgICAgICAgIEZvb1sxMF0g
Zm9vczsKICAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOwogICAgICAgICAg
ICAgdGhyZWFkIGludCogcHRyID0gJihmb28tPnopOwotICAgICAgICAgICAgcmV0dXJuIHB0ciA9
PSBudWxsICYmIGZvbyA9PSBudWxsOworICAgICAgICAgICAgKnB0ciA9IDQyOworICAgICAgICAg
ICAgcmV0dXJuIGZvb3NbMF0ueiA9PSA0MjsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmFy
KCkgeworICAgICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhyZWFkIEZvbyog
Zm9vID0gJmZvb3NbNDI0MjQyXTsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9v
LT56KTsKKyAgICAgICAgICAgIHJldHVybiBmb28gPT0gJmZvb3NbMF07CisgICAgICAgIH0KKwor
ICAgICAgICBmbG9hdDMgcmV0RmxvYXQzKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IGZsb2F0MygxMC4wLCAwLjAsIDAuMCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdFsxMF0g
cmV0RmxvYXRBcnJheSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0WzEwXSB2OworICAg
ICAgICAgICAgdlswXSA9IDEwLjA7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQor
CisgICAgICAgIGJvb2wgYmF6KCkgeworICAgICAgICAgICAgcmV0dXJuIHJldEZsb2F0MygpWzQy
XSA9PSAxMC4wOworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBqYXooKSB7CisgICAgICAgICAg
ICByZXR1cm4gcmV0RmxvYXRBcnJheSgpWzQyXSA9PSAxMC4wOwogICAgICAgICB9CiAgICAgYDsK
IAogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSks
IGZhbHNlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHBy
b2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGkgPT09IDAgPyB0cnVlIDogZmFsc2UpOwog
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFttYWtlVWludCgxMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9v
bEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwog
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFttYWtlVWludCgweGZmZmZmZmZmKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImJheiIsIFtdKSwgdHJ1
ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAi
amF6IiwgW10pLCB0cnVlKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRv
ZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAot
UEFTUyBhbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVy
ZW5jZSAKLVBBU1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9u
ZyAKLVBBU1MgYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04
PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVm
aXgvcG9zdGZpeC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRl
eEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hl
Y2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAg
ICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0
aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMu
aW5kZXhBbmRlckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0
IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBv
cGVyYXRvciZbXShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJldHVybiAmZm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRl
c3RzLmFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBj
aGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAg
ICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5m
b28odGhyZWFkIEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVy
biBmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFu
ZGVyRG9lc250VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tG
YWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAg
ICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9y
Ji5mb28oRm9vIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldp
dGhCYWRJbmRleCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9v
KHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tG
YWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAg
IGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJu
IHhbeV07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10g
eCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0
aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAg
ICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAg
ICAgICAgICAgcmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0K
LXdobHNsVGVzdHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+
IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBp
bnQqIG9wZXJhdG9yJi5mb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCB4
OwotICAgICAgICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7
Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBG
b28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAg
fQotICAgICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hv
dWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1
cGxpY2F0ZS1jdG9ycy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3Rv
cnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTksMTYgKzE5LDIwIEBAIHR5cGVkZWYgWFlaMyA9
IFhZWjsKIAogW251bXRocmVhZHMoMiwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRl
cihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6
IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICB0aHJlYWQgaW50KiB4OwotICAgIHRocmVhZCBp
bnQqIHk7Ci0gICAgdGhyZWFkIGZsb2F0KiBmMTsKLSAgICB0aHJlYWQgZmxvYXQqIGYyOworICAg
IGludCB2YWx1ZTsKKyAgICBmbG9hdCB2YWx1ZTI7CisgICAgaW50WzEwXSB2YWx1ZTM7CisKKyAg
ICB0aHJlYWQgaW50KiB4ID0gJnZhbHVlOworICAgIHRocmVhZCBpbnQqIHkgPSAmdmFsdWU7Cisg
ICAgdGhyZWFkIGZsb2F0KiBmMSA9ICZ2YWx1ZTI7CisgICAgdGhyZWFkIGZsb2F0KiBmMiA9ICZ2
YWx1ZTI7CiAgICAgWFlaMSBhOwogICAgIFhZWjIgYjsKICAgICBYWVozIGM7Ci0gICAgdGhyZWFk
IGludFtdIGludEFycmF5UmVmMTsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyOwotICAg
IGlmICgqeCA9PSAqeSAmJiB4ID09IHkgJiYgeCA9PSBudWxsICYmIGYxID09IG51bGwgJiYgKmYx
ID09IDApIHsKKyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxID0gQHZhbHVlMzsKKyAgICB0
aHJlYWQgaW50W10gaW50QXJyYXlSZWYyID0gQHZhbHVlMzsKKyAgICBpZiAoKnggPT0gKnkgJiYg
eCA9PSB5KSB7CiAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1aW50
KHRocmVhZElELngpXSAqIDIuMDsKICAgICB9CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE1LDIyICsxNSwxNyBAQCB3aGxzbFRlc3RzLmluY3JlbWVudFNldHRlciA9IGFzeW5j
ICgpID0+CiAgICAgbGV0IHByb2dyYW0gPSBgCiAgICAgICAgIHN0cnVjdCBGb28gewogICAgICAg
ICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLncoRm9vIGZvbykg
ewotICAgICAgICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9y
Lnc9KEZvbyBmb28sIGludCB2YWx1ZSkgewotICAgICAgICAgICAgZm9vLnogPSB2YWx1ZTsKLSAg
ICAgICAgICAgIHJldHVybiBmb287CisgICAgICAgICAgICBpbnQgdzsKICAgICAgICAgfQogICAg
ICAgICBpbnQgYmFyKCkgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby56
ID0gMzsKKyAgICAgICAgICAgIGZvby53ID0gMTsKICAgICAgICAgICAgIGludCB2YWx1ZSA9IGZv
by53Kys7CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUqMTAwICsgZm9vLnoqMTAgKyBmb28udzsK
ICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgODk4KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAxMDAgKyAzMCArIDIpOwogfQogCiBy
dW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRl
eC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIGluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFT
UyBpbmRleEFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0
Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBz
dHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5k
ZXJXaXRoTm90aGluZ1dyb25nID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAK
LSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAg
ICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9
IDEzOwotICAgICAgICAgICAgcmV0dXJuIHhbNjY2XTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwg
MTMpOwotfQotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50
cyA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAg
ICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSgpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4OwotICAgICAgICAgICAg
fQotICAgICAgICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBg
Ci0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgK
LSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50
IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0
aHJlYWQgRm9vKiBmb28sIHVpbnQsIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5U
ZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4
LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBA
Ci0KLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCAKLVBBU1MgaW5kZXhTZXR0
ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkIAotUEFTUyBub3RMb25lSW5kZXhTZXR0ZXIgCi1Q
QVNTIGxvbmVJbmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyUG9pbnRlciAKLQpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgt
c2V0dGVyLWdldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hs
c2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3Zlcmxv
YWQgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAg
ICAgICAgICAgc3RydWN0IEZvbyB7IH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAg
ICAgICAgICBpbnQgb3BlcmF0b3JbXShGb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEJhciBvcGVy
YXRvcltdPShCYXIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gQmFyKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0K
LXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkID0gYXN5bmMg
KCkgPT4KLXsKLSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQot
ICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiA1MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWlu
dCwgaW50KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGZvbygpIHsgcmV0dXJuIEJhcigpWzBdOyB9Ci0gICAgICAgIGludCBiYXIo
KSB7Ci0gICAgICAgICAgICBCYXIgYjsKLSAgICAgICAgICAgIGJbMF0gPSA0MDA7Ci0gICAgICAg
ICAgICByZXR1cm4gYlswXTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTM0KTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1MzQp
OwotfTsKLQotd2hsc2xUZXN0cy5ub3RMb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9Pgotewot
ICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAgICAgIGludCBvcGVyYXRvcltdKGludCwgdWludCkK
LSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDY1OwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBvcGVyYXRvcltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIDU0MzsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgewotICAgICAgICAgICAgaW50
IHg7Ci0gICAgICAgICAgICByZXR1cm4geFswXTsKLSAgICAgICAgfQotICAgICAgICBpbnQgYmFy
KCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB4WzBdID0gNDI7Ci0gICAgICAg
ICAgICByZXR1cm4geDsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNjUpOwotICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDU0Myk7Ci19
OwotCi13aGxzbFRlc3RzLmxvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oaW50
LCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDU0MzsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5s
b25lSW5kZXhTZXR0ZXJQb2ludGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0Zh
aWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yW109KHRocmVh
ZCBpbnQqIHB0ciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJl
dHVybiBwdHI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXJ1
blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJl
bmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTE0ICs3LDExNSBAQAogPGJvZHk+CiA8c2Ny
aXB0PgogY29uc3Qgc2hhZGVyU291cmNlID0gYAotYm9vbCB0ZXN0MSgpIHsKLSAgICBpbnQgdmFs
dWUgPSA0MjsKLSAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7Ci0gICAgaWYgKGFycmF5
Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9
IDQyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMDIxM10gIT0gMCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXJyYXlbMF0gPSAxMzM3OwotICAgIGlmICh2
YWx1ZSAhPSAxMzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotYm9vbCB0ZXN0MigpIHsKLSAgICBpbnQgdmFsdWUgPSA0MjsKLSAgICB0aHJlYWQgaW50
KiBwdHIgPSAmdmFsdWU7Ci0gICAgaWYgKCpwdHIgIT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFycmF5Lmxlbmd0
aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9IDQyKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzEyMzc0MjE3XSAhPSAwKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgKnB0ciA9IDY2NjsKLSAgICBpZiAoKnB0ciAh
PSA2NjYpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0gNjY2KQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgaWYgKGFycmF5WzBdICE9IDY2NikKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgYXJyYXlbMF0gPSA0MjQyOwotICAgIGlmICgqcHRyICE9IDQyNDIpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAodmFsdWUgIT0gNDI0MikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGlmIChhcnJheVswXSAhPSA0MjQyKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCB0ZXN0MygpIHsKLSAgICBpbnRbNDJdIHg7Ci0gICAg
dGhyZWFkIGludFs0Ml0qIGFycmF5UHRyID0gJng7Ci0gICAgaWYgKGFycmF5UHRyLT5sZW5ndGgg
IT0gNDIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHhbNDFdID0gNjY2OwotICAgIGlm
ICgoKmFycmF5UHRyKVs0MV0gIT0gNjY2KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYg
KCgqYXJyYXlQdHIpWzBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHRocmVh
ZCBpbnRbXSBhcnJheSA9IEB4OwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gNDIpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGFycmF5WzBdID0gMTMzNzsKLSAgICBpZiAoeFswXSAhPSAx
MzM3KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCgqYXJyYXlQdHIpWzBdICE9IDEz
MzcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29s
IHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0ciA9IG51bGw7Ci0KLSAgICB0aHJlYWQgaW50
W10gYXJyYXkgPSBAcHRyOwotICAgIGlmIChhcnJheS5sZW5ndGggIT0gMCkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgaWYgKGFycmF5WzBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiB0cnVlOwotfQorLy9ib29sIHRlc3QxKCkgeworLy8gICAgaW50IHZhbHVl
ID0gNDI7CisvLyAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAdmFsdWU7CisvLyAgICBpZiAoYXJy
YXkubGVuZ3RoICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5
WzBdICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChhcnJheVsxMjAy
MTNdICE9IDApCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGFycmF5WzBdID0g
MTMzNzsKKy8vICAgIGlmICh2YWx1ZSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0MigpIHsKKy8vICAg
IGludCB2YWx1ZSA9IDQyOworLy8gICAgdGhyZWFkIGludCogcHRyID0gJnZhbHVlOworLy8gICAg
aWYgKCpwdHIgIT0gNDIpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHRocmVh
ZCBpbnRbXSBhcnJheSA9IEBwdHI7CisvLyAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCisvLyAg
ICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9IDQyKQorLy8gICAgICAg
IHJldHVybiBmYWxzZTsKKy8vICAgIGlmIChhcnJheVsxMjM3NDIxN10gIT0gMCkKKy8vICAgICAg
ICByZXR1cm4gZmFsc2U7CisvLyAgICAKKy8vICAgICpwdHIgPSA2NjY7CisvLyAgICBpZiAoKnB0
ciAhPSA2NjYpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKHZhbHVlICE9IDY2
NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEp
CisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8gICAgaWYgKGFycmF5WzBdICE9IDY2NikKKy8v
ICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgYXJyYXlbMF0gPSA0MjQyOworLy8gICAg
aWYgKCpwdHIgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAodmFs
dWUgIT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXlbMF0g
IT0gNDI0MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLyAgICBpZiAoYXJyYXkubGVuZ3Ro
ICE9IDEpCisvLyAgICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIHJldHVybiB0cnVlOwor
Ly99CisvLworLy9ib29sIHRlc3QzKCkgeworLy8gICAgaW50WzQyXSB4OworLy8gICAgdGhyZWFk
IGludFs0Ml0qIGFycmF5UHRyID0gJng7CisvLyAgICBpZiAoYXJyYXlQdHItPmxlbmd0aCAhPSA0
MikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7CisvLworLy8gICAgeFs0MV0gPSA2NjY7CisvLyAg
ICBpZiAoKCphcnJheVB0cilbNDFdICE9IDY2NikKKy8vICAgICAgICByZXR1cm4gZmFsc2U7Cisv
LyAgICBpZiAoKCphcnJheVB0cilbMF0gIT0gMCkKKy8vICAgICAgICByZXR1cm4gZmFsc2U7Cisv
LworLy8gICAgdGhyZWFkIGludFtdIGFycmF5ID0gQHg7CisvLyAgICBpZiAoYXJyYXkubGVuZ3Ro
ICE9IDQyKQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBhcnJheVswXSA9IDEz
Mzc7CisvLyAgICBpZiAoeFswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsKKy8v
ICAgIGlmICgoKmFycmF5UHRyKVswXSAhPSAxMzM3KQorLy8gICAgICAgIHJldHVybiBmYWxzZTsK
Ky8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQorLy8KKy8vYm9vbCB0ZXN0NCgpIHsKKy8vICAg
IGludCB4ID0gNDI7CisvLyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKKy8vCisvLyAgICB0aHJl
YWQgaW50W10gYXJyYXkgPSBAcHRyOworLy8gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAxKQorLy8g
ICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCisvLyAg
ICAgICAgcmV0dXJuIGZhbHNlOworLy8KKy8vICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDQyKQor
Ly8gICAgICAgIHJldHVybiBmYWxzZTsKKy8vCisvLyAgICByZXR1cm4gdHJ1ZTsKKy8vfQogCiBb
bnVtdGhyZWFkcygxLCAxLCAxKV0KIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBp
bnRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNo
VGhyZWFkSUQpIHsKLSAgICBpZiAoIXRlc3QxKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lm
ICghdGVzdDEoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3QyKCkpCi0gICAg
ICAgIHJldHVybjsKKyAgICAvL2lmICghdGVzdDIoKSkKKyAgICAvLyAgICByZXR1cm47CiAKLSAg
ICBpZiAoIXRlc3QzKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvL2lmICghdGVzdDMoKSkKKyAg
ICAvLyAgICByZXR1cm47CiAKLSAgICBpZiAoIXRlc3Q0KCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICAvL2lmICghdGVzdDQoKSkKKyAgICAvLyAgICByZXR1cm47CiAKICAgICBidWZmZXJbMF0gPSAx
OwogfQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5b3V0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1v
cnktbGF5b3V0Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02MCwyMCAr
NjAsMjAgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAgY29uc3QgYnVmZmVy
QXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwogICAgIGNvbnN0IGJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwog
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDA7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFd
ID0gNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSA4OwotICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDEyOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IDE7CisgICAgYnVmZmVy
RmxvYXQzMkFycmF5WzFdID0gMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAyOworICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDM7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0g
NDsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbNV0gPSA1OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDk7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTM7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzhdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA2OworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVs2XSA9IDY7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gNzsK
KyAgICBidWZmZXJGbG9hdDMyQXJyYXlbOF0gPSA4OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs5
XSA9IDk7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEwOwotICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVsxMV0gPSAxNDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMzsKLSAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gNzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MTE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVsxMl0gPSAxMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMTM7CisgICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDE0OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAx
NTsKICAgICBidWZmZXIudW5tYXAoKTsKIApAQCAtOTgsMjMgKzk4LDIzIEBAIGFzeW5jIGZ1bmN0
aW9uIHN0YXJ0KGRldmljZSkgewogICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0
IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7CiAgICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKICAgICBpZiAocmVz
dWx0c0Zsb2F0MzJBcnJheVswXSA9PT0gMQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzFdID09PSA1Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT09IDkKLSAgICAg
ICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PT0gMTMKKyAgICAgICAgJiYgcmVzdWx0c0Zs
b2F0MzJBcnJheVsxXSA9PT0gMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09
PSAzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDQKIAotICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSAyCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbNF0gPT09IDUKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs1XSA9PT0gNgot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzZdID09PSAxMAotICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzddID09PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzZdID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT09IDgKIAotICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzhdID09PSAzCi0gICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbOV0gPT09IDcKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9
PT0gOQorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSAxMAogICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzEwXSA9PT0gMTEKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVsxMV0gPT09IDE1CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTFdID09
PSAxMgogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTJdID09PSA0Ci0gICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbMTRdID09PSAxMgorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEyXSA9
PT0gMTMKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxM10gPT09IDE0CisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTRdID09PSAxNQogICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzE1XSA9PT0gMTYpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAgIGVsc2UK
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXguaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtNjYsMjIgKzY2LDI0IEBAIGNvbXB1dGUgdm9pZCBjb21wdXRlU2hhZGVyKGRldmljZSBmbG9h
dFsKICAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
b3VydHlUd29bMTMzN10gPSA1MDsKLSAgICBmb29bMV0gPSBmb3VydHlUd287Ci0gICAgaWYgKCFh
bGxFcXVhbChmb28sIDQyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm91cnR5VHdvWzEwMDAw
MDBdID0gNTA7Ci0gICAgZm9vWzFdID0gZm91cnR5VHdvOwotICAgIGlmICghYWxsRXF1YWwoZm9v
LCA0MikpCi0gICAgICAgIHJldHVybjsKKyAgICAvLyBPT1BTOiB3aGF0IHNlbWFudGljcyBhcmUg
d2UgY2hvb3Npbmc/CiAKLSAgICBmbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9vWzEwMDAwMF07Ci0g
ICAgaWYgKHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8fCBzaG91
bGRCZVplcm8ueiAhPSAwKQotICAgICAgICByZXR1cm47CisgICAgLy9mb3VydHlUd29bMTMzN10g
PSA1MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxsRXF1YWwoZm9v
LCA0MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mb3VydHlUd29bMTAwMDAwMF0gPSA1
MDsKKyAgICAvL2Zvb1sxXSA9IGZvdXJ0eVR3bzsKKyAgICAvL2lmICghYWxsRXF1YWwoZm9vLCA0
MikpCisgICAgLy8gICAgcmV0dXJuOworCisgICAgLy9mbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9v
WzEwMDAwMF07CisgICAgLy9pZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8fCBzaG91bGRCZVplcm8u
eSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisgICAgLy8gICAgcmV0dXJuOwogCi0gICAg
aWYgKGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKLSAgICAgICAgcmV0dXJuOworICAgIC8vaWYg
KGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKKyAgICAvLyAgICByZXR1cm47CiAKICAgICBidWZm
ZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gKiAyLjA7CiB9
CkBAIC0xNDUsNyArMTQ3LDcgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAg
ICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKICAgICAgICAgdGVzdFBhc3NlZCgi
Iik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7CiB9CiB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVs
bC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1vbm9tb3JwaGljIAorUEFTUyBudWxsSXNF
cnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04
PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1
Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxlPgogPHNjcmlwdCBzcmM9ImpzL3Rlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAKIDxzY3JpcHQ+CiBjb25zdCB3aGxzbFRl
c3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGljID0gYXN5bmMg
KCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBhc3luYyAoKSA9PgogewotICAgIGxldCBw
cm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIGludCBmb28odGhyZWFk
IGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gKnB0cjsKQEAgLTIxLDEx
ICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpYyA9IGFzCiAgICAg
ICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7CiAgICAgICAgIH0KLSAgICBgOwot
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBb
XSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgdm9pZCBi
YXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50KiB4OworICAgICAgICB9Cisg
ICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGJhcigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4OworICAgICAgICB9CisgICAgYCk7CiB9
CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3JpcHQ+CiA8L2h0bWw+Ci0KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9u
dWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBA
QAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNl
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxs
LWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5j
dGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFk
ZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwotRm9vIGdldE51bGxQdHIo
KQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsKLSAgICBmbG9hdCB4Owot
ICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVhZHMoMiwgMSwgMSldCi1j
b21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rl
cih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAgICBGb28g
cHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQdHIoKSA9IDQyOwotICAg
IGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXROdWxsUHRyKCkpIHsKLSAg
ICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAgICAgICAgICAgICB0aHJl
YWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZWiB4eXo7Ci0gICAgICAg
ICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55ID0gMTsKLSAgICAgICAg
ICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5ei56ID09IDEuMCAmJiB4
eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAgICAgICAgICAgICp4eXpQ
dHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQdHI7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4wICYmIHh5ei56ID09IDAu
MCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVsbFB0cigpID09IG51bGwp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipnZXROdWxsUHRyKCkpID09
IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyW3VpbnQodGhy
ZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRHcm91cExheW91
dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0eTogNywgdHlw
ZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZp
Y2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbYmlu
ZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
UGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0YWdlLCBsYXlvdXQ6IHBpcGVsaW5l
TGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlQ29tcHV0
ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qgc2l6ZSA9
IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7Ci0KLSAgICBjb25zdCBidWZmZXJE
ZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUgfCBHUFVC
dWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0IGJ1ZmZlciA9IGRldmljZS5jcmVh
dGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgYnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IGJ1ZmZlckZsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIGJ1ZmZlckZs
b2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFdID0gMjsKLSAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDQ7
Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IHJlc3VsdHNC
dWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5TVE9SQUdFIHwg
R1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUR9Owot
ICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJlc3VsdHNCdWZm
ZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJpbmRpbmcgPSB7YnVmZmVyOiByZXN1
bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3JvdXBCaW5kaW5nID0ge2JpbmRpbmc6
IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBjb25zdCBiaW5kR3JvdXBEZXNjcmlw
dG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5kaW5nczogW2JpbmRHcm91cEJpbmRp
bmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwKGJpbmRH
cm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21tYW5kRW5jb2Rlci5jb3B5QnVmZmVy
VG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAwLCBzaXplKTsKLSAgICBjb25zdCBj
b21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7Ci0g
ICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7Ci0gICAg
Y29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1
dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIu
ZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5p
c2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLQot
ICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc3VsdHNCdWZmZXIubWFwUmVh
ZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0c0Zsb2F0MzJBcnJheVswXSA9
PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT0gNAotICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNF0gPT0gNQotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkK
LSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIi
KTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3Rh
cnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7Ci0gICAgICAgIGZpbmlz
aEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgdGVzdFBhc3NlZCgiIik7
Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1h
Y2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFjY2Vzcy0yLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNz
LTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hs
c2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICAg
ICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4ID0gMzsKKyAgICAgICAg
ICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAg
ICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAgICAgICAgaW50IGJhcigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBh
ID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4
WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAg
ICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4WzFdOworICAgICAgICB9
CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2Fs
bEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDApOworfTsKKworcnVuVGVzdHMod2hs
c2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAK
IDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLVtudW10aHJlYWRzKDIs
IDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRl
cihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6
IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJbMTMzN10gPSAwLjA7CiAgICAgYnVm
ZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1NywxNCBAQCBhc3luYyBmdW5jdGlvbiBz
dGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVs
aW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91
cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAx
KTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMSwgMSwgMSk7CiAgICAgY29tcHV0
ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCByZXN1bHRz
QnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7Ci0gICAgaWYgKHJlc3VsdHNGbG9h
dDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDAKICAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0CiAgICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09
IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWdu
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZl
Y3Rvci1hc3NpZ24uaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcs
MTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhBc3NpZ24gPSBhc3luYyAoKSAKICAg
ICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHhbMF0gPSAyMDsKICAgICAgICAgICAgIHhb
MV0gPSAxMDsKLSAgICAgICAgICAgIHhbNTAwMF0gPSAyMDsKKyAgICAgICAgICAgIHhbNTAwMF0g
PSA0MDsKICAgICAgICAgICAgIHJldHVybiB4LnggLyB4LnkgKyB4WzUwMDBdOwogICAgICAgICB9
CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwIC8gMTAgKyA0MCk7CiB9OwogCiBydW5UZXN0cyh3
aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0
b3ItbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVy
YXRvci12ZWN0b3ItbG9hZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhMb2FkID0gYXN5bmMgKCkgPT4K
ICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAgIHgueCA9IDIwOwogICAgICAgICAgICAg
eC55ID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBd
ID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geFswXSAvIHhbMV0gKyB4WzUwMDBdOwogICAgICAg
ICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9n
cmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVu
Y3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwLzEwICsgNDApOwogfTsKIAogcnVuVGVzdHMo
d2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vi
c2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBvdmVycmlkZVN1YnNjcmlwdFN0
cnVjdCAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyAKLVBBU1Mgb3Zl
cnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVycyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5IAotCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShyZXZpc2lvbiAyNDky
MjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KLTx0aXRsZT5UZXN0IG92ZXJyaWRlIHN1YnNjcmlwdHMuPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3Rz
ID0ge307Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgPSBhc3luYyAoKSA9
PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAg
ICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFk
IGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7
Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZv
by0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVy
biAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4g
Zm9vWzBdICsgZm9vWzFdICogMzsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAz
KTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZERvU3RvcmVzID0g
YXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7
Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAg
cmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9
Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAg
ICAgICAgICAgZm9vWzBdID0gNDk4OwotICAgICAgICAgICAgZm9vWzFdID0gMTk7Ci0gICAgICAg
ICAgICByZXR1cm4gZm9vLnggKyBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsg
MTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRl
cnMgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3Qg
Rm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGlu
ZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAg
ICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAg
ICAgIH0KLSAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiAoKmZvbylbMF0gKyAoKmZvbylbMV07Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4g
YmFyKCZmb28pOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7Ci19Ci0KLXdobHNs
VGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5ID0g
YXN5bmMgKCkgPT4KLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0
cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIGludCB5
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAg
ICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28tPnk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBpbnQgYmFyKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaW50IGZvbygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIGZvbzsK
LSAgICAgICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgICAgICBmb28ueSA9IDE5
OwotICAgICAgICAgICAgICAgIHJldHVybiBiYXIoJmZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgot
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1h
YnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFs
dWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAg
IEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19
Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJl
dHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIu
dy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTog
c2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJh
Z21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50
U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAi
OwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxN
b2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
ckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5v
cm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9y
V3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAK
LSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9h
dDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0
cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRl
eElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4
U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3Rh
dGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNv
dW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRF
WCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5j
KCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJi
Z3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2Fw
Q2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3
YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3
ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25z
dCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2ht
ZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51
bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07
Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdp
blJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRW
ZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwot
ICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBk
ZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVj
dGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2
YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVs
cy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImLnkodGhy
ZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAg
Rm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIqIGIpIHsKLSAg
ICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBwOwotfQotCi10aHJl
YWQgQmFyKiBvcGVyYXRvciYucSh0aHJlYWQgQmF6KiBiKSB7Ci0gICAgcmV0dXJuICZiLT5wOwot
fQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAg
ICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi5xLncueSwg
Yi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hh
ZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9u
IDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19
Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0
b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJh
ciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIq
IGIpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAg
IHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246
IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBh
dHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07
Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQo
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ks
IHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0
ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0g
e3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVm
ZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkg
PSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtk
ZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250
ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBv
dXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBj
b25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywg
cmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBj
bGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVs
bDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNv
bW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVy
LmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0p
OwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0
KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28q
IGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBG
b28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0
NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2Vu
ZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIGdlbmVyYXRlRm9vKCkueSwgMS4wKTsKLX0K
LWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxl
ID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAg
Y29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2
ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRp
dmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0
YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxw
aGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
clN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQs
IHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVw
dGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hh
ZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtz
dHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRz
ID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5w
dXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBM
YXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlw
ZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0
aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNp
bFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlv
dXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJE
ZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0
LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRF
fTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdh
aXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNv
bnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVz
Y3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2Fw
Q2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsK
LSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1
bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21t
YW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBh
OiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRU
ZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9w
OiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0
dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNz
RW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3Jp
cHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUp
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZl
cl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNv
bW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29t
bWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkg
ewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFz
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dl
dHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTExICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsK
LSAgICByZXR1cm4gZi54OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGZs
b2F0NChmLnksIGYueSwgZi55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZp
Y2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxl
KHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZy
YWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVu
dFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlw
IjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxs
TW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xv
cldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAg
Ci0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxv
YXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0
dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0
ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRl
eFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0
YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVD
b3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJU
RVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9
IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3lu
YygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzdd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJn
cHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dh
cENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBz
d2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmll
dyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1h
bmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29u
c3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNo
bWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBu
dWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1d
OwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJl
bmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVn
aW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsK
LSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAg
ZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rl
dmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIt
YWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVl
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2Ug
PSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1
dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0
IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJl
YWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3Qg
QmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgp
IHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5k
ZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
YlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1b
M10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFs
dWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVs
cy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0
IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBC
YXIqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLXN0cnVjdCBCYXog
ewotICAgIEJhciBwOwotfQotCi10aHJlYWQgQmFyKiBvcGVyYXRvciZbXSh0aHJlYWQgQmF6KiBi
LCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT5wOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzFdWzJd
WzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXVszXSwgYlsxXVsyXVszXSwgYlsx
XVsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAg
Y29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hh
ZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsK
LSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29u
c3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25l
In07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7
fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhh
QmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMu
QUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0
IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAg
IGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07
Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7
dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJh
Z21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JT
dGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxh
eW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNl
LmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3Jl
YXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsz
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
M10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAo
KTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAg
Y29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0i
fTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2Fw
Q2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdl
dEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRU
ZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9
IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHty
OiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3th
dHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9w
OiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVz
Y3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAg
ICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFz
cyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxp
bmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZl
cnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0
LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3Qg
Y29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRR
dWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVu
KGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwot
fSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5k
ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9j
YW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWFuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVy
dGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6
IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewot
ICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyog
ZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0g
ICAgRm9vIHo7Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBCYXIqIGIsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFn
bWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMV1bMl0gPSAx
LjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzFdWzJdLCBiWzFdWzJdLCBiWzFdWzJdLCAxLjApOwot
fQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1
bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAg
ICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
InZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1p
dGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9u
U3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBh
bHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVu
ZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBk
ZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtz
aGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0g
e3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1
dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBp
bnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91
cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmlt
aXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVu
Y2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxh
eW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAq
IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4
QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBh
d2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Ml0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
Ml0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVm
ZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNl
KSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiAmZi0+eDsKLX0KLQotRm9vIGdlbmVyYXRlRm9vKCkgewotICAgIEZvbyBmOwot
ICAgIGYueCA9IDEuMDsKLSAgICByZXR1cm4gZjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdt
ZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgcmV0dXJuIGZsb2F0NChnZW5lcmF0ZUZv
bygpWzBdLCBnZW5lcmF0ZUZvbygpWzFdLCBnZW5lcmF0ZUZvbygpWzJdLCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWdldHRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAi
IGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3Jv
dW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0
ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDog
U1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0g
ICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiBmbG9hdChpbmRleCk7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEZvbyBmOwotICAgIHJldHVybiBmbG9hdDQoZlsx
XSwgZlsxXSwgZlsxXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7
Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29k
ZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVu
dFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFk
ZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0g
ICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6
ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxl
bmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIs
IGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0
ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAg
IGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9
OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1
dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5w
dXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFn
ZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwg
Y29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6
IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0g
ZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwg
R1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZp
Y2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEw
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIu
dW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4
dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFp
bihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENo
YWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBv
dXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5j
b2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJl
ZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRz
ID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwg
bG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVu
ZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAg
Y29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmlj
ZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2Uo
KS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3Qt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMTQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0g
YAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRl
KDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBG
b28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQg
aW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQg
aW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotc3RydWN0
IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLUJhciBvcGVyYXRvcltdKEJheiBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuIGIucDsKLX0KLQotQmF6IG9wZXJhdG9yW109KEJheiBiLCB1aW50IGlu
ZGV4LCBCYXIgYSkgewotICAgIGIucCA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJheiBiOwotICAg
IGJbMl1bM11bNF0gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdWzRdLCBiWzJdWzNd
WzRdLCBiWzJdWzNdWzRdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2Up
IHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtj
b2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNo
YWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdt
ZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNo
YWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsK
LSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9k
ZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3Jt
IiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldy
aXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0g
ICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0
In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJp
YnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJ
bnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGlu
ZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2Ny
aXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0
YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRl
LCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3Vu
dDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUg
PSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVgg
fCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRl
dmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygp
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXko
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsw
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUi
KTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdy
YTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENo
YWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2Fw
Q2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9
IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRF
bmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3Qg
cmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVu
dHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxs
LCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRl
clBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5S
ZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5z
ZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVy
dGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAg
ICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2
aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rldmlj
ZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0
aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3Jv
dW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3Vy
Y2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRy
aWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3Ry
dWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShGb28gZiwgdWlu
dCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvcltdPShGb28gZiwg
dWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19Ci0K
LXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIgYiwgdWlu
dCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShCYXIgYiwg
dWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1m
cmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIg
YjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXSwgYlsyXVsz
XSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0g
ICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTog
c2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1z
ZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1l
eHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJs
dWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+
Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9h
dDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBw
b3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3Bl
cmF0b3JbXShGb28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBv
cGVyYXRvcltdPShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0g
ICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQg
Rm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJu
ICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQo
YlsyXVszXSwgYlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBj
b25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
ZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmds
ZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3
IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAi
cmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8g
R1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxs
OwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1h
dDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVT
ZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29u
c3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9
IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6
YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwg
c2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZs
b2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxv
YXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZv
cm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZp
Z3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQot
ICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xv
ckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRh
cmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9y
OiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBj
b25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNv
ZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVy
UGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQ
YXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgp
OwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24g
MjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJh
dG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19
Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIgYiwg
dWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShCYXIg
YiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQot
Ci1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBC
YXIgYjsKLSAgICBGb28gZm9vOwotICAgIGZvby54ID0gMS4wOwotICAgIGJbMV0gPSBmb287Ci0g
ICAgZm9vID0gYlsxXTsKLSAgICByZXR1cm4gZmxvYXQ0KGZvby54LCBmb28ueCwgZm9vLngsIDEu
MCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRl
ck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0p
OwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3Qg
cHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6
YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNv
bnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xv
ckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUw
ID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1
dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0
IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZl
cnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7Ymlu
ZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNy
ZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2Us
IHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0
aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVs
aW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5k
ZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4
QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1B
UF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBj
b25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBD
aGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29u
c3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4
dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVh
dGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwg
YjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDog
b3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwg
c3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7
Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFz
c0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0
ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9u
KCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVl
LTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVj
dGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2
ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRl
eCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBT
Vl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAg
ICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYu
eDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsK
LSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBv
cGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9
KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVj
dCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3IucShCYXogYikgewotICAgIHJl
dHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvci5xPShCYXogYiwgQmFyIGEpIHsKLSAgICBiLnAg
PSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIo
KSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiLnEudy55ID0gMS4wOwotICAgIHJl
dHVybiBmbG9hdDQoYi5xLncueSwgYi5xLncueSwgYi5xLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNv
bnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMg
ZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNl
LmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVy
dGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFk
ZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9n
eSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zy
b250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9
IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9
IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFz
azogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2ls
U3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRp
b246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2
LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0
MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQot
ICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBb
XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlv
dXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xv
Z3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2
ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAg
IGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9y
ID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTog
R1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4
QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzhd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBj
YW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9
IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBj
b250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25z
dCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29u
c3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7
Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rl
cigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAg
ICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmll
dywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUi
LCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0g
bnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRz
LCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9
IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNv
ZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZl
cl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0
YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9z
ZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFj
dC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0
ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsK
LSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19
Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28g
b3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBm
OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yLncoQmFy
IGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBh
KSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAx
LjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxv
YXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9z
aXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxv
YXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19
Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAg
cmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9v
KiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1m
cmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIg
YjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53
LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRl
c3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0
cyA9IHt9OwogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+
CiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAg
ICBpbnQgb3BlcmF0b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7
CkBAIC0zMCwxMCArMzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFz
eW5jCiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAg
ICAgfQotICAgIGA7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNs
VGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyAr
NTMsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNs
VGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0g
ICAgY29uc3QgcHJvZ3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVj
dCBCYXIgeyB9CiAgICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03
NSwxNCArNzIsMTIgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAog
ICAgICAgICAgICAgYmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAg
ICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hs
c2xUZXN0cy5yZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3Jh
bSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAg
ICAgICAgIGludCB4OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxz
bFRlc3RzLnJlY3Vyc2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFy
LmMgPSA4OwogICAgICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0K
LSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJmIiwgW10pLCA4Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFz
eW5jICgpID0+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1z
ZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAot
UEFTUyBzaW1wbGVTZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAko
cmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0
ZXItc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlw
dD4KIGNvbnN0IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBh
c3luYyAoKSA9PiB7Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4g
ewogICAgIGxldCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAg
IGludCB4OwogICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQg
Zm9vKCkKICAgICAgICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54
ID0gNzgwNDsKLSAgICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwgNzgwNCk7Ci19OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsK
LSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBp
bnQgeDsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9w
ZXJhdG9yLnk9KEZvbyBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9v
LnggPSB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBm
b28ueSA9IDc4MDQ7CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBg
OwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mt
b24tbnVsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNj
ZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0K
LVBBU1MgZmllbGRTaG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0
ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNs
VGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3Jh
bSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAg
ICAgIGludCB5OwotICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBm
b28odWludCBpKSB7Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJl
YWQgRm9vKiBmb28gPSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYo
Zm9vLT56KTsKLSAgICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsK
LSAgICAgICAgfQotICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0g
ICAgICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZv
byIsIFttYWtlVWludChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
bWFrZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
Qm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRy
dWUpOwotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1s
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJu
ZXNzLXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHdobHNsVGVz
dHMuZmxvYXQ0eDR0ZXN0cyA9ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwgIlVwbG9hZCBh
IGZsb2F0NHg0W10gYW5kIHN0b3JlIGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0gICAgY2hlY2tB
cnJheXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZs
b2F0NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0
LCAxNSkpOyIsIFtdLCBmbG9hdDR4NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0
eDQiLCAicmV0dXJuIGZsb2F0NHg0KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0KDQsIDUsIDYs
IDcpLCBmbG9hdDQoOCwgOSwgMTAsIDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1KSk7IiwgW10s
IGZsb2F0NHg0Q29sdW1uRXhwZWN0ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJy
ZXR1cm4gaW4wOyIsIFtmbG9hdDR4NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3RlZCk7CiAgICAg
bGV0IG11bHRpcGxlNHg0YXJncyA9IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsr
aSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377673</attachid>
            <date>2019-08-29 21:04:52 -0700</date>
            <delta_ts>2019-08-30 14:18:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2605169</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0
ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgV0hMU0wgaW4gYSBzaWduaWZpY2FudCB3YXku
IFRoaXMgcGF0Y2ggcmVtb3ZlcyBnZXR0ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGZyb20g
dGhlIGxhbmd1YWdlLiBJbiBvdXIgZXhwZXJpZW5jZSB3cml0aW5nIFdITFNMIHNoYWRlcnMsIHRo
ZXNlIHBhcnRzIG9mIHRoZSBsYW5ndWFnZQorICAgICAgICB3ZW50IHVudXNlZCwgYW5kIHRoZXkg
YWRkZWQgYSBsb3Qgb2YgY29tcGxleGl0eSB0byB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNv
bXBpbGVyLgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBub3cgdHJlYXRzIGZpZWxkIGFj
Y2Vzc2VzIGFuZCBhcnJheSBpbmRleGVzIGFzIGludHJpbnNpY3MgaW5zaWRlIHRoZSBjb21waWxl
ci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBub3Rpb25zIG9mIG5hbWVkIG9wZXJh
dG9ycywgYW5kZXJzLCBhbmQgaW5kZXhlZCBvcGVyYXRvcnMKKyAgICAgICAgZnJvbSB0aGUgY29t
cGlsZXIgYW5kIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LiBUaGUgY2hlY2tlciBub3cgaW50cmluc2lj
YWxseSBrbm93cyB0aGUKKyAgICAgICAgcmV0dXJuIHR5cGUgZm9yIHByb3BlcnR5IGFjY2Vzc2Vz
IGFuZCBpbmRleGVkIGV4cHJlc3Npb25zIGJhc2VkIG9uIHdoYXQgdGhlCisgICAgICAgIGJhc2Ug
dHlwZSBpcy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIGluIHByYWN0aWNl
IHdhcyBkaWZmaWN1bHQsIHNpbmNlIGdldHRlcnMvc2V0dGVycy9hbmRlcnMKKyAgICAgICAgc29s
dmVkIGEgbG90IG9mIHRoZSBkaWZmaWN1bHQgcHJvYmxlbXMgd2UgaGFkIGluIGdlbmVyYXRpbmcg
bWV0YWwgY29kZS4gRm9yCisgICAgICAgIGV4YW1wbGUsIGFsbCBzd2l6emxlIG9wZXJhdG9ycyB3
ZXJlIGdldHRlcnMgYW5kIHNldHRlcnMsIHNvIGFzc2lnbmluZyB0byBhCisgICAgICAgIHN3aXp6
bGUgZmVsbCBvdXQgbmF0dXJhbGx5IGZyb20gaW1wbGVtZW50aW5nIHNldHRlcnMuIEhvd2V2ZXIs
IGR1cmluZyBtZXRhbAorICAgICAgICBjb2RlZ2VuLCBhbGwgd2Ugc2VlIGlzIGEgZG90IGV4cHJl
c3Npb24gd2l0aCAieHkiIGFzIGEgcHJvcGVydHkuIE91ciBwcmV2aW91cworICAgICAgICBhcmNo
aXRlY3R1cmUgb2YgZW1pdHRpbmcgTWV0YWwgY29kZSB1c2luZyBwb2ludGVycyB3aGljaCByZXBy
ZXNlbnQgbHZhbHVlcworICAgICAgICBkb2Vzbid0IHdvcmsgYmVjYXVzZSB5b3UgY2FuJ3QgdGFr
ZSB0aGUgYWRkcmVzcyBvZiBhIHN3aXp6bGUuIEZvciBleGFtcGxlLAorICAgICAgICAiYXV0byog
eCA9ICZ2ZWN0b3IueXoiIGlzIGludmFsaWQgbWV0YWwgY29kZS4KKyAgICAgICAgCisgICAgICAg
IFNvLCB0aGlzIHBhdGNoIGNoYW5nZXMgdGhlIGVudGlyZSBtZXRhbCBjb2RlIGdlbmVyYXRvciB0
byBlbWl0IFdITFNMIGV4cHJlc3Npb25zCisgICAgICAgIGFzIE1ldGFsIGV4cHJlc3Npb25zLiBU
byBkbyB0aGlzLCBJIGhhZCB0byBjaGFuZ2UgYSBsb3QgYWJvdXQgaG93IHRoZSBjb21waWxlcgor
ICAgICAgICB3YXMgaW1wbGVtZW50ZWQ6CisgICAgICAgIC0gSSBjaGFuZ2VkIHRoZSBpbmRleGVk
IGFjY2Vzc2VzIG9mIG1hdHJpY2VzIHRvIHJldHVybiBjb2x1bW5zIGluc3RlYWQgb2YKKyAgICAg
ICAgcm93cy4gVGhpcyBhbGxvd2VkIFdITFNMIGNvZGUgbGlrZSBgbWF0WzBdLnh5ID0gNDJgIHRv
IGJlIGNvbXBpbGVkIGludG8KKyAgICAgICAgdGhlIGVxdWl2YWxlbnQgbWV0YWwgY29kZSBvZiBg
bWF0WzBdLnh5ID0gNDJgLgorICAgICAgICAtIEkgY2hhbmdlZCB0aGUgbmF0aXZlIGZ1bmN0aW9u
IGlubGluZXIgdG8gZW1pdCBleHByZXNzaW9ucyBpbnN0ZWFkIG9mCisgICAgICAgIHN0YXRlbWVu
dHMuCisgICAgICAgIC0gV2UgYWxzbyBzaW1wbGlmeSB0aGUgbGFuZ3VhZ2UgYnkgcmVtb3Zpbmcg
bnVsbCBhbmQgcmVxdWlyaW5nIGFsbAorICAgICAgICByZWZlcmVuY2UgdHlwZSB2YXJpYWJsZXMg
dG8gaGF2ZSBhbiBpbml0aWFsaXplci4gVGhpcyBtZWFucyB0aGF0CisgICAgICAgIG51bGwgaXMg
bm8gbG9uZ2VyIGEgdmFsaWQgdmFsdWUsIHdoaWNoIGFsbG93cyB1cyB0byBvbWl0IG51bGwgY2hl
Y2tzCisgICAgICAgIGluc2lkZSB0aGUgbWV0YWwgY29kZSBnZW5lcmF0b3IuIFRvIG1ha2UgdGhp
cyB3b3JrIHdpdGggYXJyYXkKKyAgICAgICAgYWNjZXNzZXMsIHdlIG5vdyBjbGFtcCBhY2Nlc3Nl
cyBpbnN0ZWFkIG9mIHJldHVybmluZyBudWxsIGZvciBPT0IKKyAgICAgICAgYWNjZXNzZXMuCisK
KyAgICAgICAgVGVzdHM6IHdlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAorICAg
ICAgICAgICAgICAgd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCisgICAgICAgICAg
ICAgICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCisgICAgICAgICAgICAg
ICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHdl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAorICAgICAgICAgICAgICAgd2ViZ3B1L3dobHNs
L29wZXJhdG9yLXN5bnRheC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xBU1QuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xD
b25zdGFudEV4cHJlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xEb3RFeHByZXNzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpFeHBy
ZXNzaW9uOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Np
b246OmRlc3RydWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVy
RnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5kZXJGdW5jdGlvbk5hbWUgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Np
b24uaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Npb246OmNvcHlUeXBl
VG8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6RXhwcmVzc2lvbjo6aXNN
YWtlUG9pbnRlckV4cHJlc3Npb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VDo6RXhwcmVzc2lvbjo6aXNOdWxsTGl0ZXJhbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTE51bGxMaXRlcmFsVHlwZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5j
dGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjp0aHJlYWRBbmRlckZ1bmN0
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRHZXR0ZXJGdW5jdGlv
bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb246OnNldEFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRUaHJlYWRBbmRlckZ1
bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbjo6c2V0U2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlR5cGU6OmRlc3Ryb3kpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VHlwZTo6ZGVzdHJ1Y3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNhblJlc29sdmUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNpb25Db3N0
IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc0ludGVnZXJMaXRlcmFsVHlw
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc051bGxMaXRl
cmFsVHlwZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6SG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9y
OjpIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNvcmU6
OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCk6CisgICAg
ICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1p
dENvbnN0YW50RXhwcmVzc2lvblN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0
YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJp
bGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kTGVm
dFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZh
bHVlQW5kTnVsbGFiaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnRha2VMYXN0TGVmdFZhbHVlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdl
bmVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6Om1ldGFsQ29kZVBy
b2xvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6Z2VuZXJhdGVNZXRhbENv
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjptZXRhbENvZGVQcm9sb2cpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
RnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjppbmxp
bmVOYXRpdmVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OnZlY3Rv
cklubmVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXSExTTDo6TWV0YWw6OndyaXRlTmF0aXZlVHlwZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VER1bXBlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNU
RHVtcGVyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tEdXBsaWNh
dGVGdW5jdGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZUJ5SW5zdGFudGlhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tPcGVyYXRvck92ZXJsb2FkKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2VyOjp3cmFwcGVkVWludFR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6Om5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNv
cmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Q2hl
Y2tlcjo6cmVzb2x2ZUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2Vy
Ojphc3NpZ25Db25jcmV0ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVX
aXRoT3BlcmF0b3JMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNo
ZWNrZXI6OmdlbmVyaWNQb2ludGVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6Q2hlY2tlcjo6ZmluaXNoVmlzaXRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6ZmluZEhpZ2hab21iaWVzKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6Y29tbWl0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpJbnRyaW5zaWNzOjpib29sVmVjdG9yVHlw
ZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkludHJpbnNpY3M6OnVp
bnRWZWN0b3JUeXBlRm9yU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6SW50
cmluc2ljczo6aW50VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OkludHJpbnNpY3M6OmZsb2F0VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxleGVyOjpjb25zdW1lVG9rZW5Gcm9tU3RyZWFtKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHA6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlBhcnNlcjo6cGFyc2VDb25zdGFudEV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OlBhcnNlcjo6cGFyc2VFbnVtZXJhdGlvbk1lbWJlcik6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6UGFyc2VyOjpwYXJzZVRlcm0pOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJlcGFyZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cHJlcGFy
ZVNoYXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvZ3JhbTo6aXNWYWxpZFZlY3Rv
clByb3BlcnR5KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
aDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6d3JhcEFuZGVyQ2FsbEFyZ3VtZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjphbmRlckNhbGxBcmd1bWVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6c2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6Z2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6bW9kaWZ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0
eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvcGVydHlSZXNvbHZlcjo6c2ltcGxp
ZnlMZWZ0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHA6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0OgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmg6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlv
bnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucyk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpWaXNpdG9yOjp2aXNpdCk6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmg6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5
LTA4LTI5ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBD
b3B5aW5nIGFuZCBwYXN0aW5nIHR3byBwYXJhZ3JhcGhzIHdpdGggYSBuZXdsaW5lIGJldHdlZW4g
dGhlbSByZXN1bHRzIGluIHN0cmF5IHBhcmFncmFwaCB3aXRoIG5ld2xpbmUgaW5zaWRlLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTYsMTAgKzMxNiw4IEBAIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMR2F0aGVy
RW50cnlQb2ludEl0ZW1zLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVjdXJzaXZlVHlw
ZUNoZWNrZXIuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQ29u
c3RydWN0b3JzLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVy
YXRpb25GdW5jdGlvbnMuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVT
dHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tl
ci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTmFtZUNvbnRleHQuY3BwCkBAIC0zMzEs
NiArMzI5LDcgQEAgTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKK01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMVHlwZU5hbWVyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcApAQCAtMzQ3LDcg
KzM0Niw2IEBAIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFNwZWNpYWxpemEKIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFN0YWdlSW5PdXRTZW1hbnRpYy5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuY3BwCi1Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFN0YXRlbWVudC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMwMiwxMiArMzAyLDYgQEAgdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Rmxv
YXRMaXRlcmFsJgogICAgIG1fb3V0LnByaW50KGZsb2F0TGl0ZXJhbC52YWx1ZSgpKTsKIH0KIAot
dm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewot
ICAgIG1fb3V0LnByaW50KCJudWxsIik7Ci0gICAgdmlzaXQobnVsbExpdGVyYWwudHlwZSgpKTsK
LX0KLQogdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5M
aXRlcmFsKQogewogICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQpAQCAtMzI4LDEwICsz
MjIsNiBAQCB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUCiB7CiB9CiAK
LXZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpCi17Ci19Ci0KIHZv
aWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIG1fb3V0LnByaW50KGVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbC5sZWZ0KCksICIuIiwgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLnJpZ2h0KCkpOwpA
QCAtNDI1LDcgKzQxNSw2IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkV4cHJlc3Npb24m
IGUKICAgICBib29sIHNraXBQYXJlbnMgPSBpczxBU1Q6OkJvb2xlYW5MaXRlcmFsPihleHByZXNz
aW9uKQogICAgICAgICB8fCBpczxBU1Q6OkZsb2F0TGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAg
ICAgfHwgaXM8QVNUOjpJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVzc2lvbikKLSAgICAgICAgfHwgaXM8
QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpVbnNpZ25l
ZEludGVnZXJMaXRlcmFsPihleHByZXNzaW9uKQogICAgICAgICB8fCBpczxBU1Q6OkVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpDb21tYUV4
cHJlc3Npb24+KGV4cHJlc3Npb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEFTVER1bXBlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcxLDEyICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aXNpdChB
U1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2ln
bmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2
aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6RnVuY3Rpb25BdHRyaWJ1dGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TnVt
VGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJikgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENo
ZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwyNCArMTIyLDcgQEAgcHJpdmF0ZToKIEV4cGVjdGVk
PHZvaWQsIEVycm9yPiBjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucyhjb25zdCBQcm9ncmFtJiBwcm9n
cmFtKQogewogICAgIGF1dG8gcGFzc2VzU3RhdGljQ2hlY2tzID0gWyZdIChjb25zdCBBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uKSAtPiBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gewot
ICAgICAgICBpZiAoZnVuY3Rpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIgJiYgZnVuY3Rpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAyCi0gICAgICAgICAgICAmJiBpczxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpKSB7Ci0gICAgICAgICAgICBhdXRvJiB0eXBlID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpUeXBlUmVmZXJlbmNlPih0
eXBlKSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYxIFNob3VsZG4ndCB3ZSBhbHJlYWR5IGtub3cgd2hldGhl
ciB0aGUgdHlwZXMgaGF2ZSBiZWVuIHJlc29sdmVkIGJ5IG5vdz8KLSAgICAgICAgICAgICAgICBp
ZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPih0eXBl
KS5tYXliZVJlc29sdmVkVHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpczxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oKnJlc29sdmVkVHlwZSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPigqcmVzb2x2ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24ubmFtZSgpID09ICJ1aW50IikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBk
ZWZpbmUgYXJyYXkgcmVmZXJlbmNlIGFuZGVyLiIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChmdW5j
dGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgZnVuY3Rpb24ucGFyYW1ldGVycygp
LnNpemUoKSA9PSAxCi0gICAgICAgICAgICAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+
KHN0YXRpY19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKQotICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHN0YXRp
Y19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCkpKSkpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNh
bm5vdCBkZWZpbmUgb3BlcmF0b3IubGVuZ3RoIGZvciBhbiBhcnJheS4iKSk7Ci0gICAgICAgIGVs
c2UgaWYgKGZ1bmN0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKKyAgICAgICAgaWYgKGZ1bmN0
aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKICAgICAgICAgICAgICYmIGZ1bmN0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMgogICAgICAgICAgICAgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBl
PihzdGF0aWNfY2FzdDxjb25zdCBBU1Q6OlVubmFtZWRUeXBlJj4oKmZ1bmN0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpKSkKICAgICAgICAgICAgICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4o
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5OSw3NiArMTk5LDYgQEAgcHJpdmF0ZToKICAgICBBU1Q6Ok5hbWVkVHlwZSog
bV9jYXN0UmV0dXJuVHlwZTsKIH07CiAKLWNsYXNzIEFuZE92ZXJsb2FkVHlwZUtleSB7Ci1wdWJs
aWM6Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5KCkgPSBkZWZhdWx0OwotICAgIEFuZE92ZXJsb2Fk
VHlwZUtleShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgewotICAgICAgICBt
X3R5cGUgPSBiaXR3aXNlX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSo+KHN0YXRpY19jYXN0PHVpbnRw
dHJfdD4oMSkpOwotICAgIH0KLQotICAgIEFuZE92ZXJsb2FkVHlwZUtleShBU1Q6OlVubmFtZWRU
eXBlJiB0eXBlLCBBU1Q6OkFkZHJlc3NTcGFjZSBhZGRyZXNzU3BhY2UpCi0gICAgICAgIDogbV90
eXBlKCZ0eXBlKQotICAgICAgICAsIG1fYWRkcmVzc1NwYWNlKGFkZHJlc3NTcGFjZSkKLSAgICB7
IH0KLQotICAgIGJvb2wgaXNFbXB0eVZhbHVlKCkgY29uc3QgeyByZXR1cm4gIW1fdHlwZTsgfQot
ICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gYml0d2lzZV9jYXN0PEFTVDo6VW5uYW1lZFR5cGUqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+
KDEpKTsgfQotCi0gICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gSW50SGFzaDx1aW50OF90Pjo6aGFzaChzdGF0aWNfY2FzdDx1aW50OF90PihtX2FkZHJlc3NT
cGFjZSkpIF4gbV90eXBlLT5oYXNoKCk7Ci0gICAgfQotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gbV9hZGRyZXNzU3BhY2UgPT0gb3RoZXIubV9hZGRyZXNzU3BhY2UKLSAgICAgICAgICAgICYm
ICptX3R5cGUgPT0gKm90aGVyLm1fdHlwZTsKLSAgICB9Ci0KLSAgICBzdHJ1Y3QgSGFzaCB7Ci0g
ICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYga2V5
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4ga2V5Lmhhc2goKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgYSwg
Y29uc3QgQW5kT3ZlcmxvYWRUeXBlS2V5JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gYSA9PSBiOwotICAgICAgICB9Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRv
Q29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFRy
YWl0cyA6IHB1YmxpYyBXVEY6OlNpbXBsZUNsYXNzSGFzaFRyYWl0czxBbmRPdmVybG9hZFR5cGVL
ZXk+IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24g
PSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFsdWUoY29uc3QgQW5kT3Zlcmxv
YWRUeXBlS2V5JiBrZXkpIHsgcmV0dXJuIGtleS5pc0VtcHR5VmFsdWUoKTsgfQotICAgIH07Ci0K
LXByaXZhdGU6Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogbV90eXBlIHsgbnVsbHB0ciB9OwotICAg
IEFTVDo6QWRkcmVzc1NwYWNlIG1fYWRkcmVzc1NwYWNlOwotfTsKLQotc3RhdGljIEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKENv
ZGVMb2NhdGlvbiBsb2NhdGlvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUmIGZpcnN0QXJndW1l
bnQsIGNvbnN0IEludHJpbnNpY3MmIGludHJpbnNpY3MpCi17Ci0gICAgY29uc3QgYm9vbCBpc09w
ZXJhdG9yID0gdHJ1ZTsKLSAgICBhdXRvIHJldHVyblR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpj
cmVhdGUobG9jYXRpb24sIGZpcnN0QXJndW1lbnQuYWRkcmVzc1NwYWNlKCksIGZpcnN0QXJndW1l
bnQuZWxlbWVudFR5cGUoKSk7Ci0gICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0
ZXJzOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURl
Y2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksICZmaXJzdEFyZ3VtZW50LCBT
dHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgaW50cmluc2ljcy51aW50
VHlwZSgpKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlv
biwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlw
ZSksIFN0cmluZygib3BlcmF0b3ImW10iLCBTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0
YW5kYXJkTGlicmFyeSkpOwotfQotCi1zdGF0aWMgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uIHJlc29sdmVXaXRoT3BlcmF0b3JMZW5ndGgoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBBU1Q6
OlVubmFtZWRUeXBlJiBmaXJzdEFyZ3VtZW50LCBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNz
KQotewotICAgIGNvbnN0IGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgYXV0byByZXR1cm5U
eXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBpbnRyaW5zaWNzLnVpbnRU
eXBlKCkpOwotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICBw
YXJhbWV0ZXJzLmFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4o
bG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCAmZmlyc3RBcmd1bWVudCwgU3RyaW5nKCksIG51
bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9j
aygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3Iu
bGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVy
cyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsK
LX0KLQogc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aFJl
ZmVyZW5jZUNvbXBhcmF0b3IoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBSZXNvbHZpbmdUeXBlJiBm
aXJzdEFyZ3VtZW50LCBSZXNvbHZpbmdUeXBlJiBzZWNvbmRBcmd1bWVudCwgY29uc3QgSW50cmlu
c2ljcyYgaW50cmluc2ljcykKIHsKICAgICBjb25zdCBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwpA
QCAtMjk5LDM4ICsyMjksMTMgQEAgZW51bSBjbGFzcyBBY2NlcHRhYmlsaXR5IHsKIAogc3RhdGlj
IE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4gcmVzb2x2ZUJ5SW5zdGFu
dGlhdGlvbihjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiBsb2NhdGlvbiwgY29uc3Qg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBlcywgY29u
c3QgSW50cmluc2ljcyYgaW50cmluc2ljcykKIHsKLSAgICBpZiAobmFtZSA9PSAib3BlcmF0b3Im
W10iICYmIHR5cGVzLnNpemUoKSA9PSAyKSB7Ci0gICAgICAgIGF1dG8qIGZpcnN0QXJndW1lbnRB
cnJheVJlZiA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoW10oUmVmPEFT
VDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUq
IHsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nh
c3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuICZkb3duY2FzdDxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpV
bm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYpIC0+IEFTVDo6
QXJyYXlSZWZlcmVuY2VUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgfSkpOwotICAgICAgICBib29sIHNlY29uZEFyZ3VtZW50SXNVaW50ID0gdHlwZXNbMV0uZ2V0
KCkudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5h
bWVkVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh1bm5hbWVkVHlw
ZSwgaW50cmluc2ljcy51aW50VHlwZSgpKTsKLSAgICAgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBib29sIHsKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUo
KS5jYW5SZXNvbHZlKGludHJpbnNpY3MudWludFR5cGUoKSk7Ci0gICAgICAgIH0pKTsKLSAgICAg
ICAgaWYgKGZpcnN0QXJndW1lbnRBcnJheVJlZiAmJiBzZWNvbmRBcmd1bWVudElzVWludCkKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKGxvY2F0aW9u
LCAqZmlyc3RBcmd1bWVudEFycmF5UmVmLCBpbnRyaW5zaWNzKTsKLSAgICB9IGVsc2UgaWYgKG5h
bWUgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgdHlwZXMuc2l6ZSgpID09IDEpIHsKLSAgICAgICAg
YXV0byogZmlyc3RBcmd1bWVudFJlZmVyZW5jZSA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6
bWFrZVZpc2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNU
OjpVbm5hbWVkVHlwZSogewotICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPihzdGF0aWNfY2FzdDxBU1Q6OlVubmFtZWRUeXBlJj4odW5uYW1lZFR5cGUpKSB8fCBpczxB
U1Q6OkFycmF5VHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBl
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHVubmFtZWRUeXBlLnB0cigpOwotICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJl
ZmVyZW5jZT4mKSAtPiBBU1Q6OlVubmFtZWRUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgfSkpOwotICAgICAgICBpZiAoZmlyc3RBcmd1bWVudFJlZmVyZW5jZSkK
LSAgICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yTGVuZ3RoKGxvY2F0aW9uLCAq
Zmlyc3RBcmd1bWVudFJlZmVyZW5jZSwgaW50cmluc2ljcyk7Ci0gICAgfSBlbHNlIGlmIChuYW1l
ID09ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgeworICAgIGlmIChuYW1lID09
ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgewogICAgICAgICBhdXRvIGFjY2Vw
dGFiaWxpdHkgPSBbXShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKSAtPiBBY2NlcHRhYmls
aXR5IHsKICAgICAgICAgICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZp
c2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQWNjZXB0YWJp
bGl0eSB7CiAgICAgICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdW5uYW1lZFR5cGUtPnVu
aWZ5Tm9kZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNhc3Q8QVNUOjpVbm5hbWVk
VHlwZT4odW5pZnlOb2RlKSkgPyBBY2NlcHRhYmlsaXR5OjpZZXMgOiBBY2NlcHRhYmlsaXR5OjpO
bzsKLSAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBBY2NlcHRhYmlsaXR5IHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LT5yZXNvbHZhYmxlVHlwZSgpKSA/IEFjY2VwdGFiaWxpdHk6Ok1heWJlIDogQWNjZXB0YWJpbGl0
eTo6Tm87CisgICAgICAgICAgICB9LCBbXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+
JikgLT4gQWNjZXB0YWJpbGl0eSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFjY2VwdGFiaWxp
dHk6Ok5vOwogICAgICAgICAgICAgfSkpOwogICAgICAgICB9OwogICAgICAgICBhdXRvIGxlZnRB
Y2NlcHRhYmlsaXR5ID0gYWNjZXB0YWJpbGl0eSh0eXBlc1swXS5nZXQoKSk7CkBAIC00MjcsOTcg
KzMzMiwxMyBAQCBzdGF0aWMgYm9vbCBjaGVja1NlbWFudGljcyhWZWN0b3I8RW50cnlQCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGNoZWNrT3BlcmF0b3JPdmVybG9hZChjb25z
dCBBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uLCBOYW1lQ29udGV4
dCYgbmFtZUNvbnRleHQsIEFTVDo6TmFtZVNwYWNlIGN1cnJlbnROYW1lU3BhY2UpCitzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24m
IGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKICAgICBlbnVtIGNsYXNzIENoZWNrS2luZCB7CiAgICAg
ICAgIEluZGV4LAogICAgICAgICBEb3QKICAgICB9OwogCi0gICAgYXV0byBjaGVja0dldHRlciA9
IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3Rl
ZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAg
aWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVk
UGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgZmly
c3RQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4o
Zmlyc3RQYXJhbWV0ZXJVbmlmeU5vZGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KGZpcnN0UGFyYW1ldGVyVW5pZnlOb2RlKTsK
LSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6OkluZGV4KSB7Ci0gICAgICAgICAgICBh
dXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFpczxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmICgh
aXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgbmF0aXZlVHlwZURlY2xhcmF0aW9u
ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0gICAg
ICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5pc0ludCgpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
OwotCi0gICAgYXV0byBjaGVja1NldHRlciA9IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7
Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2lu
ZDo6SW5kZXggPyAzIDogMjsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgYXV0byYgZmlyc3RBcmd1bWVudFVuaWZ5Tm9kZSA9IGZ1bmN0aW9u
RGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OlVubmFtZWRUeXBlPihmaXJzdEFyZ3VtZW50VW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihm
aXJzdEFyZ3VtZW50VW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJU
eXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRU
eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6
OkluZGV4KSB7Ci0gICAgICAgICAgICBhdXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBm
dW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwot
ICAgICAgICAgICAgaWYgKCFpczxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBu
YW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKTsKLSAgICAgICAgICAgIGlmICghaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5h
bWVkVHlwZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0
byYgbmF0aXZlVHlwZURlY2xhcmF0aW9uID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlv
bi5pc0ludCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIW1hdGNoZXMoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSwgKmZ1bmN0aW9uRGVm
aW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGF1dG8mIHZhbHVlVHlwZSA9ICpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpW251bUV4cGVjdGVkUGFyYW1ldGVycyAtIDFdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8g
Z2V0dGVyTmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3Vic3RyaW5nKDAsIGZ1bmN0
aW9uRGVmaW5pdGlvbi5uYW1lKCkubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgYXV0byBnZXR0ZXJG
dW5jcyA9IG5hbWVDb250ZXh0LmdldEZ1bmN0aW9ucyhnZXR0ZXJOYW1lLCBjdXJyZW50TmFtZVNw
YWNlKTsKLSAgICAgICAgVmVjdG9yPFJlc29sdmluZ1R5cGU+IGFyZ3VtZW50VHlwZXM7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBhcmd1bWVu
dFR5cGVSZWZlcmVuY2VzOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUV4cGVj
dGVkUGFyYW1ldGVycyAtIDE7ICsraSkKLSAgICAgICAgICAgIGFyZ3VtZW50VHlwZXMuYXBwZW5k
KCpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldLT50eXBlKCkpOwotICAgICAgICBm
b3IgKGF1dG8mIGFyZ3VtZW50VHlwZSA6IGFyZ3VtZW50VHlwZXMpCi0gICAgICAgICAgICBhcmd1
bWVudFR5cGVSZWZlcmVuY2VzLmFwcGVuZChhcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvKiBv
dmVybG9hZCA9IHJlc29sdmVGdW5jdGlvbk92ZXJsb2FkKGdldHRlckZ1bmNzLCBhcmd1bWVudFR5
cGVSZWZlcmVuY2VzLCBjdXJyZW50TmFtZVNwYWNlKTsKLSAgICAgICAgaWYgKCFvdmVybG9hZCkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgcmVzdWx0VHlwZSA9IG92
ZXJsb2FkLT50eXBlKCk7Ci0gICAgICAgIHJldHVybiBtYXRjaGVzKHJlc3VsdFR5cGUsIHZhbHVl
VHlwZSk7Ci0gICAgfTsKLQotICAgIGF1dG8gY2hlY2tBbmRlciA9IFsmXShDaGVja0tpbmQga2lu
ZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5k
ID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5p
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlO
b2RlID0gZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgICAg
IGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFT
VDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6UG9p
bnRlclR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZnVuY3Rp
b25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAg
ICAgICAgIGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4gaXM8
QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpIHx8IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih1bm5hbWVkVHlwZSk7Ci0gICAgICAgIH0KLSAgICB9OwotCiAgICAgaWYgKCFmdW5jdGlv
bkRlZmluaXRpb24uaXNPcGVyYXRvcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAo
ZnVuY3Rpb25EZWZpbml0aW9uLmlzQ2FzdCgpKQpAQCAtNTM5LDE5ICszNjAsNiBAQCBzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgCiAgICAgICAgIHJldHVybiBmdW5jdGlv
bkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyOwogICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpID09ICJvcGVyYXRvcn4iKQogICAgICAgICByZXR1cm4gZnVuY3Rpb25E
ZWZpbml0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMTsKLSAgICBpZiAoZnVuY3Rpb25EZWZp
bml0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpCi0gICAgICAgIHJldHVybiBjaGVja0dldHRl
cihDaGVja0tpbmQ6OkluZGV4KTsKLSAgICBpZiAoZnVuY3Rpb25EZWZpbml0aW9uLm5hbWUoKSA9
PSAib3BlcmF0b3JbXT0iKQotICAgICAgICByZXR1cm4gY2hlY2tTZXR0ZXIoQ2hlY2tLaW5kOjpJ
bmRleCk7Ci0gICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltd
IikKLSAgICAgICAgcmV0dXJuIGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpJbmRleCk7Ci0gICAgaWYg
KGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3IuIikpIHsKLSAg
ICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkKLSAgICAg
ICAgICAgIHJldHVybiBjaGVja1NldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgICAgIHJldHVy
biBjaGVja0dldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgfQotICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iKSkKLSAgICAgICAgcmV0dXJu
IGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpEb3QpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAt
NjAwLDEwICs0MDgsMTIgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
cmVjdXJzZUFuZFdyYXBCYXNlVHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwog
ICAgIGJvb2wgcmVjdXJzZUFuZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAg
ICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5h
bWVkVHlwZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVU
eXBlKEFTVDo6RXhwcmVzc2lvbiYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlv
bik7CiAgICAgdm9pZCBhc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2Fy
ZFR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRp
b24pOwogCiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRl
OworICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpUeXBlUmVmZXJlbmNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKQEAgLTYyMSw3ICs0MzEsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAgIHZvaWQg
dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpC
b29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TG9naWNhbE5v
dEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTYzNSwxMiArNDQ0LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNo
VmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBh
ZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxS
ZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwg
QVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKLSAgICBSZWZQdHI8
QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVk
VHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKLQogICAgIEFTVDo6VW5uYW1lZFR5
cGUmIHdyYXBwZWRGbG9hdFR5cGUoKQogICAgIHsKICAgICAgICAgaWYgKCFtX3dyYXBwZWRGbG9h
dFR5cGUpCkBAIC02NDgsMTEgKzQ1MywxMSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKm1f
d3JhcHBlZEZsb2F0VHlwZTsKICAgICB9CiAKLSAgICBBU1Q6OlVubmFtZWRUeXBlJiBnZW5lcmlj
UG9pbnRlclR5cGUoKQorICAgIEFTVDo6VW5uYW1lZFR5cGUmIHdyYXBwZWRVaW50VHlwZSgpCiAg
ICAgewotICAgICAgICBpZiAoIW1fZ2VuZXJpY1BvaW50ZXJUeXBlKQotICAgICAgICAgICAgbV9n
ZW5lcmljUG9pbnRlclR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUoeyB9LCBBU1Q6OkFk
ZHJlc3NTcGFjZTo6VGhyZWFkLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoeyB9LCBtX2ludHJp
bnNpY3MuZmxvYXRUeXBlKCkpKTsKLSAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlw
ZTsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBl
ZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwogICAgIH0KIAog
ICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpV
bm5hbWVkVHlwZSYgdHlwZSkKQEAgLTY2MSwxNCArNDY2LDExIEBAIHByaXZhdGU6CiAgICAgICAg
IGlmICh1bmlmeU5vZGUgPT0gJm1faW50cmluc2ljcy51aW50VHlwZSgpIHx8IHVuaWZ5Tm9kZSA9
PSAmbV9pbnRyaW5zaWNzLmludFR5cGUoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkRmxv
YXRUeXBlKCk7CiAKLSAgICAgICAgaWYgKGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4odHlwZSkpCi0g
ICAgICAgICAgICByZXR1cm4gZ2VuZXJpY1BvaW50ZXJUeXBlKCk7Ci0KICAgICAgICAgcmV0dXJu
IHR5cGU7CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVk
RmxvYXRUeXBlOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVy
VHlwZTsKKyAgICBSZWZQdHI8QVNUOjpUeXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRVaW50VHlwZTsK
ICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdU
eXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRz
W0FTVDo6bmFtZVNwYWNlQ291bnRdOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2ZyYWdtZW50RW50
cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CkBAIC02NzcsOCArNDc5LDggQEAgcHJpdmF0
ZToKICAgICBQcm9ncmFtJiBtX3Byb2dyYW07CiAgICAgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24q
IG1fY3VycmVudEZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXks
IFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4s
IDE+LCBGdW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7
Ci0gICAgSGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBl
PiwgQW5kT3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4g
bV9hbmRPdmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNw
YWNlIHsgQVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1Zp
c2l0aW5nUGFyYW1ldGVycyB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFBy
b2dyYW0mIHByb2dyYW0pCkBAIC03MzMsNiArNTM1LDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tT
aGFkZXJUeXBlKGNvbnN0IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNU
OjpGdW5jdGlvbkRlY2xhcmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNW
aXNpdGluZ1BhcmFtZXRlcnMgPSB0cnVlOworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVj
bGFyYXRpb24pOworICAgIG1faXNWaXNpdGluZ1BhcmFtZXRlcnMgPSBmYWxzZTsKK30KKwogdm9p
ZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0
aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1l
U3BhY2UoKTsKQEAgLTc1Miw3ICs1NjEsNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6RnVu
Y3Rpb25EZWZpbml0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0gICAg
aWYgKCFjaGVja09wZXJhdG9yT3ZlcmxvYWQoZnVuY3Rpb25EZWZpbml0aW9uLCBtX3Byb2dyYW0u
bmFtZUNvbnRleHQoKSwgbV9jdXJyZW50TmFtZVNwYWNlKSkgeworICAgIGlmICghY2hlY2tPcGVy
YXRvck92ZXJsb2FkKGZ1bmN0aW9uRGVmaW5pdGlvbikpIHsKICAgICAgICAgc2V0RXJyb3IoRXJy
b3IoIk9wZXJhdG9yIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHNpZ25hdHVyZS4iLCBmdW5jdGlv
bkRlZmluaXRpb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTc5MCw2ICs1OTksMTcgQEAgc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFu
ZAogICAgIH0pKTsKIH0KIAorc3RhdGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlw
ZSYgcmVzb2x2aW5nVHlwZSwgQVNUOjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1
cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5h
bWVkVHlwZT4mIHJlc29sdmluZ1R5cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5n
VHlwZSwgbmFtZWRUeXBlKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmluZ1R5cGUpIC0+IGJvb2wgeworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFt
ZWRUeXBlLCByZXNvbHZpbmdUeXBlLT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisK
IHN0YXRpYyBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJl
c29sdmluZ1R5cGUpCiB7CiAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRy
PEFTVDo6VW5uYW1lZFR5cGU+IHsKQEAgLTgxOCw5ICs2MzgsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIENoZWNrZXI6OnJlc29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlw
ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAg
ICAgICAgICBpZiAocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNO
dWxsTGl0ZXJhbFR5cGUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVy
VHlwZSgpOwotCiAgICAgICAgICAgICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJl
bmNlLT5yZXNvbHZhYmxlVHlwZSgpKS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiAr
Nzc1LDE0IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmEKICAgICAg
ICAgICAgIHNldEVycm9yKEVycm9yKCJEZWNsYXJlZCB2YXJpYWJsZSB0eXBlIGRvZXMgbm90IG1h
dGNoIGl0cyBpbml0aWFsaXplcidzIHR5cGUuIiwgdmFyaWFibGVEZWNsYXJhdGlvbi5jb2RlTG9j
YXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgfSBlbHNlIGlm
ICghbV9pc1Zpc2l0aW5nUGFyYW1ldGVycyAmJiBpczxBU1Q6OlJlZmVyZW5jZVR5cGU+KHZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgaWYgKGlzPEFT
VDo6UG9pbnRlclR5cGU+KHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkp
CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSBwb2ludGVyIHZh
cmlhYmxlIGRlY2xhcmF0aW9uIGluIGl0cyBpbml0aWFsaXplci4iLCB2YXJpYWJsZURlY2xhcmF0
aW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJU
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJNdXN0IGFzc2lnbiB0
byBhbiBhcnJheSByZWZlcmVuY2UgdmFyaWFibGUgZGVjbGFyYXRpb24gaW4gaXRzIGluaXRpYWxp
emVyLiIsIHZhcmlhYmxlRGVjbGFyYXRpb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05NjgsNiArNzkzLDEzIEBAIHZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAgICBleHByZXNzaW9uLnNldFR5cGVB
bm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsKIH0KIAordm9pZCBDaGVja2VyOjph
c3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBBU1Q6Ok5hbWVk
VHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5vdGF0aW9uKQoreworICAgIGF1dG8g
dW5uYW1lZFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24o
KSwgdHlwZSk7CisgICAgVmlzaXRvcjo6dmlzaXQodW5uYW1lZFR5cGUpOworICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShleHByZXNzaW9uLCBXVEZNb3ZlKHVubmFtZWRUeXBlKSwgYW5ub3RhdGlvbik7
Cit9CisKIHZvaWQgQ2hlY2tlcjo6YXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mIGV4cHJlc3Np
b24sIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4gcmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UsIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFsdWUo
KSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdHlwZU1hcC5hZGQoJmV4cHJlc3Npb24sIG1h
a2VVbmlxdWU8UmVzb2x2aW5nVHlwZT4oV1RGTW92ZShyZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSkp
KTsKQEAgLTEwMjksNyArODYxLDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExMzUsMTc5ICs5NjcsMTE1IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpNYWtl
QXJyYXlSZWZlcmUKICAgICBhc3NpZ25Db25jcmV0ZVR5cGUobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZShtYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqbGVmdEFkZHJlc3NTcGFjZSwgKmxlZnRWYWx1
ZVR5cGUpKTsKIH0KIAotUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IENoZWNrZXI6OmFyZ3VtZW50
VHlwZUZvckFuZE92ZXJsb2FkKEFTVDo6VW5uYW1lZFR5cGUmIGJhc2VUeXBlLCBBU1Q6OkFkZHJl
c3NTcGFjZSBhZGRyZXNzU3BhY2UpCi17Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5IGtleSB7IGJh
c2VUeXBlLCBhZGRyZXNzU3BhY2UgfTsKLSAgICB7Ci0gICAgICAgIGF1dG8gaXRlciA9IG1fYW5k
T3ZlcmxvYWRUeXBlTWFwLmZpbmQoa2V5KTsKLSAgICAgICAgaWYgKGl0ZXIgIT0gbV9hbmRPdmVy
bG9hZFR5cGVNYXAuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7Ci0gICAg
fQotCi0gICAgYXV0byBjcmVhdGVBcmd1bWVudFR5cGUgPSBbJl0gKCkgLT4gUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gYmFzZVR5cGUudW5pZnlO
b2RlKCk7Ci0gICAgICAgIGlmIChpczxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5
Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4geyBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUobmFt
ZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChuYW1lZFR5cGUuY29kZUxvY2F0aW9uKCksIG5hbWVkVHlwZSkpIH07Ci0gICAgICAgIH0K
LQotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSk7Ci0KLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gJnVubmFtZWRUeXBlOwotCi0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgcmV0dXJu
IHsgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZSh1bm5hbWVkVHlwZS5jb2RlTG9jYXRp
b24oKSwgYWRkcmVzc1NwYWNlLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUp
LnR5cGUoKSkgfTsKLQotICAgICAgICBpZiAoaXM8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5
cGUpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgcmV0dXJuIHsgQVNU
OjpQb2ludGVyVHlwZTo6Y3JlYXRlKHVubmFtZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNz
U3BhY2UsIHVubmFtZWRUeXBlKSB9OwotICAgIH07Ci0KLSAgICBhdXRvIHJlc3VsdCA9IGNyZWF0
ZUFyZ3VtZW50VHlwZSgpOwotICAgIG1fYW5kT3ZlcmxvYWRUeXBlTWFwLmFkZChrZXksIHJlc3Vs
dCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGlu
ZyhBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2
aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNl
SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkp
OworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJh
c2UoKSk7CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBi
YXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlm
ICghYmFzZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVz
b2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9u
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBk
b3QgZXhwcmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1
bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0
dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vf
d3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5y
ZXNvbHZpbmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAg
ICAgICAgICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpOwotICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
Z2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1
bmN0aW9uKGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1
dG8mIHR5cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6
OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9
IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBp
ZiAoQVNUOjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZp
ZWxkIG5hbWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlz
dCBvbiBzdHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVM
b2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5
cGUoKTsKLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rp
b24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5
cGUgPSBudWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2Up
IHsKLSAgICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5h
cmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NT
cGFjZSkpIHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8
QVNUOjpVbm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9u
YWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVu
ZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAg
ICAgYW5kZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFu
ZGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgICAgIGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9
ICZkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1l
bnRUeXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBw
b2ludGVyCiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24q
IHRocmVhZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRU
eXBlPiB0aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3Vt
ZW50VHlwZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQo
KmJhc2VVbm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAg
UmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6
OlBvaW50ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVh
ZEFuZGVyQXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0
aHJlYWRBbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24u
ZmllbGROYW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZl
cmVuY2VUeXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
CisgICAgICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYm
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkg
eworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRV
aW50VHlwZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBh
cnJheXMsIGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2Rl
TG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5k
ZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRU
eXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2lu
dGVyCi0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNWYWxpZFZlY3Rv
clByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAgICAgICBzZXRF
cnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICIn
IGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlm
IChsZWZ0QWRkcmVzc1NwYWNlICYmICFhbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11
c3QgZWl0aGVyIGhhdmUgYW4gYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAg
IGF1dG8gYWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpID8gQVNUOjpUeXBlQW5ub3RhdGlvbiB7IEFTVDo6UmlnaHRWYWx1ZSgpIH0gOiBBU1Q6OlR5
cGVBbm5vdGF0aW9uIHsgQVNUOjpBYnN0cmFjdExlZnRWYWx1ZSgpIH07CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgc2l6ZV90IGZpZWxkTGVuZ3RoID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKS5s
ZW5ndGgoKTsKKyAgICAgICAgYXV0byYgaW5uZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpOworICAgICAgICBpZiAo
ZmllbGRMZW5ndGggPT0gMSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBpbm5lclR5cGUsIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisg
ICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmlu
c2ljcy5ib29sVmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOwor
ICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5pbnRU
eXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9u
LCBtX2ludHJpbnNpY3MuaW50VmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNz
U3BhY2UpOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmlu
c2ljcy51aW50VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLnVpbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0
aCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlw
ZSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmZsb2F0VmVjdG9yVHlwZUZvclNp
emUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkJhc2UgdmFsdWUgb2YgZG90IGV4cHJlc3Np
b24gbXVzdCBiZSBhIHN0cnVjdHVyZSwgYXJyYXksIG9yIHZlY3Rvci4iLCBkb3RFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Cit9CiAKLSAgICBpZiAodGhyZWFkQW5kZXJGdW5jdGlvbiAmJiBn
ZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90IGhhdmUgYm90
aCBhIHRocmVhZCBhbmRlciBhbmQgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cit2b2lkIENoZWNrZXI6
OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCit7CisgICAgewor
ICAgICAgICBhdXRvIGluZGV4SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIGlmICghaW5kZXhJbmZvKQorICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKGFuZGVyRnVuY3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5jdGlv
biAmJiAhbWF0Y2hlcygqYW5kZXJSZXR1cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAo
IW1hdGNoQW5kQ29tbWl0KGluZGV4SW5mby0+cmVzb2x2aW5nVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggaW4gYW4gaW5k
ZXggZXhwcmVzc2lvbiBtdXN0IGJlIGEgdWludC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0
aW9uKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlm
IChnZXR0ZXJGdW5jdGlvbiAmJiBhbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqYW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0
dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGdldHRl
ci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICBhdXRv
IGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7Cisg
ICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmIChnZXR0
ZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJv
cigiUmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5yZXNv
bHZpbmdUeXBlKTsKKyAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgeworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYW4gaW5kZXgg
ZXhwcmVzc2lvbi4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiBmaWVsZFR5cGUgPSBn
ZXR0ZXJSZXR1cm5UeXBlID8gKmdldHRlclJldHVyblR5cGUgOiBhbmRlclJldHVyblR5cGUgPyAq
YW5kZXJSZXR1cm5UeXBlIDogKnRocmVhZEFuZGVyUmV0dXJuVHlwZTsKLQotICAgIEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIEFTVDo6VW5u
YW1lZFR5cGUqIHNldHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAgUmVz
b2x2aW5nVHlwZSBmaWVsZFJlc29sdmluZ1R5cGUoZmllbGRUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBzZXR0ZXJB
cmd1bWVudFR5cGVzIHsgYmFzZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFk
ZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVzLmFw
cGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIHNldHRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKGZpZWxkUmVzb2x2aW5nVHlwZSk7Ci0gICAgICAgIGF1dG8gc2V0dGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAg
c2V0dGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oc2V0dGVyQXJndW1lbnRUeXBlcywgc2V0
dGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgaWYgKGhhc0Vycm9yKCkpCisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5p
ZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgewor
ICAgICAgICBhdXRvJiBhcnJheVJlZmVyZW5jZVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4odHlwZSk7CisgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJl
c3Npb24sIGFycmF5UmVmZXJlbmNlVHlwZS5lbGVtZW50VHlwZSgpLCBBU1Q6OkxlZnRWYWx1ZSB7
IGFycmF5UmVmZXJlbmNlVHlwZS5hZGRyZXNzU3BhY2UoKSB9KTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6QXJyYXlUeXBlPih0eXBlKSkKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4
RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLnR5cGUoKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byBhZGRyZXNzU3Bh
Y2UgPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgPyBBU1Q6OlR5cGVB
bm5vdGF0aW9uIHsgQVNUOjpSaWdodFZhbHVlKCkgfSA6IEFTVDo6VHlwZUFubm90YXRpb24geyBB
U1Q6OkFic3RyYWN0TGVmdFZhbHVlKCkgfTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0
b3IoKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIG5h
dGl2ZVR5cGUudmVjdG9yVHlwZUFyZ3VtZW50KCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVs
c2UgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkgeworICAgICAgICAgICAgYXV0byYgaW5uZXJU
eXBlID0gbmF0aXZlVHlwZS5tYXRyaXhUeXBlQXJndW1lbnQoKTsKKyAgICAgICAgICAgIHVuc2ln
bmVkIG51bVJvd3MgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAgICAg
ICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisgICAg
ICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbV9pbnRyaW5z
aWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBl
KCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24s
IG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpLCBhZGRyZXNzU3Bh
Y2UpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZXR0ZXJG
dW5jdGlvbikKLSAgICAgICAgICAgIHNldHRlclJldHVyblR5cGUgPSAmc2V0dGVyRnVuY3Rpb24t
PnR5cGUoKTsKLSAgICB9Ci0KLSAgICBpZiAoc2V0dGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0
aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgZGVmaW5lIGEgc2V0dGVyIGZ1
bmN0aW9uIHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBleHByZXNzaW9uIG9uIGFuIHVua25vd24gYmFzZSB0
eXBlLiBCYXNlIHR5cGUgbXVzdCBiZSBhbiBhcnJheSwgYXJyYXkgcmVmZXJlbmNlLCB2ZWN0b3Is
IG9yIG1hdHJpeC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLQotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRHZXR0ZXJG
dW5jdGlvbihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dEFuZGVyRnVuY3Rpb24oYW5kZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldFRocmVhZEFuZGVyRnVuY3Rpb24odGhyZWFkQW5kZXJGdW5jdGlvbik7Ci0gICAgcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldFNldHRlckZ1bmN0aW9uKHNldHRlckZ1bmN0aW9uKTsK
LQotICAgIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFs
dWUoKTsKLSAgICBpZiAoYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5v
dGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxB
U1Q6OlJlZmVyZW5jZVR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkg
fTsKLSAgICAgICAgZWxzZSBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5u
b3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKTsKLSAgICB9IGVsc2UgaWYgKCFiYXNl
SW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgJiYgKHNldHRlckZ1bmN0aW9uIHx8
IHRocmVhZEFuZGVyRnVuY3Rpb24pKQotICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJz
dHJhY3RMZWZ0VmFsdWUoKTsKLSAgICBhc3NpZ25Db25jcmV0ZVR5cGUocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLCBXVEZNb3ZlKGZpZWxkVHlwZSksIFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
LX0KLQotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Np
b24pCi17Ci0gICAgZmluaXNoVmlzaXRpbmcoZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgQ2hl
Y2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAg
ICBhdXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4
RXhwcmVzc2lvbigpKTsKLSAgICBpZiAoIWJhc2VJbmZvKQotICAgICAgICByZXR1cm47Ci0gICAg
ZmluaXNoVmlzaXRpbmcoaW5kZXhFeHByZXNzaW9uLCAmYmFzZUluZm8tPnJlc29sdmluZ1R5cGUp
OwogfQogCiB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlh
YmxlUmVmZXJlbmNlKQpAQCAtMTM2MiwxMSArMTEzMCw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQo
QVNUOjpGbG9hdExpdGVyYWwmIGYKICAgICBhc3NpZ25UeXBlKGZsb2F0TGl0ZXJhbCwgYWRvcHRS
ZWYoKm5ldyBSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZShmbG9hdExpdGVyYWwudHlwZSgpKSkpOwog
fQogCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQot
ewotICAgIGFzc2lnblR5cGUobnVsbExpdGVyYWwsIGFkb3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UobnVsbExpdGVyYWwudHlwZSgpKSkpOwotfQotCiB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewogICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShib29sZWFuTGl0ZXJhbCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGJvb2xl
YW5MaXRlcmFsLmNvZGVMb2NhdGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpOwpAQCAt
MTQ4OCw4ICsxMjUxLDYgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVu
dAogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1hdGNoQW5kQ29tbWl0KCp2
YWx1ZVR5cGUsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudHlwZSgpKSk7CiAgICAgICAgIH0sIFsm
XShBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSAtPiBib29sIHsKICAgICAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1pdCgqdmFsdWVUeXBlLCBmbG9h
dExpdGVyYWwudHlwZSgpKSk7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJiBudWxs
TGl0ZXJhbCkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4o
bWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwgbnVsbExpdGVyYWwudHlwZSgpKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRlcmFsJikgLT4gYm9vbCB7CiAgICAgICAgICAgICByZXR1
cm4gbWF0Y2hlcygqdmFsdWVUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsKSAtPiBib29sIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2aXNp
b24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xI
aWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRfRElT
QUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRvIGxp
dmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBIaWdo
Wm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
Jikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0K
LQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJp
ZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0jZW5k
aWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmluZEhp
Z2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNFRF9Q
QVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6OnZp
c2l0KHByb2dyYW0pOwotI2VuZGlmCisgICAgLy8gRklYTUU6IEJyaW5nIHRoaXMgcGhhc2UgYmFj
ayBvbmNlIHdlIGFkZCBhIG5ldyBwcm9wZXJ0eSByZXNvbHZlcgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNTEKIH0KIAogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEluZmVyVHlw
ZXMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEluZmVyVHlwZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsMTAgKzEy
Nyw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZENvbW1pdCgKICAgICAgICAg
cmVzb2x2YWJsZVR5cGUyLnJlc29sdmUoZG93bmNhc3Q8QVNUOjpVbnNpZ25lZEludGVnZXJMaXRl
cmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUyKS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1
cm4gJmRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVU
eXBlMSkucHJlZmVycmVkVHlwZSgpOwogICAgIH0KLSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJh
bFR5cGU+KHJlc29sdmFibGVUeXBlMSkgJiYgaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29s
dmFibGVUeXBlMikpIHsKLSAgICAgICAgLy8gRklYTUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRy
IGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTE1MiwxMCArMTQ4LDYgQEAgUmVmUHRyPEFTVDo6VW5u
YW1lZFR5cGU+IGNvbW1pdChBU1Q6OlJlcwogICAgICAgICByZXNvbHZhYmxlVHlwZS5yZXNvbHZl
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKSk7CiAgICAgICAgIHJl
dHVybiAmdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUucHJlZmVycmVkVHlwZSgpOwogICAgIH0K
LSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlKSkgewotICAg
ICAgICAvLyBGSVhNRTogVHJ5aW5nIHRvIG1hdGNoIG51bGxwdHIgYW5kIG51bGxwdHIgZmFpbHMu
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5z
aWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xJbnRyaW5zaWNzLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9
CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXpl
KHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXpl
ID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0
b3JCb29sW3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlv
biYgdWludFR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpA
QCAtODIsNiArODgsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsy
XTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5
cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVy
biAqbV92ZWN0b3JVaW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVj
dG9ySW50WzBdKTsKQEAgLTk0LDYgKzEwNiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAq
bV92ZWN0b3JJbnRbMl07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7Cisg
ICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBzYW1wbGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuICptX3ZlY3RvckZsb2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uJiBmbG9hdFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNv
bnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAz
IHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07
CisgICAgfQorCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZy
b20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBkZHgoKSBjb25zdAogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExleGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODYyLDI5ICs4NjIsNiBAQCBwYXJzZUlkZW50aWZpZXI6CiAgICAg
ICAgIHN3aXRjaCAocGVlaygpKSB7CiAgICAgICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgc2hp
ZnQoKTsKLSAgICAgICAgICAgIHN3aXRjaCAocGVlaygpKSB7Ci0gICAgICAgICAgICBjYXNlICdb
JzoKLSAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1l
KCddJykpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3Bl
cmF0b3JOYW1lKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Oklu
dmFsaWQpOwotICAgICAgICAgICAgY2FzZSAnLic6Ci0gICAgICAgICAgICAgICAgc2hpZnQoKTsK
LSAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRJZGVudGlmaWVyU3RhcnQocGVlaygpKSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAg
ICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIHdoaWxlIChpc1ZhbGlkTm9u
U3RhcnRpbmdJZGVudGlmaWVyQ2hhcihwZWVrKCkpKQotICAgICAgICAgICAgICAgICAgICBzaGlm
dCgpOwotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3BlcmF0b3JO
YW1lKTsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2Vu
KFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgIGNh
c2UgJ1snOgotICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgIGlmICghY29uc3VtZSgn
XScpKQotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6SW52YWxpZCk7
Ci0gICAgICAgICAgICBjb25zdW1lKCc9Jyk7CiAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9r
ZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKICAgICAgICAgY2FzZSAnPic6CkBAIC05NDcsMTUg
KzkyNCw2IEBAIHBhcnNlSWRlbnRpZmllcjoKICAgICAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAg
ICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKLSAgICAgICAg
Y2FzZSAnLic6Ci0gICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlk
SWRlbnRpZmllclN0YXJ0KHBlZWsoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRv
a2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAgICAgICAgICAgIHNoaWZ0KCk7Ci0gICAgICAgICAgICB3
aGlsZSAoaXNWYWxpZE5vblN0YXJ0aW5nSWRlbnRpZmllckNoYXIocGVlaygpKSkKLSAgICAgICAg
ICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgY29uc3VtZSgnPScpOwotICAgICAgICAgICAg
cmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBl
Q2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaCIK
ICNpbmNsdWRlICJXSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNM
TnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAi
V0hMU0xUeXBlUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCkBAIC03Mywx
MSArNzIsNiBAQCBwcml2YXRlOgogICAgICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9u
KTsKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50VW5z
aWduZWRJbnRlZ2VyKCkodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUudmFsdWUoKSkpOwogICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlw
ZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVChudWxsTGl0ZXJhbFR5cGUubWF5YmVS
ZXNvbHZlZFR5cGUoKSk7Ci0gICAgfQogfTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBh
cnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMyw4ICs0MDMsNiBAQCBhdXRvIFBhcnNlcjo6
cGFyc2VDb25zdGFudEV4cHJlc3Npb24oKSAtCiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQodmFsdWUuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7eyBBU1Q6OkZsb2F0TGl0ZXJh
bCh7ICp0eXBlIH0sICp2YWx1ZSkgfX07CiAgICAgfQotICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51
bGw6Ci0gICAgICAgIHJldHVybiB7IEFTVDo6TnVsbExpdGVyYWwoV1RGTW92ZSgqdHlwZSkpIH07
CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgQVNUOjpCb29s
ZWFuTGl0ZXJhbChXVEZNb3ZlKCp0eXBlKSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKQEAgLTg3NSw3ICs4NzMsNiBAQCBhdXRvIFBhcnNlcjo6cGFyc2VFbnVtZXJhdGlv
bk1lbWJlcihpbnQ2CiAgICAgICAgIH0sIFsmXShBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwm
IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwm
KSB7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewogICAgICAgICB9LCBbJl0o
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJikgewogICAgICAgICB9KSk7CkBAIC0yMDYzLDcgKzIwNjAsNyBAQCBhdXRv
IFBhcnNlcjo6cGFyc2VUZXJtKCkgLT4gRXhwZWN0ZWQ8VW5pCiAgICAgICAgIHJldHVybiB7IG1h
a2VVbmlxdWVSZWY8QVNUOjpGbG9hdExpdGVyYWw+KCp0eXBlLCAqdmFsdWUpIH07CiAgICAgfQog
ICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51bGw6Ci0gICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVS
ZWY8QVNUOjpOdWxsTGl0ZXJhbD4oKnR5cGUpIH07CisgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChFcnJvcigiJ251bGwnIGlzIGEgcmVzZXJ2ZWQga2V5d29yZC4iLCB0eXBlLT5jb2RlTG9j
YXRpb24pKTsKICAgICBjYXNlIFRva2VuOjpUeXBlOjpUcnVlOgogICAgICAgICByZXR1cm4geyBt
YWtlVW5pcXVlUmVmPEFTVDo6Qm9vbGVhbkxpdGVyYWw+KCp0eXBlLCB0cnVlKSB9OwogICAgIGNh
c2UgVG9rZW46OlR5cGU6OkZhbHNlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksOCBAQAogI2luY2x1ZGUgIldITFNMU2VtYW50aWNN
YXRjaGVyLmgiCiAjaW5jbHVkZSAiV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuaCIKICNp
bmNsdWRlICJXSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5oIgotI2luY2x1ZGUgIldITFNM
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNp
emVDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucy5oIgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5o
IgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKQEAgLTIyMyw5ICsyMjEsNyBAQCBzdGF0aWMgRXhwZWN0ZWQ8UHJvZ3JhbSwgU3RyaW5n
PiBwcmVwYXJlCiAgICAgTmFtZVJlc29sdmVyIG5hbWVSZXNvbHZlcihwcm9ncmFtLm5hbWVDb250
ZXh0KCkpOwogICAgIENIRUNLX1BBU1MocmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFt
ZVJlc29sdmVyKTsKICAgICBDSEVDS19QQVNTKGNoZWNrUmVjdXJzaXZlVHlwZXMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycywgcHJvZ3JhbSk7
CiAgICAgQ0hFQ0tfUEFTUyhzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgsIHByb2dyYW0p
OwogICAgIENIRUNLX1BBU1MocmVzb2x2ZVR5cGVOYW1lc0luRnVuY3Rpb25zLCBwcm9ncmFtLCBu
YW1lUmVzb2x2ZXIpOwogICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJv
Z3JhbSk7CiAgICAgQ0hFQ0tfUEFTUyhjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXSExTTFBy
b2dyYW0uaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
bmFtZXNwYWNlIFdITFNMIHsKKworYm9vbCBQcm9ncmFtOjppc1ZhbGlkVmVjdG9yUHJvcGVydHko
U3RyaW5nIHByb3BlcnR5KQoreworICAgIGlmIChtX3ZlY3RvclByb3BlcnRpZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoIngiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiengiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3oiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3ciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienoiKTsKKworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3oiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHciKTsKKworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXd3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eXd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6
d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
end6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h6Iik7CisgICAgfQorCisg
ICAgcmV0dXJuIG1fdmVjdG9yUHJvcGVydGllcy5jb250YWlucyhwcm9wZXJ0eSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdITFNMCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJHUFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFByb2dyYW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9uYW1lQ29udGV4dC5h
ZGQobV9uYXRpdmVUeXBlRGVjbGFyYXRpb25zLmxhc3QoKSk7CiAgICAgfQogCisgICAgYm9vbCBp
c1ZhbGlkVmVjdG9yUHJvcGVydHkoU3RyaW5nKTsKKwogICAgIE5hbWVDb250ZXh0JiBuYW1lQ29u
dGV4dCgpIHsgcmV0dXJuIG1fbmFtZUNvbnRleHQ7IH0KICAgICBJbnRyaW5zaWNzJiBpbnRyaW5z
aWNzKCkgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CiAgICAgY29uc3QgSW50cmluc2ljcyYgaW50
cmluc2ljcygpIGNvbnN0IHsgcmV0dXJuIG1faW50cmluc2ljczsgfQpAQCAtMTA2LDYgKzEwOCw3
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlv
bj4+IG1fZnVuY3Rpb25EZWZpbml0aW9uczsKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4+IG1fbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbnM7CiAg
ICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4+IG1fbmF0aXZl
VHlwZURlY2xhcmF0aW9uczsKKyAgICBIYXNoU2V0PFN0cmluZz4gbV92ZWN0b3JQcm9wZXJ0aWVz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsODA1
ICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAotI2luY2x1ZGUgIldITFNMQXJyYXlU
eXBlLmgiCi0jaW5jbHVkZSAiV0hMU0xBc3NpZ25tZW50RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUg
IldITFNMQ2FsbEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTENvbW1hRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMRGVyZWZlcmVuY2VFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hM
U0xEb3RFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlY2xhcmF0aW9uLmgi
Ci0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlZmluaXRpb24uaCIKLSNpbmNsdWRlICJXSExTTElu
ZGV4RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZVBvaW50ZXJFeHByZXNzaW9uLmgiCi0jaW5jbHVk
ZSAiV0hMU0xQb2ludGVyVHlwZS5oIgotI2luY2x1ZGUgIldITFNMUmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMUmVwbGFjZVdpdGguaCIKLSNpbmNsdWRlICJXSExT
TFZhcmlhYmxlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTFZhcmlhYmxlUmVmZXJlbmNl
LmgiCi0jaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
bmFtZXNwYWNlIFdITFNMIHsKIAotY2xhc3MgUHJvcGVydHlSZXNvbHZlciA6IHB1YmxpYyBWaXNp
dG9yIHsKLXB1YmxpYzoKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRl
OwotICAgIHZvaWQgdmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwot
ICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIHNpbXBsaWZ5UmlnaHRWYWx1ZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbiYpOwotICAgIGJvb2wgc2ltcGxpZnlBYnN0cmFjdExlZnRWYWx1ZShBU1Q6OkFzc2lnbm1l
bnRFeHByZXNzaW9uJiwgQVNUOjpEb3RFeHByZXNzaW9uJiwgVW5pcXVlUmVmPEFTVDo6RXhwcmVz
c2lvbj4mJiByaWdodCk7Ci0gICAgdm9pZCBzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJlc3Np
b24mKTsKLQotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgbV92YXJpYWJsZURlY2xhcmF0
aW9uczsKLX07Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNz
aW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNz
aWdubWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBh
IHJpZ2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5k
ZXhFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
aW5kZXhFeHByZXNzaW9uKCkpOwotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNzaWdu
bWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBhIHJp
Z2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24pOwotfQot
Ci12b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pCi17Ci0gICAgVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKLSAgICBpZiAoIW1fdmFyaWFibGVEZWNsYXJhdGlvbnMuaXNFbXB0eSgpKQotICAgICAg
ICBmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKS5zdGF0ZW1lbnRzKCkuaW5zZXJ0KDAsIG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uc1N0YXRlbWVudD4oZnVuY3Rpb25EZWZp
bml0aW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKG1fdmFyaWFibGVEZWNsYXJhdGlvbnMpKSk7
Ci19Ci0KLWVudW0gY2xhc3MgV2hpY2hBbmRlciB7Ci0gICAgVGhyZWFkQW5kZXIsCi0gICAgQW5k
ZXIKLX07Ci0KLXN0cnVjdCBBbmRlckNhbGxBcmd1bWVudFJlc3VsdCB7Ci0gICAgVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gZXhwcmVzc2lvbjsKLSAgICBPcHRpb25hbDxVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbjsKLSAgICBXaGljaEFu
ZGVyIHdoaWNoQW5kZXI7Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgRXhwcmVzc2lvbkNvbnN0
cnVjdG9yLCB0eXBlbmFtZSBUeXBlQ29uc3RydWN0b3I+Ci1zdGF0aWMgT3B0aW9uYWw8QW5kZXJD
YWxsQXJndW1lbnRSZXN1bHQ+IHdyYXBBbmRlckNhbGxBcmd1bWVudChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYgZXhwcmVzc2lvbiwgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlLCBB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24sIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLXsKLSAgICBhdXRvIGZ1bmN0aW9uRXNjYXBl
TW9kZSA9IFtdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uRGVjbGFyYXRpb24p
IHsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVjbGFyYXRpb24uaXNOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uKCkgfHwgZnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJzaW5nTW9kZSgpID09IFBhcnNpbmdN
b2RlOjpTdGFuZGFyZExpYnJhcnkpCi0gICAgICAgICAgICByZXR1cm4gQVNUOjpBZGRyZXNzRXNj
YXBlTW9kZTo6RG9lc05vdEVzY2FwZTsKLSAgICAgICAgcmV0dXJuIEFTVDo6QWRkcmVzc0VzY2Fw
ZU1vZGU6OkVzY2FwZXM7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBleHByZXNzaW9u
LT5jb2RlTG9jYXRpb24oKTsKLSAgICBpZiAoYXV0byBhZGRyZXNzU3BhY2UgPSBleHByZXNzaW9u
LT50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoIWFu
ZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBh
dXRvIG1ha2VBcnJheVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVj
dG9yPihsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9uKSwgZnVuY3Rpb25Fc2NhcGVNb2RlKCph
bmRlckZ1bmN0aW9uKSk7Ci0gICAgICAgIG1ha2VBcnJheVJlZmVyZW5jZS0+c2V0VHlwZShUeXBl
Q29uc3RydWN0b3I6OmNyZWF0ZShsb2NhdGlvbiwgKmFkZHJlc3NTcGFjZSwgV1RGTW92ZShiYXNl
VHlwZSkpKTsKLSAgICAgICAgbWFrZUFycmF5UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIHJldHVybiB7eyBXVEZNb3ZlKG1ha2VBcnJheVJl
ZmVyZW5jZSksIFdURjo6bnVsbG9wdCwgV2hpY2hBbmRlcjo6QW5kZXIgfX07Ci0gICAgfQotICAg
IGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJh
dGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwg
QVNUOjpRdWFsaWZpZXJzKCksIGJhc2VUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIs
IG51bGxwdHIpOwotCi0gICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFw
KHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0
VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFk
IH0pOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlMSksIFdURk1vdmUoZXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVz
c2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAg
IGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYo
KSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpM
ZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOwotCi0gICAgICAgIGF1dG8g
ZXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVjdG9yPihsb2NhdGlv
biwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTIpLCBmdW5jdGlvbkVzY2FwZU1vZGUoKnRocmVh
ZEFuZGVyRnVuY3Rpb24pKTsKLSAgICAgICAgYXV0byByZXN1bHRUeXBlID0gVHlwZUNvbnN0cnVj
dG9yOjpjcmVhdGUobG9jYXRpb24sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIFdURk1vdmUo
YmFzZVR5cGUpKTsKLSAgICAgICAgZXhwcmVzc2lvbi0+c2V0VHlwZShyZXN1bHRUeXBlLmNvcHlS
ZWYoKSk7Ci0gICAgICAgIGV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRW
YWx1ZSgpKTsKLQotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4
cHJlc3Npb25zOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50
RXhwcmVzc2lvbikpOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShleHByZXNz
aW9uKSk7Ci0gICAgICAgIGF1dG8gY29tbWFFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OkNvbW1hRXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZXhwcmVzc2lvbnMpKTsKLSAgICAg
ICAgY29tbWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUocmVzdWx0VHlwZSkpOwotICAgICAg
ICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICAgICAgcmV0dXJuIHt7IFdURk1vdmUoY29tbWFFeHByZXNzaW9uKSwgeyBXVEZNb3ZlKHZh
cmlhYmxlRGVjbGFyYXRpb24pIH0sIFdoaWNoQW5kZXI6OlRocmVhZEFuZGVyfX07Ci0gICAgfQot
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci19Ci0KLXN0YXRpYyBPcHRpb25hbDxBbmRlckNhbGxB
cmd1bWVudFJlc3VsdD4gYW5kZXJDYWxsQXJndW1lbnQoVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4mIGV4cHJlc3Npb24sIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5jdGlvbiwg
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKQotewotICAgIGlm
ICghYW5kZXJGdW5jdGlvbiAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBleHByZXNzaW9uLT5yZXNvbHZl
ZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlO
b2RlKSkgewotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1l
ZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgIEFTU0VSVCghaXM8QVNUOjpQb2ludGVyVHlwZT4o
dW5uYW1lZFR5cGUpKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4ge3sgV1RGTW92ZShleHByZXNzaW9uKSwg
V1RGOjpudWxsb3B0LCBXaGljaEFuZGVyOjpBbmRlciB9fTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
QXJyYXlUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gd3JhcEFuZGVyQ2Fs
bEFyZ3VtZW50PEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgQVNUOjpBcnJheVJl
ZmVyZW5jZVR5cGU+KGV4cHJlc3Npb24sIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVk
VHlwZSkudHlwZSgpLCBhbmRlckZ1bmN0aW9uLCB0aHJlYWRBbmRlckZ1bmN0aW9uKTsKLSAgICB9
Ci0gICAgcmV0dXJuIHdyYXBBbmRlckNhbGxBcmd1bWVudDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVz
c2lvbiwgQVNUOjpQb2ludGVyVHlwZT4oZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi0+cmVzb2x2ZWRU
eXBlKCksIGFuZGVyRnVuY3Rpb24sIHRocmVhZEFuZGVyRnVuY3Rpb24pOwotfQotCi1zdGF0aWMg
VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gc2V0dGVyQ2FsbChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIsIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbmV3VmFs
dWUsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oKT4mIGxl
ZnRWYWx1ZUZhY3RvcnksIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogaW5kZXhWYXJpYWJsZSkK
LXsKLSAgICBhdXRvIG1heWJlQWRkSW5kZXhBcmd1bWVudCA9IFsmXShWZWN0b3I8VW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4+JiBhcmd1bWVudHMpIHsKLSAgICAgICAgaWYgKCFpbmRleFZhcmlh
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgICAgIEFTU0VSVChpbmRleFZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqaW5kZXhW
YXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5v
dGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8g
RklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMg
dGhpcyByaWdodD8KLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlKSk7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgaWYgKHJlbGV2YW50QW5kZXIpIHsKLSAgICAg
ICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpID0gbmV3VmFsdWUKLSAgICAgICAgYXV0byBsZWZ0VmFs
dWUgPSBsZWZ0VmFsdWVGYWN0b3J5KCk7Ci0gICAgICAgIGF1dG8gYXJndW1lbnQgPSBhbmRlckNh
bGxBcmd1bWVudChsZWZ0VmFsdWUsIHJlbGV2YW50QW5kZXIsIHJlbGV2YW50QW5kZXIpOwotICAg
ICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBBU1NFUlQoIWFyZ3VtZW50LT52YXJpYWJs
ZURlY2xhcmF0aW9uKTsKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdo
aWNoQW5kZXI6OkFuZGVyKTsKLSAgICAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+PiBhcmd1bWVudHM7Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVu
dC0+ZXhwcmVzc2lvbikpOwotICAgICAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1lbnRz
KTsKLQotICAgICAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkNh
bGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHJlbGV2YW50QW5kZXItPm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHJlbGV2
YW50QW5kZXItPnR5cGUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5j
dGlvbigqcmVsZXZhbnRBbmRlcik7Ci0KLSAgICAgICAgYXV0byBkZXJlZmVyZW5jZUV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihsb2NhdGlvbiwg
V1RGTW92ZShjYWxsRXhwcmVzc2lvbikpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24t
PnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4ocmVsZXZhbnRBbmRlci0+dHlwZSgp
KS5lbGVtZW50VHlwZSgpKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7
Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZGVyZWZlcmVuY2VFeHBy
ZXNzaW9uKSwgV1RGTW92ZShuZXdWYWx1ZSkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihyZWxldmFudEFuZGVyLT50eXBl
KCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIHJldHVybiBVbmlxdWVS
ZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAg
fQotCi0gICAgLy8gdiA9IG9wZXJhdG9yLmZvbz0odiwgbmV3VmFsdWUpCi0gICAgQVNTRVJUKHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIFZlY3RvcjxV
bmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgIGFyZ3VtZW50cy5hcHBl
bmQobGVmdFZhbHVlRmFjdG9yeSgpKTsKLSAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1l
bnRzKTsKLSAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUobmV3VmFsdWUpKTsKLQotICAgIGF1
dG8gY2FsbEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBTdHJpbmcocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkt
Pm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5
cGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCktPnR5cGUoKSk7Ci0g
ICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBsZWZ0VmFs
dWVGYWN0b3J5KCksIFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24o
KS0+dHlwZSgpKTsKLSAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24o
QVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgcmV0dXJuIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLX0KLQotc3RhdGljIFVuaXF1ZVJl
ZjxBU1Q6OkV4cHJlc3Npb24+IGdldHRlckNhbGwoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBy
ZWxldmFudEFuZGVyLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KCk+JiBsZWZ0VmFsdWVGYWN0b3J5LCBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qIGluZGV4
VmFyaWFibGUpCi17Ci0gICAgYXV0byBtYXliZUFkZEluZGV4QXJndW1lbnQgPSBbJl0oVmVjdG9y
PFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiYgYXJndW1lbnRzKSB7Ci0gICAgICAgIGlmICgh
aW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYXV0byB2YXJpYWJs
ZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpW
YXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqaW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQo
aW5kZXhWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5
cGUoKmluZGV4VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5z
ZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJl
YWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZSh2
YXJpYWJsZVJlZmVyZW5jZSkpOwotICAgIH07Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgaWYgKHJlbGV2YW50QW5k
ZXIpIHsKLSAgICAgICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpCi0gICAgICAgIGF1dG8gbGVmdFZh
bHVlID0gbGVmdFZhbHVlRmFjdG9yeSgpOwotICAgICAgICBhdXRvIGFyZ3VtZW50ID0gYW5kZXJD
YWxsQXJndW1lbnQobGVmdFZhbHVlLCByZWxldmFudEFuZGVyLCByZWxldmFudEFuZGVyKTsKLSAg
ICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFi
bGVEZWNsYXJhdGlvbik7Ci0gICAgICAgIEFTU0VSVChhcmd1bWVudC0+d2hpY2hBbmRlciA9PSBX
aGljaEFuZGVyOjpBbmRlcik7Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNz
aW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUoYXJndW1l
bnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgbWF5YmVBZGRJbmRleEFyZ3VtZW50KGFyZ3VtZW50
cyk7Ci0KLSAgICAgICAgYXV0byBjYWxsRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpD
YWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0cmluZyhyZWxldmFudEFuZGVyLT5uYW1lKCkpLCBX
VEZNb3ZlKGFyZ3VtZW50cykpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZShyZWxl
dmFudEFuZGVyLT50eXBlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90
YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVu
Y3Rpb24oKnJlbGV2YW50QW5kZXIpOwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNz
aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9jYXRpb24s
IFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9u
LT5zZXRUeXBlKGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHJlbGV2YW50QW5kZXItPnR5cGUo
KSkuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OwotCi0gICAgICAgIHJldHVybiBVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIC8vIG9wZXJhdG9yLmZvbyh2KQot
ICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0K
LSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsKLSAgICBh
cmd1bWVudHMuYXBwZW5kKGxlZnRWYWx1ZUZhY3RvcnkoKSk7Ci0gICAgbWF5YmVBZGRJbmRleEFy
Z3VtZW50KGFyZ3VtZW50cyk7Ci0KLSAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OkNhbGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykp
OwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5n
ZXR0ZXJGdW5jdGlvbigpLT50eXBlKCkpOwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5u
b3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0
aW9uKCpwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICBy
ZXR1cm4gVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oV1RGTW92ZShjYWxsRXhwcmVzc2lvbikp
OwotfQotCi1zdHJ1Y3QgTW9kaWZ5UmVzdWx0IHsKLSAgICBBU1Q6OkV4cHJlc3Npb24mIGlubmVy
TGVmdFZhbHVlOwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVz
c2lvbnM7Ci0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiB2
YXJpYWJsZURlY2xhcmF0aW9uczsKLX07Ci1zdHJ1Y3QgTW9kaWZpY2F0aW9uUmVzdWx0IHsKLSAg
ICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotICAgIFVu
aXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHJlc3VsdDsKLX07Ci1zdGF0aWMgTW9kaWZ5UmVzdWx0
IG1vZGlmeShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLCBzdGQ6OmZ1bmN0aW9uPE1vZGlmaWNhdGlvblJlc3VsdChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYmKT4gbW9kaWZpY2F0aW9uKQotewotICAgIC8vIENvbnNpZGVyIGEuYi5jLmQr
KzsKLSAgICAvLyBUaGlzIHdvdWxkIGdldCB0cmFuc2Zvcm1lZCBpbnRvOgotICAgIC8vCi0gICAg
Ly8gU3RlcCAxOgotICAgIC8vIHAgPSAmYTsKLSAgICAvLwotICAgIC8vIFN0ZXAgMjoKLSAgICAv
LyBxID0gb3BlcmF0b3IuYigqcCk7Ci0gICAgLy8gciA9IG9wZXJhdG9yLmMocSk7Ci0gICAgLy8K
LSAgICAvLyBTdGVwIDM6Ci0gICAgLy8gb2xkVmFsdWUgPSBvcGVyYXRvci5kKHIpOwotICAgIC8v
IG5ld1ZhbHVlID0gLi4uOwotICAgIC8vCi0gICAgLy8gU3RlcCA0OgotICAgIC8vIHIgPSBvcGVy
YXRvci5kPShyLCBuZXdWYWx1ZSk7Ci0gICAgLy8gcSA9IG9wZXJhdG9yLmM9KHEsIHIpOwotICAg
IC8vCi0gICAgLy8gU3RlcCA1OgotICAgIC8vICpwID0gb3BlcmF0b3IuYj0oKnAsIHEpOwotCi0g
ICAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaXMgYS5iLmMuZCA9IGUsIFN0ZXAgMyBkaXNhcHBlYXJz
IGFuZCAibmV3VmFsdWUiIGluIHN0ZXAgNCBiZWNvbWVzICJlIi4KLSAgICAKLQotICAgIC8vIEZp
bmQgdGhlICIuYiIgIi5jIiBhbmQgIi5kIiBleHByZXNzaW9ucy4gVGhleSBlbmQgdXAgaW4gdGhl
IG9yZGVyIFsiLmQiLCAiLmMiLCAiLmIiXS4KLSAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3Jh
cHBlcjxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4+IGNoYWluOwotICAgIEFTVDo6UHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKiBpdGVyYXRvciA9ICZwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b247Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgY2hhaW4uYXBwZW5kKCppdGVyYXRvcik7
Ci0gICAgICAgIGlmIChpdGVyYXRvci0+YmFzZSgpLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJl
c3NTcGFjZSgpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIEFTU0VSVCghaXRlcmF0b3It
PmJhc2UoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICAgICAgaXRlcmF0
b3IgPSAmZG93bmNhc3Q8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24+KGl0ZXJhdG9yLT5i
YXNlKCkpOwotICAgIH0KLSAgICBhdXRvIGxlZnRFeHByZXNzaW9uID0gaXRlcmF0b3ItPnRha2VC
YXNlKCk7Ci0gICAgQVNUOjpFeHByZXNzaW9uJiBpbm5lckxlZnRFeHByZXNzaW9uID0gbGVmdEV4
cHJlc3Npb247Ci0KLSAgICAvLyBDcmVhdGUgInAiIHZhcmlhYmxlLgotICAgIGF1dG8gcG9pbnRl
clZhcmlhYmxlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxlZnRF
eHByZXNzaW9uLT5jb2RlTG9jYXRpb24oKSwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6UG9pbnRl
clR5cGU6OmNyZWF0ZShsZWZ0RXhwcmVzc2lvbi0+Y29kZUxvY2F0aW9uKCksICpsZWZ0RXhwcmVz
c2lvbi0+dHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCksIGxlZnRFeHByZXNzaW9u
LT5yZXNvbHZlZFR5cGUoKSksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLQotICAgIC8v
IENyZWF0ZSAicSIgYW5kICJyIiB2YXJpYWJsZXMuCi0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+PiBpbnRlcm1lZGlhdGVWYXJpYWJsZXM7Ci0gICAgaW50ZXJt
ZWRpYXRlVmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoY2hhaW4uc2l6ZSgpIC0gMSk7
Ci0gICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBjaGFpbi5zaXplKCk7ICsraSkgewotICAgICAg
ICBhdXRvJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBzdGF0aWNfY2FzdDxBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiY+KGNoYWluW2ldKTsKLSAgICAgICAgaW50ZXJtZWRpYXRlVmFy
aWFibGVzLnVuY2hlY2tlZEFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJh
dGlvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBBU1Q6OlF1YWxp
ZmllcnMoKSwgJnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgU3RyaW5n
KCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAgICAvLyBDb25zaWRlciBhW2Zvbygp
XVtiXSA9IGM7Ci0gICAgLy8gTmFpdmVseSwgVGhpcyB3b3VsZCBnZXQgZXhwYW5kZWQgdG86Ci0g
ICAgLy8KLSAgICAvLyB0ZW1wID0gb3BlcmF0b3JbXShhLCBmb28oKSk7Ci0gICAgLy8gdGVtcCA9
IG9wZXJhdG9yW109KHRlbXAsIGIsIGMpOwotICAgIC8vIGEgPSBvcGVyYXRvcltdPShhLCBmb28o
KSwgdGVtcCk7Ci0gICAgLy8KLSAgICAvLyBIb3dldmVyLCBpZiB3ZSBkaWQgdGhpcywgd2Ugd291
bGQgaGF2ZSB0byBydW4gZm9vKCkgdHdpY2UsIHdoaWNoIHdvdWxkIGJlIGluY29ycmVjdC4KLSAg
ICAvLyBJbnN0ZWFkLCB3ZSBuZWVkIHRvIHNhdmUgZm9vKCkgYW5kIGIgaW50byBtb3JlIHRlbXBv
cmFyeSB2YXJpYWJsZXMuCi0gICAgLy8gVGhlc2UgdGVtcG9yYXJ5IHZhcmlhYmxlcyBhcmUgcGFy
YWxsZWwgdG8gImNoYWluIiBhYm92ZSwgd2l0aCBudWxsb3B0IHJlZmVycmluZyB0byBhIERvdEV4
cHJlc3Npb24gKHdoaWNoIGRvZXNuJ3QgaGF2ZSBhbiBpbmRleCB2YWx1ZSB0byBzYXZlIHRvIGEg
dmFyaWFibGUpLgotICAgIC8vCi0gICAgLy8gSW5zdGVhZCwgdGhpcyBnZXRzIGV4cGFuZGVkIHRv
OgotICAgIC8vCi0gICAgLy8gcCA9ICZhOwotICAgIC8vIHRlbXAgPSBmb28oKTsKLSAgICAvLyBx
ID0gb3BlcmF0b3JbXSgqcCwgdGVtcCk7Ci0gICAgLy8gdGVtcDIgPSBiOwotICAgIC8vIHEgPSBv
cGVyYXRvcltdPShxLCB0ZW1wMiwgYyk7Ci0gICAgLy8gKnAgPSBvcGVyYXRvcltdPSgqcCwgdGVt
cCwgcSk7Ci0KLSAgICBWZWN0b3I8T3B0aW9uYWw8VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbj4+PiBpbmRleFZhcmlhYmxlczsKLSAgICBpbmRleFZhcmlhYmxlcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGNoYWluLnNpemUoKSk7Ci0gICAgZm9yIChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uIDogY2hhaW4pIHsKLSAgICAgICAg
aWYgKCFpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkg
ewotICAgICAgICAgICAgaW5kZXhWYXJpYWJsZXMuYXBwZW5kKFdURjo6bnVsbG9wdCk7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBhdXRvJiBpbmRleEV4cHJlc3Np
b24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uKTsKLSAgICAgICAgaW5kZXhWYXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6UXVhbGlmaWVycygpLCAmaW5kZXhFeHByZXNzaW9uLmluZGV4RXhw
cmVzc2lvbigpLnJlc29sdmVkVHlwZSgpLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwot
ICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lv
bnM7Ci0KLSAgICAvLyBTdGVwIDE6Ci0gICAgewotICAgICAgICBhdXRvIG1ha2VQb2ludGVyRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGlubmVy
TGVmdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUobGVmdEV4cHJlc3Npb24pLCBB
U1Q6OkFkZHJlc3NFc2NhcGVNb2RlOjpEb2VzTm90RXNjYXBlKTsKLSAgICAgICAgbWFrZVBvaW50
ZXJFeHByZXNzaW9uLT5zZXRUeXBlKEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShpbm5lckxlZnRF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqaW5uZXJMZWZ0RXhwcmVzc2lvbi50eXBlQW5ub3Rh
dGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgaW5uZXJMZWZ0RXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSkpOwotICAgICAgICBtYWtlUG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJl
bmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFu
bm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJ
cyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtl
VW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGlubmVyTGVmdEV4cHJlc3Npb24u
Y29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG1ha2VQ
b2ludGVyRXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIGV4cHJl
c3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgfQotCi0g
ICAgLy8gU3RlcCAyOgotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogcHJldmlvdXMgPSBu
dWxscHRyOwotICAgIGF1dG8gcHJldmlvdXNMZWZ0VmFsdWUgPSBbJl0oKSAtPiBVbmlxdWVSZWY8
QVNUOjpFeHByZXNzaW9uPiB7Ci0gICAgICAgIGlmIChwcmV2aW91cykgewotICAgICAgICAgICAg
YXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqcHJldmlvdXMpKTsKLSAgICAgICAg
ICAgIEFTU0VSVChwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJl
bmNlLT5zZXRUeXBlKCpwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVm
ZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1Nw
YWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICByZXR1cm4gdmFyaWFi
bGVSZWZlcmVuY2U7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZh
cmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9p
bnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNzaW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSk7Ci0g
ICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9
KTsKLSAgICAgICAgcmV0dXJuIGRlcmVmZXJlbmNlRXhwcmVzc2lvbjsKLSAgICB9OwotICAgIGF1
dG8gYXBwZW5kSW5kZXhBc3NpZ25tZW50ID0gWyZdKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIE9wdGlvbmFsPFVuaXF1ZVJlZjxBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSkgewotICAgICAgICBpZiAoIWluZGV4
VmFyaWFibGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byYgaW5kZXhFeHBy
ZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbik7Ci0KLSAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgq
aW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQoaW5kZXhWYXJpYWJsZS0+Z2V0KCkudHlw
ZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKmluZGV4VmFyaWFibGUt
PmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRo
aXMgcmlnaHQ/Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlx
dWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSwgaW5kZXhFeHByZXNz
aW9uLnRha2VJbmRleCgpKTsKLSAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUo
KmluZGV4VmFyaWFibGUtPmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNz
aW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhw
cmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICB9Owot
ICAgIGZvciAoc2l6ZV90IGkgPSBjaGFpbi5zaXplKCk7IC0taTsgKSB7Ci0gICAgICAgIEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBjaGFp
bltpXTsKLSAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0
aW9uID0gaW50ZXJtZWRpYXRlVmFyaWFibGVzW2kgLSAxXTsKLSAgICAgICAgT3B0aW9uYWw8VW5p
cXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4+JiBpbmRleFZhcmlhYmxlID0gaW5kZXhW
YXJpYWJsZXNbaV07Ci0KLSAgICAgICAgYXBwZW5kSW5kZXhBc3NpZ25tZW50KHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgaW5kZXhWYXJpYWJsZSk7Ci0KLSAgICAgICAgQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiByZWxldmFudEFuZGVyID0gaSA9PSBjaGFpbi5zaXplKCkgLSAxID8gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSA6IHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Npb24g
PSBnZXR0ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcmVsZXZhbnRBbmRlciwgcHJl
dmlvdXNMZWZ0VmFsdWUsIGluZGV4VmFyaWFibGUgPyAmKmluZGV4VmFyaWFibGUgOiBudWxscHRy
KTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICAgICAgQVNTRVJUKHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgp
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRp
b24udHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLQotICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJl
ZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKGNhbGxFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhwcmVzc2lvbnMu
YXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLQotICAgICAgICBwcmV2aW91
cyA9ICZ2YXJpYWJsZURlY2xhcmF0aW9uOwotICAgIH0KLSAgICBhcHBlbmRJbmRleEFzc2lnbm1l
bnQoY2hhaW5bMF0sIGluZGV4VmFyaWFibGVzWzBdKTsKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIgPSBjaGFpbi5zaXplKCkgPT0gMSA/IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24udGhy
ZWFkQW5kZXJGdW5jdGlvbigpOwotICAgIGF1dG8gbGFzdEdldHRlckNhbGxFeHByZXNzaW9uID0g
Z2V0dGVyQ2FsbChjaGFpblswXSwgcmVsZXZhbnRBbmRlciwgcHJldmlvdXNMZWZ0VmFsdWUsIGlu
ZGV4VmFyaWFibGVzWzBdID8gJiooaW5kZXhWYXJpYWJsZXNbMF0pIDogbnVsbHB0cik7Ci0KLSAg
ICAvLyBTdGVwIDM6Ci0gICAgYXV0byBtb2RpZmljYXRpb25SZXN1bHQgPSBtb2RpZmljYXRpb24o
V1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1vZGlmaWNhdGlvblJlc3VsdC5leHByZXNzaW9ucy5zaXplKCk7ICsraSkKLSAgICAg
ICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LmV4cHJlc3Np
b25zW2ldKSk7Ci0KLSAgICAvLyBTdGVwIDQ6Ci0gICAgVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4gcmlnaHRWYWx1ZSA9IFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LnJlc3VsdCk7Ci0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGFpbi5zaXplKCkgLSAxOyArK2kpIHsKLSAgICAgICAg
QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiA9
IGNoYWluW2ldOwotICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxlRGVj
bGFyYXRpb24gPSBpbnRlcm1lZGlhdGVWYXJpYWJsZXNbaV07Ci0gICAgICAgIE9wdGlvbmFsPFVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSA9IGluZGV4
VmFyaWFibGVzW2ldOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LnRocmVhZEFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5p
cXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVy
ZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJs
ZVJlZmVyZW5jZTo6d3JhcCh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1NF
UlQodmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZl
cmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAg
IHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFT
VDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICBy
ZXR1cm4gdmFyaWFibGVSZWZlcmVuY2U7Ci0gICAgICAgIH0sIGluZGV4VmFyaWFibGUgPyAmKmlu
ZGV4VmFyaWFibGUgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RG
TW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotCi0gICAgICAgIHJpZ2h0VmFsdWUgPSBtYWtl
VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6
OndyYXAodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1NFUlQodmFyaWFibGVEZWNs
YXJhdGlvbi50eXBlKCkpOwotICAgICAgICByaWdodFZhbHVlLT5zZXRUeXBlKCp2YXJpYWJsZURl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIHJpZ2h0VmFsdWUtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLSAgICB9Ci0KLSAgICAvLyBTdGVwIDU6Ci0gICAgewotICAgICAgICBBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uID0gY2hhaW5bY2hh
aW4uc2l6ZSgpIC0gMV07Ci0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVy
VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6
OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihw
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7
Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsK
LSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRlclZhcmlhYmxl
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH0pOwotICAgICAgICAgICAgcmV0dXJuIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbjsKLSAgICAgICAgfSwgaW5kZXhWYXJpYWJsZXNbaW5kZXhWYXJpYWJsZXMu
c2l6ZSgpIC0gMV0gPyAmKihpbmRleFZhcmlhYmxlc1tpbmRleFZhcmlhYmxlcy5zaXplKCkgLSAx
XSkgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3Np
Z25tZW50RXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbnM7Ci0gICAgdmFyaWFibGVE
ZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgZm9yIChh
dXRvJiBpbnRlcm1lZGlhdGVWYXJpYWJsZSA6IGludGVybWVkaWF0ZVZhcmlhYmxlcykKLSAgICAg
ICAgdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUoaW50ZXJtZWRpYXRlVmFyaWFi
bGUpKTsKLSAgICBmb3IgKGF1dG8mIGluZGV4VmFyaWFibGUgOiBpbmRleFZhcmlhYmxlcykgewot
ICAgICAgICBpZiAoaW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHsgaW5uZXJMZWZ0RXhwcmVzc2lvbiwgV1RGTW92ZShleHByZXNzaW9ucyksIFdURk1vdmUodmFy
aWFibGVEZWNsYXJhdGlvbnMpIH07Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQo
QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYgYXNzaWdubWVudEV4cHJlc3Npb24pCi17Ci0gICAg
aWYgKGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRy
ZXNzU3BhY2UoKSkgewotICAgICAgICBzaW1wbGlmeUxlZnRWYWx1ZShhc3NpZ25tZW50RXhwcmVz
c2lvbi5sZWZ0KCkpOwotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgQVNTRVJUKCFhc3Np
Z25tZW50RXhwcmVzc2lvbi5sZWZ0KCkudHlwZUFubm90YXRpb24oKS5pc1JpZ2h0VmFsdWUoKSk7
Ci0KLSAgICBSZWY8QVNUOjpVbm5hbWVkVHlwZT4gdHlwZSA9IGFzc2lnbm1lbnRFeHByZXNzaW9u
LnJpZ2h0KCkucmVzb2x2ZWRUeXBlKCk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdu
bWVudEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0KLSAgICBhdXRvIG1vZGlmeVJlc3VsdCA9IG1vZGlm
eShkb3duY2FzdDxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYpIC0+IE1vZGlm
aWNhdGlvblJlc3VsdCB7Ci0gICAgICAgIHJldHVybiB7IFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPj4oKSwgYXNzaWdubWVudEV4cHJlc3Npb24udGFrZVJpZ2h0KCkgfTsKLSAgICB9
KTsKLQotICAgIHNpbXBsaWZ5TGVmdFZhbHVlKG1vZGlmeVJlc3VsdC5pbm5lckxlZnRWYWx1ZSk7
Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gYXNzaWdubWVudEV4cHJlc3Npb24uY29kZUxvY2F0aW9u
KCk7Ci0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNv
bW1hRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJlc3Npb24sIGxvY2F0aW9uLCBXVEZNb3ZlKG1v
ZGlmeVJlc3VsdC5leHByZXNzaW9ucykpOwotICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZShX
VEZNb3ZlKHR5cGUpKTsKLSAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFT
VDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgIGZvciAoYXV0byYgdmFyaWFibGVEZWNsYXJhdGlvbiA6
IG1vZGlmeVJlc3VsdC52YXJpYWJsZURlY2xhcmF0aW9ucykKLSAgICAgICAgbV92YXJpYWJsZURl
Y2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci19Ci0KLXZv
aWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9u
JiByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKLSAgICBpZiAo
aGFzRXJyb3IoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHJlYWRN
b2RpZnlXcml0ZUV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgYXV0byBsZWZ0VmFsdWVM
b2NhdGlvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkuY29kZUxvY2F0
aW9uKCk7Ci0KLSAgICBpZiAocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS50
eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICAvLyBDb25zaWRl
ciBhKys7Ci0gICAgICAgIC8vIFRoaXMgd291bGQgZ2V0IHRyYW5zZm9ybWVkIGludG86Ci0gICAg
ICAgIC8vCi0gICAgICAgIC8vIHAgPSAmYTsKLSAgICAgICAgLy8gb2xkVmFsdWUgPSAqcDsKLSAg
ICAgICAgLy8gbmV3VmFsdWUgPSAuLi47Ci0gICAgICAgIC8vICpwID0gbmV3VmFsdWU7Ci0KLSAg
ICAgICAgc2ltcGxpZnlMZWZ0VmFsdWUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKSk7Ci0KLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlID0gcmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IHBvaW50ZXJUeXBlID0gQVNUOjpQb2ludGVyVHlwZTo6Y3Jl
YXRlKGxlZnRWYWx1ZUxvY2F0aW9uLCAqcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgYmFzZVR5cGUuY29weVJl
ZigpKTsKLQotICAgICAgICBhdXRvIHBvaW50ZXJWYXJpYWJsZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJz
KCksIHBvaW50ZXJUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwot
Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lvbnM7
Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byBtYWtlUG9pbnRlckV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlv
biwgcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTGVmdFZhbHVlKCksIEFTVDo6QWRkcmVz
c0VzY2FwZU1vZGU6OkRvZXNOb3RFc2NhcGUpOwotICAgICAgICAgICAgbWFrZVBvaW50ZXJFeHBy
ZXNzaW9uLT5zZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBtYWtl
UG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LQotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVy
VmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKHBvaW50
ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9u
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2Nh
dGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobWFrZVBvaW50ZXJFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShwb2lu
dGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3
cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5z
ZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVy
ZW5jZTEtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3Bh
Y2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9u
Pihsb2NhdGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTEpKTsKLSAgICAgICAgICAgIGRl
cmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAg
ICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVz
c2lvbi5vbGRWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJl
ZmVyZW5jZTItPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNz
U3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBhc3Np
Z25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lv
bj4obG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UyKSwgV1RGTW92ZShkZXJlZmVy
ZW5jZUV4cHJlc3Npb24pKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgICAgICBl
eHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IHJl
YWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFs
dWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAg
ICAgICAgICBhdXRvIG5ld1ZhbHVlRXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZU5ld1ZhbHVlRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgYXV0byBhc3NpZ25tZW50
RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG5ld1ZhbHVlRXhwcmVz
c2lvbikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5
cGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25z
LmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChw
b2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0VHlw
ZShwb2ludGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2Ux
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpU
aHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gZGVyZWZlcmVuY2VF
eHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UxKSk7Ci0gICAgICAgICAgICBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAg
IGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUg
eyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24u
bmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+
c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNl
OjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gYXNzaWdubWVu
dEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBXVEZNb3ZlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UyKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShi
YXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGF1dG8gcmVzdWx0RXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZVJlc3VsdEV4cHJlc3Npb24oKTsKLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+
IHR5cGUgPSByZXN1bHRFeHByZXNzaW9uLT5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUocmVzdWx0RXhwcmVzc2lvbikpOwotCi0gICAgICAgIFVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSBy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgICAgICBVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBuZXdWYXJpYWJsZURlY2xhcmF0aW9uID0gcmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWUoKTsKLQotICAgICAgICBhdXRvKiBj
b21tYUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6Q29tbWFFeHByZXNzaW9uPihy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9ucykp
OwotICAgICAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGUoV1RGTW92ZSh0eXBlKSk7Ci0gICAg
ICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkp
OwotCi0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRl
clZhcmlhYmxlKSk7Ci0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1v
dmUob2xkVmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIEFTU0VSVCghcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0
VmFsdWUoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICBpZiAoIWlzPEFT
VDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSBvZiByZWFkIG1vZGlm
eSB3cml0ZSBleHByZXNzaW9uIGlzIGEgcmlnaHQtdmFsdWUuIiwgcmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5sZWZ0VmFsdWUoKS5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGF1dG8gbW9kaWZ5UmVzdWx0ID0gbW9kaWZ5KGRvd25jYXN0PEFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgp
KSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbGFzdEdldHRlckNhbGxFeHByZXNz
aW9uKSAtPiBNb2RpZmljYXRpb25SZXN1bHQgewotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFT
VDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1
dG8gdmFyaWFibGVSZWZlcmVuY2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm9sZFZhcmlh
YmxlUmVmZXJlbmNlKCk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6
QXNzaWdubWVudEV4cHJlc3Npb24+KGxlZnRWYWx1ZUxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxl
UmVmZXJlbmNlKSwgV1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAg
ICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAg
ICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVu
Y2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0g
ICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxl
UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVz
c1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gbmV3
VmFsdWVFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWVF
eHByZXNzaW9uKCk7Ci0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFr
ZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwg
V1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobmV3VmFsdWVFeHByZXNzaW9uKSk7
Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShyZWFkTW9kaWZ5V3Jp
dGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIGFz
c2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7
Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
cmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAg
ICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVh
ZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICByZXR1cm4geyBXVEZNb3ZlKGV4cHJlc3Np
b25zKSwgIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpIH07Ci0gICAgfSk7Ci0KLSAgICBzaW1w
bGlmeUxlZnRWYWx1ZShtb2RpZnlSZXN1bHQuaW5uZXJMZWZ0VmFsdWUpOwotCi0gICAgYXV0byBy
ZXN1bHRFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlUmVzdWx0RXhw
cmVzc2lvbigpOwotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiB0eXBlID0gcmVzdWx0RXhwcmVz
c2lvbi0+cmVzb2x2ZWRUeXBlKCk7Ci0gICAgbW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zLmFwcGVu
ZChXVEZNb3ZlKHJlc3VsdEV4cHJlc3Npb24pKTsKLQotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVF
eHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVj
bGFyYXRpb24+IG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNz
aW9uLnRha2VOZXdWYWx1ZSgpOwotCi0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpy
ZXBsYWNlV2l0aDxBU1Q6OkNvbW1hRXhwcmVzc2lvbj4ocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
biwgbG9jYXRpb24sIFdURk1vdmUobW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zKSk7Ci0gICAgY29t
bWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUodHlwZSkpOwotICAgIGNvbW1hRXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgZm9yIChhdXRv
JiB2YXJpYWJsZURlY2xhcmF0aW9uIDogbW9kaWZ5UmVzdWx0LnZhcmlhYmxlRGVjbGFyYXRpb25z
KQotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3Zl
KG9sZFZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFw
cGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLX0KLQotc3RhdGljIE9wdGlv
bmFsPEFuZGVyQ2FsbEFyZ3VtZW50UmVzdWx0PiBhbmRlckNhbGxBcmd1bWVudChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIHJl
dHVybiBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFzZVJlZmVy
ZW5jZSgpLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbigpLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLX0KLQotdm9pZCBQcm9w
ZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikKLXsKLSAgICBhdXRvIGxvY2F0aW9uID0g
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgY2hlY2tFcnJv
ckFuZFZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgaWYgKGF1
dG8gYXJndW1lbnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24p
KSB7Ci0gICAgICAgIGF1dG8qIGFuZGVyRnVuY3Rpb24gPSBhcmd1bWVudC0+d2hpY2hBbmRlciA9
PSBXaGljaEFuZGVyOjpUaHJlYWRBbmRlciA/IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi50aHJl
YWRBbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlv
bigpOwotICAgICAgICBBU1NFUlQoYW5kZXJGdW5jdGlvbik7Ci0gICAgICAgIFZlY3RvcjxVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBw
ZW5kKFdURk1vdmUoYXJndW1lbnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
SW5kZXhFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pKQotICAgICAgICAgICAg
YXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxvY2F0aW9uLCBTdHJpbmco
YW5kZXJGdW5jdGlvbi0+bmFtZSgpKSwgV1RGTW92ZShhcmd1bWVudHMpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGUoYW5kZXJGdW5jdGlvbi0+dHlwZSgpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICAg
ICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCphbmRlckZ1bmN0aW9uKTsKLQotICAgICAg
ICBhdXRvKiBkZXJlZmVyZW5jZUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6RGVy
ZWZlcmVuY2VFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGxvY2F0aW9uLCBX
VEZNb3ZlKGNhbGxFeHByZXNzaW9uKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+
c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGVB
bm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5k
ZXJGdW5jdGlvbi0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9KTsKLQotICAgICAgICBpZiAoYXV0
byYgdmFyaWFibGVEZWNsYXJhdGlvbiA9IGFyZ3VtZW50LT52YXJpYWJsZURlY2xhcmF0aW9uKQot
ICAgICAgICAgICAgbV92YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSgqdmFyaWFi
bGVEZWNsYXJhdGlvbikpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlQo
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1bmN0aW9uKCkpOwotICAgIGF1dG8mIGdl
dHRlckZ1bmN0aW9uID0gKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigp
OwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAg
IGFyZ3VtZW50cy5hcHBlbmQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnRha2VCYXNlKCkpOwot
ICAgIEFTVDo6Q2FsbEV4cHJlc3Npb24qIGNhbGxFeHByZXNzaW9uOwotICAgIGlmIChpczxBU1Q6
OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkgewotICAgICAgICBh
dXRvJiBpbmRleEV4cHJlc3Npb24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChpbmRleEV4
cHJlc3Npb24udGFrZUluZGV4KCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbiA9IEFTVDo6cmVw
bGFjZVdpdGg8QVNUOjpDYWxsRXhwcmVzc2lvbj4oaW5kZXhFeHByZXNzaW9uLCBsb2NhdGlvbiwg
U3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6RG90RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKSk7Ci0gICAgICAgIGF1dG8mIGRvdEV4cHJlc3Npb24gPSBkb3duY2Fz
dDxBU1Q6OkRvdEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgICAg
IGNhbGxFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNhbGxFeHByZXNzaW9uPihk
b3RFeHByZXNzaW9uLCBsb2NhdGlvbiwgU3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgfQotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5jdGlv
bihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGUoZ2V0dGVyRnVu
Y3Rpb24udHlwZSgpKTsKLSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpSaWdodFZhbHVlKCkpOwotfQotCi1jbGFzcyBMZWZ0VmFsdWVTaW1wbGlmaWVyIDogcHVibGlj
IFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYp
IG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIGZpbmlzaFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
Jik7Ci19OwotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0g
ICAgQVNTRVJUKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkudHlwZUFubm90YXRpb24o
KS5sZWZ0QWRkcmVzc1NwYWNlKCkpOwotICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uYW5kZXJGdW5jdGlvbigpKTsKLQotICAgIFZpc2l0b3I6OnZpc2l0KHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKTsKLSAgICBhdXRvKiBhbmRlckZ1bmN0aW9uID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKTsKLQotICAgIGF1dG8gYXJndW1l
bnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwotICAgIEFT
U0VSVChhcmd1bWVudCk7Ci0gICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFibGVEZWNsYXJhdGlv
bik7Ci0gICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdoaWNoQW5kZXI6OkFuZGVy
KTsKLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwot
ICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVudC0+ZXhwcmVzc2lvbikpOwotICAg
IGlmIChpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkK
LSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4o
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgYXV0byBjYWxsRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpDYWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0
cmluZyhhbmRlckZ1bmN0aW9uLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgIGNh
bGxFeHByZXNzaW9uLT5zZXRUeXBlKGFuZGVyRnVuY3Rpb24tPnR5cGUoKSk7Ci0gICAgY2FsbEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICBjYWxs
RXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKmFuZGVyRnVuY3Rpb24pOwotCi0gICAgYXV0byogZGVy
ZWZlcmVuY2VFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkRlcmVmZXJlbmNlRXhw
cmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShjYWxs
RXhwcmVzc2lvbikpOwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkp
OwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0
VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmFkZHJlc3NTcGFjZSgpIH0pOwotfQotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OnZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICBWaXNpdG9yOjp2aXNp
dChkb3RFeHByZXNzaW9uKTsKLSAgICBmaW5pc2hWaXNpdGluZyhkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYg
aW5kZXhFeHByZXNzaW9uKQotewotICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNp
dChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwotICAgIGZpbmlzaFZpc2l0aW5n
KGluZGV4RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgTGVmdFZhbHVlU2ltcGxpZmllcjo6dmlzaXQo
QVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Npb24mIGRlcmVmZXJlbmNlRXhwcmVzc2lvbikKLXsKLSAg
ICAvLyBEZXJlZmVyZW5jZSBleHByZXNzaW9ucyBhcmUgdGhlIG9ubHkgZXhwcmVzc2lvbnMgd2hl
cmUgdGhlIGNoaWxkcmVuIG1pZ2h0IGJlIG1vcmUtcmlnaHQgdGhhbiB3ZSBhcmUuCi0gICAgLy8g
Rm9yIGV4YW1wbGUsIGEgZGVyZWZlcmVuY2UgZXhwcmVzc2lvbiBtYXkgYmUgYSBsZWZ0IHZhbHVl
IGJ1dCBpdHMgY2hpbGQgbWF5IGJlIGEgY2FsbCBleHByZXNzaW9uIHdoaWNoIGlzIGEgcmlnaHQg
dmFsdWUuCi0gICAgLy8gTGVmdFZhbHVlU2ltcGxpZmllciBkb2Vzbid0IGhhbmRsZSByaWdodCB2
YWx1ZXMsIHNvIHdlIGluc3RlYWQgbmVlZCB0byB1c2UgUHJvcGVydHlSZXNvbHZlci4KLSAgICBQ
cm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uKTsK
LX0KLQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJl
c3Npb24mIGV4cHJlc3Npb24pCi17Ci0gICAgTGVmdFZhbHVlU2ltcGxpZmllcigpLlZpc2l0b3I6
OnZpc2l0KGV4cHJlc3Npb24pOwotfQotCi12b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0m
IHByb2dyYW0pCit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQogewotICAgIFByb3Bl
cnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNpdChwcm9ncmFtKTsKKyAgICAvLyBGSVhNRTogQnJp
bmcgdGhpcyBwaGFzZSBiYWNrIHRvIGFsbG93IG1ldGFsIGNvZGVnZW4gc29tZSBjb252ZW5pZW5j
ZXMgCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1
MQogfQogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2aXNpdChkb3duY2Fz
dDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpOwog
ICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4
cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBb
Jl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVuY3Rpb24pIHsKLSAgICAgICAgICAgIGlm
ICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgaWYgKGlz
PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgIHZp
c2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKTsKLSAgICAg
ICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24o
KSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpOwot
ICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsK
LSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkpOwotCi0g
ICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8
QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVhY2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1
cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeS50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMjEwLDM3MCArMjEwLDYgQEAgdWludDQgcmV2ZXJzZWJpdHModWludDQgeCkgewog
fQogCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3cgKi8KLWJvb2wzIG9wZXJhdG9y
Lnl3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3coaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci55d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enp5ICovCi1i
b29sNCBvcGVyYXRvci55enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9y
Lnl6enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eSh1aW50MyB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXp6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55enp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eSAqLwotYm9vbDQgb3Bl
cmF0b3Iuenl4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh5KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHkoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd4
enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h6eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci53eHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXh4eiAqLwotYm9vbDQgb3BlcmF0b3IueXh4eihib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh6KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl4eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXh4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eHooaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl4eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXh4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp4d3k9ICovCi1ib29sNCBvcGVyYXRvci56eHd5PShib29sNCB2LCBib29sNCBj
KSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh3eT0odWludDQgdiwgdWludDQg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh3eT0oaW50NCB2LCBpbnQ0IGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHd5PShmbG9hdDQgdiwgZmxvYXQ0
IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd3
dyAqLwotYm9vbDQgb3BlcmF0b3IueHd3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd3dyhp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3d3coZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3l6ICovCi1ib29sNCBv
cGVyYXRvci56d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXoo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l6KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
LyogRnVuY3Rpb25zIG5hbWVkIGlzb3JkZXJlZCAqLwogYm9vbCBpc29yZGVyZWQoZmxvYXQgeCwg
ZmxvYXQgeSkgewogICAgIHJldHVybiAoeCA9PSB4KSAmJiAoeSA9PSB5KTsKQEAgLTYwMCw4OCAr
MjM2LDYgQEAgYm9vbDQgaXNvcmRlcmVkKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54ICovCi1uYXRpdmUg
Ym9vbCBvcGVyYXRvci54KGJvb2wyKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yLngoYm9vbDMpOwot
bmF0aXZlIGJvb2wgb3BlcmF0b3IueChib29sNCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvci54KHVp
bnQyKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLngodWludDMpOwotbmF0aXZlIHVpbnQgb3BlcmF0
b3IueCh1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50Mik7Ci1uYXRpdmUgaW50IG9w
ZXJhdG9yLngoaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50NCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IueChmbG9hdDIpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLngoZmxvYXQzKTsK
LW5hdGl2ZSBmbG9hdCBvcGVyYXRvci54KGZsb2F0NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXd4ICovCi1ib29sNCBvcGVyYXRvci54eXd4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci54eXd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3l4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCiAvKiBGdW5jdGlvbnMgbmFtZWQgdHJhbnNwb3NlICovCiBmbG9hdCB0cmFuc3Bv
c2UoZmxvYXQgeCkgewogICAgIHJldHVybiB4OwpAQCAtNjg5LDI3MiArMjQzLDEyMSBAQCBmbG9h
dCB0cmFuc3Bvc2UoZmxvYXQgeCkgewogZmxvYXQyeDIgdHJhbnNwb3NlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAg
cmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyB0cmFuc3Bvc2UoZmxvYXQzeDIgeCkgewogICAg
IGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3Vs
dFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKICAgICByZXN1
bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQyeDQgdHJhbnNwb3NlKGZsb2F0NHgyIHgpIHsKICAgICBm
bG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0
WzBdWzNdID0geFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3Vs
dFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKKyAgICByZXN1
bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzJdID0geFsyXVsxXTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJl
c3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdHJhbnNwb3NlKGZsb2F0MngzIHgpIHsKICAgICBm
bG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3Vs
dFsyXVswXSA9IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1
bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHRyYW5zcG9zZShmbG9hdDN4MyB4KSB7CiAgICAgZmxv
YXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsx
XVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRb
MV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1
bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHRyYW5zcG9zZShmbG9hdDR4MyB4KSB7CiAgICAgZmxv
YXQzeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJlc3VsdFsw
XVszXSA9IHhbM11bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzNdID0geFszXVsxXTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOworICAgIHJlc3Vs
dFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVz
dWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJl
c3VsdFsxXVsyXSA9IHhbMl1bMV07CiAgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAgICBy
ZXN1bHRbMl1bM10gPSB4WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSA9IHhbMl1bM107CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgyIHRyYW5zcG9zZShmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1
bHRbMl1bMF0gPSB4WzBdWzJdOwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07Ci0gICAgcmVz
dWx0WzNdWzBdID0geFswXVszXTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICBy
ZXN1bHRbMF1bM10gPSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRyYW5zcG9zZShmbG9hdDN4NCB4KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3Vs
dFsxXVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJl
c3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07Ci0gICAg
cmVzdWx0WzNdWzBdID0geFswXVszXTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOwotICAg
IHJlc3VsdFszXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAg
ICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHRyYW5zcG9zZShmbG9hdDR4NCB4KSB7CiAg
ICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJl
c3VsdFswXVszXSA9IHhbM11bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAg
cmVzdWx0WzFdWzNdID0geFszXVsxXTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwotICAg
IHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAg
ICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107Cisg
ICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07
CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNd
OworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsx
XTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IHhbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3l4ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnd5eHo9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAg
ICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXh6PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0g
ICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXh6PShpbnQ0IHYsIGludDQgYykgewotICAg
IGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eHo9KGZsb2F0NCB2LCBmbG9hdDQgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXh6ICovCi1i
b29sNCBvcGVyYXRvci55eXh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9y
Lnl5eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eih1aW50MyB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXh6KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXl4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eihmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXh6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IuenggKi8KLWJvb2wyIG9wZXJh
dG9yLnp4KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJh
dG9yLnp4KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJh
dG9yLnp4KHVpbnQzIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJh
dG9yLnp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0
b3IuengoaW50MyB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3Iu
engoaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56
eChmbG9hdDMgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRv
ci56eChmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkQWRkICovCiBuYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFkZChk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwogbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRBZGQoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKQEAgLTk2
OSwxNzQgKzM3Miw2IEBAIG5hdGl2ZSB2b2lkIEludGVybG9ja2VkQWRkKHRocmVhZGdyb3VwIGEK
IG5hdGl2ZSB2b2lkIEludGVybG9ja2VkQWRkKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWlu
dCwgdGhyZWFkZ3JvdXAgdWludCopOwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQodGhyZWFk
Z3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CiAKLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54enl4ICovCi1ib29sNCBvcGVyYXRvci54enl4KGJvb2wzIHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHp5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci54enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5eChpbnQzIHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enl4KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueHp5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54enl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3d6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3d6dyhib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53d3p3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3d6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3encoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d5
ICovCi1ib29sNCBvcGVyYXRvci55d3d5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnl3d3kodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3d5KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd3eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6d3ggKi8KLWJvb2w0IG9w
ZXJhdG9yLnh6d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp3eCh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6d3goaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiAv
KiBGdW5jdGlvbnMgbmFtZWQgc2F0dXJhdGUgKi8KIGZsb2F0IHNhdHVyYXRlKGZsb2F0IHgpIHsK
ICAgICByZXR1cm4gY2xhbXAoeCwgMCwgMSk7CkBAIC0xMTY1LDExNyArNDAwLDExNyBAQCBmbG9h
dDQgc2F0dXJhdGUoZmxvYXQ0IHgpIHsKIGZsb2F0MngyIHNhdHVyYXRlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MngzIHNhdHVyYXRlKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDJ4
MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJh
dGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IHNhdHVy
YXRlKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUo
eFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gyIHNhdHVyYXRlKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsx
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIHNhdHVyYXRlKGZsb2F0M3gz
IHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJh
dGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0
dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IHNh
dHVyYXRlKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAg
ICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
c2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJd
ID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHgyIHNhdHVyYXRlKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVz
dWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2F0dXJh
dGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2F0
dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
c2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHNhdHVyYXRlKGZsb2F0NHgzIHgpIHsK
ICAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJh
dGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0
dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
c2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNh
dHVyYXRlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJh
dGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2F0
dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAg
ICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFd
ID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUo
eFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0gc2F0dXJhdGUoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTEzMDksMTE3ICs1NDQsMTE3IEBAIGZsb2F0NCBtYWQoZmxvYXQ0
IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0MngyIG1hZChmbG9hdDJ4MiB4LCBmbG9hdDJ4
MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBt
YWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngzIG1hZChmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBt
YWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4NCBtYWQoZmxvYXQyeDQg
eCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewogICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBt
YWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVsz
XVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0s
IHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAg
IHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3gyIG1hZChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6
KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBd
LCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0s
IHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1
bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBtYWQo
eFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IG1hZChmbG9hdDN4
NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1h
ZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsy
XVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10s
IHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNd
WzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDIgbWFkKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1h
ZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNd
WzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIG1hZChmbG9hdDR4MyB4
LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBtYWQoZmxvYXQ0eDMgeCwg
ZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1
bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFd
KTsKICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRb
Ml1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1h
ZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFsz
XVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10s
IHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFd
WzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwg
elsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4
LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1h
ZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwg
elsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3Vs
dFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsy
XVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVszXSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQpAQCAtMTQyOSwzNTc5MSArNjY0LDE2OTg1IEBAIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4
LCBmbG9hdDR4NCB5LCBmbG8KIAogZmxvYXQgbW9kZihmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIGlw
KSB7CiAgICAgdWludCByZXN1bHQgPSB1aW50KHgpOwotICAgIGlmIChpcCAhPSBudWxsKQotICAg
ICAgICAqaXAgPSB4IC0gZmxvYXQocmVzdWx0KTsKKyAgICAqaXAgPSB4IC0gZmxvYXQocmVzdWx0
KTsKICAgICByZXR1cm4gZmxvYXQocmVzdWx0KTsKIH0KIGZsb2F0MiBtb2RmKGZsb2F0MiB4LCB0
aHJlYWQgZmxvYXQyKiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7
CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0MyBtb2RmKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5KSB7CiAg
ICAgZmxvYXQzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9k
Zih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0g
YnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVy
OworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAg
ICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtb2RmKGZs
b2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICBmbG9h
dCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzNdID0gbW9kZih4WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdID0gYnVmZmVyOworICAgICgqeSlbM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0MngyIG1vZGYoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1b
MF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZCBmbG9h
dDJ4MyogeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0s
ICZidWZmZXIpOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBt
b2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0
KiB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsK
KyAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZm
ZXIpOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7CiAgICAgZmxvYXQz
eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBd
WzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQz
eDMgbW9kZihmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHkpIHsKICAgICBmbG9hdDN4MyBy
ZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsx
XVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAg
KCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZi
dWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3g0IG1vZGYoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5KSB7CiAgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZm
ZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1b
M10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBi
dWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7
CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11b
MV0sICZidWZmZXIpOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJd
ID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAg
IHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzJdID0g
YnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtb2RmKGZsb2F0NHgyIHgs
IHRocmVhZCBmbG9hdDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBmbG9hdCBi
dWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsy
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9k
Zih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4Myog
eSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0
WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsx
XSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlb
Ml1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1b
Ml0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0g
PSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7
CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7
CisgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0
eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHkpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVsz
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYo
eFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsy
XVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9
IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVswXSA9IG1v
ZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsx
XSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzJdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzJd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzNdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhb
MV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJd
WzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFszXVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzNdID0gYnVm
ZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAogZmxvYXQgbW9kZihmbG9hdCB4LCBkZXZp
Y2UgZmxvYXQqIGlwKSB7CiAgICAgdWludCByZXN1bHQgPSB1aW50KHgpOwotICAgIGlmIChpcCAh
PSBudWxsKQotICAgICAgICAqaXAgPSB4IC0gZmxvYXQocmVzdWx0KTsKKyAgICAqaXAgPSB4IC0g
ZmxvYXQocmVzdWx0KTsKICAgICByZXR1cm4gZmxvYXQocmVzdWx0KTsKIH0KIGZsb2F0MiBtb2Rm
KGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQyKiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKICAgICBm
bG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MyBtb2RmKGZsb2F0MyB4LCBkZXZpY2UgZmxv
YXQzKiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVz
dWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
ID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9k
Zih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0g
YnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZs
b2F0NCBtb2RmKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5KSB7CiAgICAgZmxvYXQ0IHJlc3Vs
dDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgq
eSlbMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzNdID0gbW9kZih4WzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdID0gYnVmZmVyOworICAgICgqeSlbM10gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0MngyIG1vZGYoZmxvYXQyeDIgeCwgZGV2aWNlIGZs
b2F0MngyKiB5KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgs
IGRldmljZSBmbG9hdDJ4MyogeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBi
dWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBt
b2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgZGV2
aWNlIGZsb2F0Mng0KiB5KSB7CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwor
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhb
M11bMV0sICZidWZmZXIpOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5KSB7
CiAgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1b
MF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OworICAgICgqeSlbMF1bMF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFd
WzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
YnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1b
MV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsK
KyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQzeDMgbW9kZihmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHkpIHsKICAg
ICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9k
Zih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzJdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IG1vZGYoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5KSB7CiAg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBt
b2RmKHhbMF1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1b
MF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bM10gPSBidWZmZXI7CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
Ml1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICgqeSlbM11bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0g
PSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzNdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MiBtb2Rm
KGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2Rm
KHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIGRldmlj
ZSBmbG9hdDR4MyogeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7
CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Cisg
ICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVy
OworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBd
WzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9k
Zih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICgqeSlbMF1b
M10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsK
KyAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVsz
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHkpIHsKICAg
ICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1v
ZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9
IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsy
XVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsz
XSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAm
YnVmZmVyKTsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsy
XSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKKyAg
ICAoKnkpWzJdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFsw
XVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
M10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICgqeSlbMV1bM10gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzJdWzNd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFszXVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzNdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAogZmxvYXQgbW9kZihm
bG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogaXApIHsKICAgICB1aW50IHJlc3VsdCA9IHVpbnQo
eCk7Ci0gICAgaWYgKGlwICE9IG51bGwpCi0gICAgICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQp
OworICAgICppcCA9IHggLSBmbG9hdChyZXN1bHQpOwogICAgIHJldHVybiBmbG9hdChyZXN1bHQp
OwogfQogZmxvYXQyIG1vZGYoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSkgewogICAg
IGZsb2F0MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXSA9IG1vZGYo
eFswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IGJ1
ZmZlcjsKKyAgICAoKnkpWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXSA9IG1vZGYoeFsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDMgbW9k
ZihmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gYnVmZmVyOworICAgICgqeSlb
MF0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gYnVmZmVyOworICAgICgqeSlbMV0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzJdID0gbW9kZih4WzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdID0gYnVmZmVyOworICAgICgqeSlbMl0gPSBidWZmZXI7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NCBtb2RmKGZsb2F0NCB4LCB0aHJlYWRncm91
cCBmbG9hdDQqIHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMF0gPSBtb2RmKHhbMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBidWZmZXI7CisgICAgKCp5KVswXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMV0gPSBtb2RmKHhbMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl0g
PSBtb2RmKHhbMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml0gPSBidWZmZXI7CisgICAgKCp5KVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM10gPSBtb2Rm
KHhbM10sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBi
dWZmZXI7CisgICAgKCp5KVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxv
YXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9k
Zih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsK
KyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MyogeSkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgKCp5KVsw
XVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZi
dWZmZXIpOworICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9k
Zih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBi
dWZmZXI7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIGZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQy
eDQqIHkpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsy
XVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIp
OworICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSkgewogICAg
IGZsb2F0M3gyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0g
bW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAg
ICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHkpIHsKICAg
ICBmbG9hdDN4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9
IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
CisgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7CisgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9k
Zih4WzJdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzJdID0gYnVmZmVyOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3g0IG1vZGYoZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHkp
IHsKICAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFsw
XVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsz
XSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsz
XVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsK
KyAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsy
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgKCp5KVsyXVsy
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwor
ICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgy
IG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHkpIHsKICAgICBmbG9hdDR4
MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgKCp5KVsw
XVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZi
dWZmZXIpOworICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4
WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOworICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsz
XSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDMgbW9kZihmbG9hdDR4
MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOworICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gYnVmZmVyOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFsz
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgKCp5KVsy
XVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIp
OworICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFd
WzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsz
XSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJlYWRncm91
cCBmbG9hdDR4NCogeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7
CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICgqeSlbMV1bMF0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOworICAgICgqeSlbMl1bMF0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgICgqeSlb
M11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKKyAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsx
XVsxXSwgJmJ1ZmZlcik7CisgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1b
MV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICgqeSlbM11bMV0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAoKnkp
WzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZl
cik7CisgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhb
Ml1bMl0sICZidWZmZXIpOworICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNd
WzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgKCp5
KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZm
ZXIpOworICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4
WzNdWzNdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNd
ID0gYnVmZmVyOworICAgICgqeSlbM11bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3k9ICovCi1ib29sNCBvcGVyYXRv
ci53eT0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd5PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eT0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eT0oZmxvYXQ0IHYsIGZs
b2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yW109ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0b3JbXT0oYm9vbDIsIHVp
bnQsIGJvb2wpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yW109KGJvb2wzLCB1aW50LCBib29sKTsK
LW5hdGl2ZSBib29sNCBvcGVyYXRvcltdPShib29sNCwgdWludCwgYm9vbCk7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3JbXT0odWludDIsIHVpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9y
W109KHVpbnQzLCB1aW50LCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcltdPSh1aW50NCwg
dWludCwgdWludCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcltdPShpbnQyLCB1aW50LCBpbnQpOwot
bmF0aXZlIGludDMgb3BlcmF0b3JbXT0oaW50MywgdWludCwgaW50KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yW109KGludDQsIHVpbnQsIGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yW109KGZs
b2F0MiwgdWludCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcltdPShmbG9hdDMsIHVp
bnQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3JbXT0oZmxvYXQ0LCB1aW50LCBmbG9h
dCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3JbXT0oZmxvYXQyeDIsIHVpbnQsIGZsb2F0Mik7
Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3JbXT0oZmxvYXQyeDMsIHVpbnQsIGZsb2F0Myk7Ci1u
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3JbXT0oZmxvYXQyeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRp
dmUgZmxvYXQzeDIgb3BlcmF0b3JbXT0oZmxvYXQzeDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUg
ZmxvYXQzeDMgb3BlcmF0b3JbXT0oZmxvYXQzeDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxv
YXQzeDQgb3BlcmF0b3JbXT0oZmxvYXQzeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0
eDIgb3BlcmF0b3JbXT0oZmxvYXQ0eDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3JbXT0oZmxvYXQ0eDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3JbXT0oZmxvYXQ0eDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVyYXRv
cltdPShib29sMngyLCB1aW50LCBib29sMik7Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcltdPShi
b29sMngzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcltdPShib29sMng0
LCB1aW50LCBib29sNCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRvcltdPShib29sM3gyLCB1aW50
LCBib29sMik7Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcltdPShib29sM3gzLCB1aW50LCBib29s
Myk7Ci1uYXRpdmUgYm9vbDN4NCBvcGVyYXRvcltdPShib29sM3g0LCB1aW50LCBib29sNCk7Ci1u
YXRpdmUgYm9vbDR4MiBvcGVyYXRvcltdPShib29sNHgyLCB1aW50LCBib29sMik7Ci1uYXRpdmUg
Ym9vbDR4MyBvcGVyYXRvcltdPShib29sNHgzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDR4
NCBvcGVyYXRvcltdPShib29sNHg0LCB1aW50LCBib29sNCk7CisvKiBGdW5jdGlvbnMgbmFtZWQg
SW50ZXJsb2NrZWRNaW4gKi8KK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9t
aWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1p
bihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2Ug
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZp
Y2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50
LCB0aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0
b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwogCisvKiBGdW5jdGlvbnMgbmFtZWQg
bGVuZ3RoICovCituYXRpdmUgZmxvYXQgbGVuZ3RoKGZsb2F0KTsKK25hdGl2ZSBmbG9hdCBsZW5n
dGgoZmxvYXQyKTsKK25hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQzKTsKK25hdGl2ZSBmbG9hdCBs
ZW5ndGgoZmxvYXQ0KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eXggKi8KLWJv
b2w0IG9wZXJhdG9yLnl4eXgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLS0gKi8KK3VpbnQgb3BlcmF0b3ItLSh1aW50IHZhbHVlKSB7CisgICAgcmV0dXJu
IHZhbHVlIC0gMTsKIH0KLWJvb2w0IG9wZXJhdG9yLnl4eXgoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owor
aW50IG9wZXJhdG9yLS0oaW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKIH0KLWJv
b2w0IG9wZXJhdG9yLnl4eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgb3BlcmF0b3ItLShm
bG9hdCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7CiB9Ci11aW50NCBvcGVyYXRvci55
eHl4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPDwg
Ki8KK25hdGl2ZSBpbnQgb3BlcmF0b3I8PChpbnQsIHVpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0
b3I8PCh1aW50LCB1aW50KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGV4cDIgKi8KK2Zsb2F0IGV4
cDIoZmxvYXQgeCkgeworICAgIHJldHVybiBleHAoeCAqIGxvZyhmbG9hdCgyKSkpOwogfQotdWlu
dDQgb3BlcmF0b3IueXh5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQyIGV4cDIoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwMih4
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh5eCh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQz
IGV4cDIoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4
cDIoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwMih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBl
eHAyKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4eXgoaW50
MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDQgZXhwMihmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
ZXhwMih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGV4cDIoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZXhwMih4WzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci55eHl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDIgZXhwMihmbG9hdDJ4MiB4KSB7Cisg
ICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXh5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngzIGV4cDIoZmxvYXQyeDMgeCkg
eworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eXgoZmxvYXQy
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxv
YXQyeDQgZXhwMihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IGV4cDIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDIgZXhwMihmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh5eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDN4MyBleHAyKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGV4cDIoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp3eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnp3eHkoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0
IGV4cDIoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAy
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuend4eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0
eDIgZXhwMihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4
cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50NCBvcGVyYXRvci56d3h5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgZXhwMihmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhw
Mih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuend4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4
cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhb
Ml1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZXhw
Mih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3l5dyAqLwotYm9vbDQgb3BlcmF0b3Iud3l5dyhib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eXl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9u
cyBuYW1lZCBpc3Vub3JkZXJlZCAqLworCitib29sIGlzdW5vcmRlcmVkKGZsb2F0IHgsIGZsb2F0
IHkpIHsKKyAgICByZXR1cm4gaXNuYW4oeCkgfHwgaXNuYW4oeSk7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnd5eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Citib29sMiBpc3Vub3JkZXJlZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBib29sMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVz
dWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci53eXl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wzIGlzdW5vcmRlcmVkKGZsb2F0MyB4LCBmbG9h
dDMgeSkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh4dyAqLwotYm9vbDQgb3BlcmF0
b3IueHh4dyhib29sNCB2KSB7Citib29sNCBpc3Vub3JkZXJlZChmbG9hdDQgeCwgZmxvYXQ0IHkp
IHsKICAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVz
dWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gaXN1bm9y
ZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXN1bm9yZGVyZWQoeFsyXSwgeVsy
XSk7CisgICAgcmVzdWx0WzNdID0gaXN1bm9yZGVyZWQoeFszXSwgeVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKworLyogRnVuY3Rpb25zIG5hbWVkIGF0
YW4gKi8KK25hdGl2ZSBmbG9hdCBhdGFuKGZsb2F0KTsKK2Zsb2F0MiBhdGFuKGZsb2F0MiB4KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGF0YW4oeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3IueHh4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKK2Zsb2F0MyBhdGFuKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gYXRhbih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9w
ZXJhdG9yLnh4eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiAgICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd5ICovCi1ib29sMyBvcGVyYXRv
ci55d3koYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3IueXd5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXd5KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OworICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gYXRhbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhdGFuKHhbMl0pOwor
ICAgIHJlc3VsdFszXSA9IGF0YW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MyBvcGVyYXRvci55d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OworZmxv
YXQyeDIgYXRhbihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGF0YW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh5enc9ICovCi1ib29sNCBvcGVyYXRvci54eXp3PShib29sNCB2LCBib29s
NCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICBy
ZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsK
K2Zsb2F0MngzIGF0YW4oZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3IueHl6dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7CitmbG9hdDJ4NCBhdGFuKGZsb2F0Mng0
IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4o
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBhdGFuKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnh5enc9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owot
ICAgIHJlc3VsdC53ID0gYy53OworZmxvYXQzeDIgYXRhbihmbG9hdDN4MiB4KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHl6dz0oZmxvYXQ0IHYsIGZsb2F0
NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAg
cmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7
CitmbG9hdDN4MyBhdGFuKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3coYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0
M3g0IGF0YW4oZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBh
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHp3dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OworZmxv
YXQ0eDIgYXRhbihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci54end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFu
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCBhdGFuKGZsb2F0NHg0IHgp
IHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFu
KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0g
YXRhbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueHp3eSAqLwotYm9vbDQgb3BlcmF0b3IueHp3eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54end5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgbG9nICovCitu
YXRpdmUgZmxvYXQgbG9nKGZsb2F0KTsKK2Zsb2F0MiBsb2coZmxvYXQyIHgpIHsKKyAgICBmbG9h
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBs
b2coeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHp3eShpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0
MyBsb2coZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxv
Zyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gbG9n
KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp3eShmbG9h
dDQgdikgeworZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd3d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnd3d3ooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKKyAgICByZXN1
bHRbMF0gPSBsb2coeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGxvZyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBsb2coeFszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngyIGxvZyhmbG9hdDJ4MiB4
KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3d6KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQyeDMgbG9nKGZsb2F0MngzIHgp
IHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2coeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3d6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0
IGxvZyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4enggKi8KLWJvb2w0IG9wZXJhdG9yLnp4engoYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0M3gyIGxvZyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVy
YXRvci56eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4MyBsb2coZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
b2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3Iuenh6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OworZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBs
b2coeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4engo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
K2Zsb2F0NHgyIGxvZyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3Iuenh6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHgzIGxvZyhmbG9hdDR4MyB4KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBs
b2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxv
Zyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbG9nKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnp4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp4KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4engoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDQgbG9n
KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bG9nKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBs
b2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxv
Zyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbG9n
KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eXg9ICovCi1ib29sMyBvcGVyYXRvci56eXg9KGJvb2wzIHYsIGJvb2wzIGMpIHsK
LSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OworLyogRnVuY3Rpb25zIG5hbWVkIExvYWQgKi8K
K25hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTFEPHVpbnQ+LCBpbnQgbG9jYXRpb24pOworbmF0aXZl
IHVpbnQgTG9hZChUZXh0dXJlMURBcnJheTx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUg
dWludCBMb2FkKFRleHR1cmUyRDx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludCBM
b2FkKFRleHR1cmUyREFycmF5PHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50IExv
YWQoVGV4dHVyZTNEPHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBMb2FkKFRl
eHR1cmUxRDx1aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0dXJl
MURBcnJheTx1aW50Mj4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVy
ZTJEPHVpbnQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTNE
PHVpbnQyPiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgTG9hZChUZXh0dXJlMUQ8dWlu
dDM+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyRDx1aW50Mz4s
IGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUzRDx1aW50Mz4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTFEPHVpbnQ0PiwgaW50IGxv
Y2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgaW50MiBs
b2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkQ8dWludDQ+LCBpbnQyIGxvY2F0
aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgaW50MyBsb2Nh
dGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlM0Q8dWludDQ+LCBpbnQzIGxvY2F0aW9u
KTsKK25hdGl2ZSBpbnQgTG9hZChUZXh0dXJlMUQ8aW50PiwgaW50IGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQgTG9hZChUZXh0dXJlMURBcnJheTxpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBp
bnQgTG9hZChUZXh0dXJlMkQ8aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQo
VGV4dHVyZTJEQXJyYXk8aW50PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQoVGV4
dHVyZTNEPGludD4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJlMUQ8
aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxREFycmF5PGlu
dDI+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEPGludDI+LCBp
bnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJlM0Q8aW50Mj4sIGludDMgbG9j
YXRpb24pOworbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMUQ8aW50Mz4sIGludCBsb2NhdGlvbik7
CituYXRpdmUgaW50MyBMb2FkKFRleHR1cmUxREFycmF5PGludDM+LCBpbnQyIGxvY2F0aW9uKTsK
K25hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTJEPGludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0aXZl
IGludDMgTG9hZChUZXh0dXJlM0Q8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDQg
TG9hZChUZXh0dXJlMUQ8aW50ND4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50NCBMb2FkKFRl
eHR1cmUxREFycmF5PGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQoVGV4
dHVyZTJEPGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDQgTG9hZChUZXh0dXJlM0Q8
aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEPGZsb2F0
PiwgaW50IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ+LCBp
bnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
aW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ+LCBpbnQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMUQ8ZmxvYXQyPiwgaW50IGxv
Y2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBpbnQy
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMkQ8ZmxvYXQyPiwgaW50MiBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgaW50
MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTNEPGZsb2F0Mj4sIGludDMg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxRDxmbG9hdDM+LCBpbnQgbG9j
YXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGludDIg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUyRDxmbG9hdDM+LCBpbnQyIGxv
Y2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBpbnQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlM0Q8ZmxvYXQzPiwgaW50MyBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEPGZsb2F0ND4sIGludCBsb2Nh
dGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgaW50MiBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTJEPGZsb2F0ND4sIGludDIgbG9j
YXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIGludDMg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUzRDxmbG9hdDQ+LCBpbnQzIGxv
Y2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgaW50MiBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
aW50MyBsb2NhdGlvbik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzaW4gKi8KK25hdGl2ZSBmbG9h
dCBzaW4oZmxvYXQpOworZmxvYXQyIHNpbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3Iuenl4PShib29sNCB2LCBib29s
MyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0MyBzaW4oZmxvYXQzIHgp
IHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpbih4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBzaW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2luKHhbMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXg9KHVpbnQzIHYsIHVpbnQzIGMpIHsK
LSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OworZmxvYXQ0IHNpbihmbG9hdDQgeCkgeworICAg
IGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IHNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaW4oeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gc2luKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXg9
KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OworZmxvYXQy
eDIgc2luKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhb
MV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eD0oaW50MyB2
LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7CitmbG9hdDJ4MyBzaW4oZmxv
YXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eXg9KGludDQg
diwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OworZmxvYXQyeDQgc2luKGZs
b2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lu
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4o
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHNpbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJh
dG9yLnp5eD0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7CitmbG9hdDN4MiBzaW4oZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnp5eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnggPSBjLno7CitmbG9hdDN4MyBzaW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRNaW4gKi8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2Vk
TWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwot
bmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2
aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfaW50
KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2Ug
YXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQs
IHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1p
bih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2Ug
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWlu
dCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWlu
KHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgbGVuZ3RoICovCi1uYXRpdmUgZmxvYXQgbGVuZ3RoKGZsb2F0KTsKLW5h
dGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQzKTsK
LW5hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQ0KTsKLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd6eSAqLwotYm9vbDQgb3BlcmF0b3IueHd6eShib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgc2luKGZsb2F0M3g0
IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnh3enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIHNpbihmbG9hdDR4MiB4KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd6eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgzIHNp
bihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBz
aW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luKHhbMl1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd6eShmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBzaW4oZmxvYXQ0
eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1b
Ml0pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBzaW4oeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
LS0gKi8KLXVpbnQgb3BlcmF0b3ItLSh1aW50IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlIC0g
MTsKLX0KLWludCBvcGVyYXRvci0tKGludCB2YWx1ZSkgewotICAgIHJldHVybiB2YWx1ZSAtIDE7
CisvKiBGdW5jdGlvbnMgbmFtZWQgc2luY29zICovCit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJl
YWQgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikgeworICAgICp5ID0gc2luKHgpOworICAgICp6
ID0gY29zKHgpOwogfQotZmxvYXQgb3BlcmF0b3ItLShmbG9hdCB2YWx1ZSkgewotICAgIHJldHVy
biB2YWx1ZSAtIDE7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkIGZsb2F0MiogeSwgdGhy
ZWFkIGZsb2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I8
PCAqLwotbmF0aXZlIGludCBvcGVyYXRvcjw8KGludCwgdWludCk7Ci1uYXRpdmUgdWludCBvcGVy
YXRvcjw8KHVpbnQsIHVpbnQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d5eiAq
LwotYm9vbDQgb3BlcmF0b3Iud3d5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53d3l6
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0
KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53d3l6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCB0aHJlYWQgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci53d3l6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHh5ICovCi1ib29sMyBvcGVyYXRvci54eHkoYm9vbDIgdikgewotICAg
IGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKKyAgICBm
bG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3IueHh5
KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0
Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHkoYm9v
bDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotdWludDMg
b3BlcmF0b3IueHh5KHVpbnQyIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwg
dGhyZWFkIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
Ml1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eSh1
aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4
NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50MyBv
cGVyYXRvci54eHkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0
aHJlYWQgZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDMgb3BlcmF0
b3IueHh5KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIHRocmVhZCBm
bG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1p
bnQzIG9wZXJhdG9yLnh4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5
LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bM10gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eShpbnQ0IHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQgeCwgdGhyZWFkIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKKyAgICAgICAgKnkgPSBz
aW4oeCk7CisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9h
dDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRo
cmVhZCBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9hdDQgdikg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzNdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd3
ICovCi1ib29sMyBvcGVyYXRvci54d3coYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZs
b2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54
d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxv
YXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQot
aW50MyBvcGVyYXRvci54d3coaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCog
eSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDMg
b3BlcmF0b3IueHd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5
LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4dz0gKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eHc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54
ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNp
bmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIGRldmljZSBmbG9hdDN4Myogeikg
eworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0g
PSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXh3PSh1aW50NCB2LCB1aW50NCBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
eSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5
LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci56eXh3PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAg
ICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxv
YXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eXh3
PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAg
ICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0
eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsKKyAgICBmbG9h
dCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueXd3eiAqLwotYm9vbDQgb3BlcmF0b3IueXd3eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4
NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
M10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jl
c3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBz
aW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCogeikgewor
ICAgICAgICAqeSA9IHNpbih4KTsKKyAgICAgICAgKnogPSBjb3MoeCk7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnl3d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQg
ZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci55d3d6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRo
cmVhZCBmbG9hdDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXp6ICovCi1ib29sNCBvcGVyYXRvci53eXp6KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eXp6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4
MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5
enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9h
dDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd5enooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRo
cmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBleHAyICovCi1mbG9hdCBleHAyKGZsb2F0IHgpIHsKLSAgICByZXR1cm4g
ZXhwKHggKiBsb2coZmxvYXQoMikpKTsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBm
bG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQyIGV4cDIoZmxvYXQyIHgpIHsKLSAgICBm
bG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gZXhwMih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMg
eCwgdGhyZWFkIGZsb2F0M3gzKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CiB9Ci1mbG9hdDMgZXhwMihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZXhwMih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGV4cDIoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IGV4cDIo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGV4cDIoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBleHAyKHhb
Ml0pOwotICAgIHJlc3VsdFszXSA9IGV4cDIoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxv
YXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MngyIGV4cDIoZmxvYXQy
eDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0
eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MngzIGV4cDIoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0
MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5
LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0Mng0IGV4cDIoZmxvYXQyeDQgeCkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGV4cDIoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
IHgsIGRldmljZSBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7CisgICAgICAgICp5ID0gc2lu
KHgpOworICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLWZsb2F0M3gyIGV4cDIoZmxvYXQzeDIgeCkg
ewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBm
bG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAg
ZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3gzIGV4cDIoZmxv
YXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAy
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRldmljZSBm
bG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAg
ZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQzeDQgZXhwMihmbG9hdDN4NCB4KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCogeikg
eworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NHgyIGV4cDIoZmxvYXQ0eDIgeCkg
ewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IGV4cDIoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQ0eDMgZXhwMihmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBl
eHAyKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4
LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBleHAyKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAy
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZXhwMih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
ZXhwMih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDQg
eCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eCAqLwotYm9vbDMg
b3BlcmF0b3Iuenl4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwg
dGhyZWFkIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnp5eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZp
Y2UgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50
MyBvcGVyYXRvci56eXgodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5
LCB0aHJlYWQgZmxvYXQzeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVz
dWx0OwogfQotdWludDMgb3BlcmF0b3Iuenl4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmlj
ZSBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0
OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0
NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAg
ZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0g
Y29zUmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56eXgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRl
dmljZSBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9y
Lnp5eChmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCogeSwgZGV2aWNlIGZsb2F0
KiB6KSB7CisgICAgICAgICp5ID0gc2luKHgpOworICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLWZs
b2F0MyBvcGVyYXRvci56eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0Miog
eSwgZGV2aWNlIGZsb2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iud3d3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3d3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgZGV2aWNlIGZsb2F0Myogeikg
eworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci53d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCBk
ZXZpY2UgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0
OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci53d3d3KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4Miogeikgewor
ICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3l6dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHks
IGRldmljZSBmbG9hdDJ4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3Iud3l6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBk
ZXZpY2UgZmxvYXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5encoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQz
eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6
dyAqLwotYm9vbDQgb3BlcmF0b3IueXp6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewor
ICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55
enp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBm
bG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnl6encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55enp3KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0
NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAg
ZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVszXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnd3eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZp
Y2UgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7CisgICAgICAgICp5ID0gc2luKHgp
OworICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLXVpbnQzIG9wZXJhdG9yLnd3eSh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnd3eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRldmljZSBmbG9h
dDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAg
ICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iud3d5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6
ICovCi1ib29sMiBvcGVyYXRvci53eihib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZGdyb3Vw
IGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwogfQotdWludDIgb3BlcmF0b3Iud3oodWludDQgdikgewotICAg
IHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0
MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsK
KyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnd6KGludDQgdikgewotICAgIGlu
dDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQq
IHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1m
bG9hdDIgb3BlcmF0b3Iud3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4PSAqLwotYm9vbDMgb3BlcmF0b3Iueng9
KGJvb2wzIHYsIGJvb2wyIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNp
bmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gz
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnp4PShib29sNCB2LCBib29sMiBj
KSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwg
ZGV2aWNlIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0Owor
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eD0odWludDMg
diwgdWludDIgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7
Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZs
b2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4PSh1aW50NCB2LCB1aW50
MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMg
eCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp4PShpbnQz
IHYsIGludDIgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsK
LSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewor
ICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3Iueng9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFk
IGZsb2F0KiB6KSB7CisgICAgICAgICp5ID0gc2luKHgpOworICAgICAgICAqeiA9IGNvcyh4KTsK
IH0KLWZsb2F0MyBvcGVyYXRvci56eD0oZmxvYXQzIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQz
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9h
dDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eD0o
ZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh5eSAqLwotYm9vbDQgb3BlcmF0b3IueXh5eShib29s
MiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0
KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotYm9v
bDQgb3BlcmF0b3IueXh5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4
MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owog
fQotYm9vbDQgb3BlcmF0b3IueXh5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnl4eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
M11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0
M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnl4eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQz
eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4eXkoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWQgZmxvYXQzeDQq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsy
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVy
YXRvci55eHl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJl
YWRncm91cCBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2lu
UmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9w
ZXJhdG9yLnl4eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsz
XVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnl4eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4
LCB0aHJlYWRncm91cCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7CisgICAgICAgICp5ID0g
c2luKHgpOworICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHl5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZs
b2F0MiogeSwgZGV2aWNlIGZsb2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3l5eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l5eChib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCBkZXZpY2Ug
ZmxvYXQzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnd5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3Mo
ZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l5eChpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIGRl
dmljZSBmbG9hdDJ4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXl4KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQy
eDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55ICovCi1uYXRp
dmUgYm9vbCBvcGVyYXRvci55KGJvb2wyKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yLnkoYm9vbDMp
OwotbmF0aXZlIGJvb2wgb3BlcmF0b3IueShib29sNCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvci55
KHVpbnQyKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnkodWludDMpOwotbmF0aXZlIHVpbnQgb3Bl
cmF0b3IueSh1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnkoaW50Mik7Ci1uYXRpdmUgaW50
IG9wZXJhdG9yLnkoaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnkoaW50NCk7Ci1uYXRpdmUg
ZmxvYXQgb3BlcmF0b3IueShmbG9hdDIpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnkoZmxvYXQz
KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci55KGZsb2F0NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53d3p4ICovCi1ib29sNCBvcGVyYXRvci53d3p4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZp
Y2UgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgq
eilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9y
Lnd3engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd3engoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5
LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKKyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd3
engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRn
cm91cCBmbG9hdDN4NCogeSwgZGV2aWNlIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4
enogKi8KLWJvb2w0IG9wZXJhdG9yLnl4enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4Miog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueXh6eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4
MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl4enoodWludDMgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9h
dDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl4enoodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0
KiB6KSB7CisgICAgICAgICp5ID0gc2luKHgpOworICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLWlu
dDQgb3BlcmF0b3IueXh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgs
IHRocmVhZGdyb3VwIGZsb2F0MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnl4enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueXh6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJl
YWRncm91cCBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdID0gc2luUmVz
dWx0OworICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXSA9
IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIHRocmVh
ZGdyb3VwIGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3h6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3h6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3Iud3h6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3h6dyhpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHksIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eHp3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIHRo
cmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnp4eXgoYm9vbDMgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRo
cmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnp4eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBz
aW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgICgq
eilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5
LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7CisgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICgqeilbM11bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKKyAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OworICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh5eChpbnQzIHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNo
YW5nZSAqLworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVh
ZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgaW50LCBkZXZp
Y2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2Ug
YXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgaW50
LCB0aHJlYWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hh
bmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQqKTsK
K25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21p
Y19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRD
b21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCBkZXZp
Y2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFk
Z3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQs
IHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFy
ZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzbW9vdGhzdGVwICovCitmbG9hdCBzbW9vdGhz
dGVwKGZsb2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwgZmxvYXQgeCkgeworICAgIGZsb2F0IHQgPSBj
bGFtcCgoeCAtIGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2UwKSwgMCwgMSk7CisgICAgcmV0dXJuIHQg
KiB0ICogKDMgLSAyICogdCk7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp4eXgoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDIgc21vb3Roc3Rl
cChmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsx
XSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci56eHl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MyBzbW9vdGhzdGVwKGZsb2F0MyB4LCBmbG9h
dDMgeSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNt
b290aHN0ZXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4
WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzbW9vdGhzdGVwKHhbMl0sIHlbMl0s
IHpbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh5eChmbG9h
dDQgdikgeworZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikg
ewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eXo9ICovCi1i
b29sNCBvcGVyYXRvci53eHl6PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1
bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3Iud3h5ej0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iud3h5ej0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CisgICAgcmVzdWx0WzBdID0gc21vb3Roc3Rl
cCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlb
MV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IHNtb290aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7
CisgICAgcmVzdWx0WzNdID0gc21vb3Roc3RlcCh4WzNdLCB5WzNdLCB6WzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4eXo9KGZsb2F0NCB2LCBmbG9hdDQgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OworZmxv
YXQyeDIgc21vb3Roc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7Cisg
ICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnl5eHkoYm9v
bDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zs
b2F0MngzIHNtb290aHN0ZXAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0
ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Ro
c3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ym9vbDQgb3BlcmF0b3IueXl4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQgc21vb3Roc3RlcChmbG9hdDJ4NCB4LCBmbG9h
dDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueXl4eShib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIg
c21vb3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci55eXh5KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7CitmbG9hdDN4MyBzbW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHks
IGZsb2F0M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
c21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IHNtb290
aHN0ZXAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJd
WzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlb
M11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAoeFsz
XVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVw
KHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0
ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc21vb3Ro
c3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3IueXl4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eXh5KGludDIgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgc21v
b3Roc3RlcChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVw
KHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0
ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Ro
c3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9v
dGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnl5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZsb2F0
NHg0IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpb
Ml1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwg
elszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNd
LCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1b
M10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsy
XVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNdWzNdLCB5
WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55
eXh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OworCisvKiBGdW5jdGlvbnMgbmFtZWQgZXhwICovCituYXRpdmUgZmxvYXQgZXhwKGZsb2F0KTsK
K2Zsb2F0MiBleHAoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGV4cCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBleHAoZmxvYXQzIHgpIHsK
KyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwKHhbMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDMgdikgeworZmxvYXQ0IGV4
cChmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7CisgICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZXhwKHhbM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4
MiBleHAoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh6ICovCi1ib29sMiBvcGVyYXRvci54eihib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQyeDMgZXhw
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBl
eHAoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wyIG9wZXJhdG9yLnh6KGJv
b2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7CitmbG9hdDJ4NCBleHAoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci54eih1aW50MyB2KSB7Ci0gICAgdWludDIg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQz
eDIgZXhwKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9wZXJhdG9y
Lnh6KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7CitmbG9hdDN4MyBleHAoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhw
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50MiBvcGVyYXRvci54eihpbnQzIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKK2Zsb2F0M3g0IGV4cChmbG9hdDN4NCB4KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhw
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gZXhwKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQyIG9wZXJhdG9yLnh6KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQ0eDIgZXhwKGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4
WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJhdG9yLnh6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKK2Zsb2F0NHgzIGV4cChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZXhwKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueHoo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OworZmxvYXQ0eDQgZXhwKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBleHAoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZXhwKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l3ICovCi1ib29sNCBvcGVy
YXRvci55d3l3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eXcodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGFsbCAqLworYm9vbCBhbGwoYm9v
bCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3eXcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Citib29sIGFsbChib29s
MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbGwoYm9vbDMgeCkgeworICAgIGJv
b2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0pOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6
eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi56OworYm9vbCBhbGwoYm9vbDQgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0pOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci53enp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Jvb2wgYWxsKHVpbnQgeCkgewor
ICAgIHJldHVybiB4ICE9IDA7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd6enooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citib29sIGFsbCh1aW50MiB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53enp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Jvb2wgYWxsKHVpbnQzIHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIGlzdW5vcmRlcmVkICovCi0KLWJvb2wgaXN1bm9yZGVyZWQoZmxvYXQgeCwgZmxv
YXQgeSkgewotICAgIHJldHVybiBpc25hbih4KSB8fCBpc25hbih5KTsKLX0KLWJvb2wyIGlzdW5v
cmRlcmVkKGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc3Vub3Jk
ZXJlZCh4WzFdLCB5WzFdKTsKK2Jvb2wgYWxsKHVpbnQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1ib29sMyBpc3Vub3JkZXJlZChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7Ci0gICAg
cmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXN1
bm9yZGVyZWQoeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Jvb2wgYWxsKGludCB4
KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLWJvb2w0IGlzdW5vcmRlcmVkKGZsb2F0NCB4LCBm
bG9hdDQgeSkgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJl
ZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10g
PSBpc3Vub3JkZXJlZCh4WzNdLCB5WzNdKTsKK2Jvb2wgYWxsKGludDIgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnp3
d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Jvb2wgYWxsKGludDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuend3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworYm9vbCBhbGwoaW50NCB4KSB7CisgICAg
Ym9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3d5KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworYm9vbCBhbGwoZmxvYXQgeCkg
eworICAgIHJldHVybiB4ICE9IDA7Cit9Citib29sIGFsbChmbG9hdDIgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDQgb3BlcmF0b3Iuend3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Citib29sIGFsbChmbG9hdDMgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iuenp4eiAqLwotYm9vbDQgb3BlcmF0b3Iuenp4eihib29sMyB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworYm9vbCBhbGwoZmxvYXQ0IHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDAp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci56enh6KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citib29sIGFsbChm
bG9hdDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQg
b3BlcmF0b3Iuenp4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OworYm9vbCBhbGwoZmxvYXQyeDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0g
dHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iu
enp4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OworYm9vbCBhbGwoZmxvYXQyeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQ0IG9wZXJhdG9yLnp6eHooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Citib29sIGFsbChmbG9hdDN4MiB4KSB7CisgICAgYm9vbCByZXN1bHQg
PSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnp6eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Citib29sIGFsbChmbG9hdDN4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenp4
eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Citib29sIGFsbChmbG9hdDN4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iuenp4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Citib29sIGFsbChmbG9hdDR4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGF0YW4gKi8KLW5hdGl2ZSBmbG9hdCBhdGFuKGZsb2F0
KTsKLWZsb2F0MiBhdGFuKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBhdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7Citib29sIGFs
bChmbG9hdDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgYXRhbihmbG9hdDMgeCkgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBhdGFuKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGF0YW4oeFsyXSk7Citib29sIGFs
bChmbG9hdDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVszXSAhPSAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGF0YW4oZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXRh
bih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGF0
YW4oeFszXSk7Citib29sIGFsbChib29sMngyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGF0YW4o
ZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBh
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1b
MV0pOworYm9vbCBhbGwoYm9vbDJ4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBh
dGFuKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGF0YW4oeFsxXVsyXSk7Citib29sIGFsbChib29sMng0IHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IGF0YW4oZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVsz
XSk7Citib29sIGFsbChib29sM3gyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGF0
YW4oZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgYXRh
bihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFu
KHhbMl1bMl0pOworYm9vbCBhbGwoYm9vbDN4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCBhdGFuKGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0
YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7Citib29s
IGFsbChib29sM3g0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NHgyIGF0YW4oZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0
YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBhdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7Citib29s
IGFsbChib29sNHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
MV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIGF0
YW4oZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRh
bih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGF0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJd
KTsKK2Jvb2wgYWxsKGJvb2w0eDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsy
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgYXRhbihmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRh
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBhdGFuKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGF0YW4oeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBhdGFuKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGF0YW4oeFszXVszXSk7Citi
b29sIGFsbChib29sNHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
M11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnh4eXogKi8KLWJvb2w0IG9wZXJhdG9yLnh4eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVu
Y3Rpb25zIG5hbWVkIGZpcnN0Yml0bG93ICovCit1aW50IGZpcnN0Yml0bG93KHVpbnQgeCkgewor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDMxOworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDMwOworICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI5OworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI4OworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI3OworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI2OworICAgIGlmICgoeCAmIHVpbnQo
MSA8PCA2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI1OworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCA3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI0OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCA4
KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIzOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCA5KSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDIyOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMCkpICE9
IDApCisgICAgICAgIHJldHVybiAyMTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEyKSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDE5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMykpICE9IDApCisg
ICAgICAgIHJldHVybiAxODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMTc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE1KSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDE2OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNikpICE9IDApCisgICAgICAg
IHJldHVybiAxNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMTQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE4KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDEzOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOSkpICE9IDApCisgICAgICAgIHJldHVy
biAxMjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQorICAgICAgICByZXR1cm4g
MTE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEw
OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCisgICAgICAgIHJldHVybiA5Owor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDApCisgICAgICAgIHJldHVybiA4OworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9IDApCisgICAgICAgIHJldHVybiA3OworICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAyNSkpICE9IDApCisgICAgICAgIHJldHVybiA2OworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAyNikpICE9IDApCisgICAgICAgIHJldHVybiA1OworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAyNykpICE9IDApCisgICAgICAgIHJldHVybiA0OworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyOCkpICE9IDApCisgICAgICAgIHJldHVybiAzOworICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyOSkpICE9IDApCisgICAgICAgIHJldHVybiAyOworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAzMCkpICE9IDApCisgICAgICAgIHJldHVybiAxOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAz
MSkpICE9IDApCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiAzMjsKIH0KLWJvb2w0IG9w
ZXJhdG9yLnh4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwordWludCBmaXJzdGJpdGxvdyhpbnQgeCkg
eworICAgIHJldHVybiBmaXJzdGJpdGxvdyh1aW50KHgpKTsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4
eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKK3VpbnQyIGZpcnN0Yml0bG93KHVpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRs
b3coeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4eXoodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK3Vp
bnQzIGZpcnN0Yml0bG93KHVpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsx
XSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDQgb3BlcmF0b3IueHh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYuejsKK3VpbnQ0IGZpcnN0Yml0bG93KHVpbnQ0IHgpIHsKKyAg
ICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAg
cmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRs
b3coeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRsb3coeFszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK3VpbnQyIGZpcnN0Yml0bG93KGludDIgeCkg
eworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnh4eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OwordWludDMgZmlyc3RiaXRsb3coaW50MyB4KSB7Cisg
ICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0
bG93KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh5eihm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Cit1aW50NCBmaXJzdGJpdGxvdyhpbnQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3co
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gZmlyc3RiaXRsb3coeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnh5d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh5d3koYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl3eSh1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnh5d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci54eXd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yPD0gKi8KK25hdGl2ZSBib29sIG9wZXJhdG9yPD0oaW50LCBpbnQpOworbmF0aXZlIGJvb2wg
b3BlcmF0b3I8PSh1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPD0oZmxvYXQsIGZs
b2F0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcjw9KHVpbnQyLCB1aW50Mik7CituYXRpdmUgYm9v
bDMgb3BlcmF0b3I8PSh1aW50MywgdWludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0odWlu
dDQsIHVpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcjw9KGludDIsIGludDIpOworbmF0aXZl
IGJvb2wzIG9wZXJhdG9yPD0oaW50MywgaW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8PShp
bnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcjw9KGZsb2F0MiwgZmxvYXQyKTsKK25h
dGl2ZSBib29sMyBvcGVyYXRvcjw9KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBib29sNCBvcGVy
YXRvcjw9KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBib29sMngyIG9wZXJhdG9yPD0oZmxvYXQy
eDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPD0oZmxvYXQyeDMsIGZsb2F0
MngzKTsKK25hdGl2ZSBib29sMng0IG9wZXJhdG9yPD0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25h
dGl2ZSBib29sM3gyIG9wZXJhdG9yPD0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29s
M3gzIG9wZXJhdG9yPD0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sM3g0IG9wZXJh
dG9yPD0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPD0oZmxv
YXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9yPD0oZmxvYXQ0eDMsIGZs
b2F0NHgzKTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPD0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsK
IAotLyogRnVuY3Rpb25zIG5hbWVkIGxvZyAqLwotbmF0aXZlIGZsb2F0IGxvZyhmbG9hdCk7Ci1m
bG9hdDIgbG9nKGZsb2F0MiB4KSB7CisvKiBGdW5jdGlvbnMgbmFtZWQgZGR4X2ZpbmUgKi8KK2Zs
b2F0IGRkeF9maW5lKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZGR4KHgpOworfQorZmxvYXQyIGRk
eF9maW5lKGZsb2F0MiB4KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBs
b2coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOworICAgIHJlc3VsdFswXSA9IGRk
eF9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDMgbG9nKGZsb2F0MyB4KSB7CitmbG9hdDMgZGR4X2ZpbmUoZmxv
YXQzIHgpIHsKICAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZyh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBsb2coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbG9nKHhbMl0pOwor
ICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9maW5l
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgbG9nKGZsb2F0NCB4KSB7CitmbG9hdDQgZGR4X2ZpbmUoZmxvYXQ0IHgp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZyh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBsb2coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbG9nKHhbMl0pOwotICAgIHJl
c3VsdFszXSA9IGxvZyh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHhfZmluZSh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHhfZmluZSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgpIHsKK2Zsb2F0MngyIGRkeF9maW5lKGZsb2F0
MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAg
IHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRk
eF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDJ4MyBsb2coZmxvYXQyeDMgeCkgeworZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQy
eDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgbG9nKGZsb2F0Mng0
IHgpIHsKK2Zsb2F0Mng0IGRkeF9maW5lKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmlu
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
ZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBk
ZHhfZmluZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgbG9nKGZs
b2F0M3gyIHgpIHsKK2Zsb2F0M3gyIGRkeF9maW5lKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7CitmbG9hdDN4MyBkZHhf
ZmluZShmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1b
Ml0pOworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5l
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9m
aW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCBsb2coZmxvYXQz
eDQgeCkgeworZmxvYXQzeDQgZGR4X2ZpbmUoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBsb2coeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGxvZyh4WzJdWzNdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBk
ZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
eDIgbG9nKGZsb2F0NHgyIHgpIHsKK2Zsb2F0NHgyIGRkeF9maW5lKGZsb2F0NHgyIHgpIHsKICAg
ICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmlu
ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0eDMgbG9nKGZsb2F0NHgzIHgpIHsKK2Zsb2F0NHgzIGRkeF9maW5lKGZsb2F0NHgzIHgp
IHsKICAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4
X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7CitmbG9hdDR4NCBkZHhfZmlu
ZShmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwotICAgIHJlc3Vs
dFszXVswXSA9IGxvZyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGxv
Zyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3h3eCAqLwotYm9vbDQgb3BlcmF0b3Iud3h3eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3h3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4d3goZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5l
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9m
aW5lKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGRkeF9maW5lKHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp3ICov
Ci1ib29sNCBvcGVyYXRvci55eHp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl4encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHp3KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciBjYXN0ICovCituYXRpdmUgb3BlcmF0
b3IgdWludChpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQoZmxvYXQpOworbmF0aXZlIG9wZXJh
dG9yIGludCh1aW50KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQoZmxvYXQpOworbmF0aXZlIG9wZXJh
dG9yIGZsb2F0KHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0KGludCk7CituYXRpdmUgb3Bl
cmF0b3IgaW50KGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wodWludCk7CituYXRpdmUgb3Bl
cmF0b3IgYm9vbChpbnQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2woZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGJvb2wyKGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wsIGJv
b2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wyLCBib29sKTsKK25hdGl2ZSBv
cGVyYXRvciBib29sMyhib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbDIsIGJvb2wsIGJv
b2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wyLCBib29sKTsKK25hdGl2ZSBv
cGVyYXRvciBib29sNChib29sLCBib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQo
Ym9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVyYXRvciBib29sNChib29sMywgYm9vbCk7CituYXRp
dmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQyKHVp
bnQsIHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQsIHVpbnQpOworbmF0
aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50Myh1
aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludCwgdWlu
dCk7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQsIHVpbnQpOworbmF0aXZlIG9w
ZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50NCh1
aW50LCB1aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQyKTsK
K25hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50MywgdWludCk7CituYXRpdmUgb3BlcmF0b3IgdWlu
dDQodWludCwgdWludDMpOworbmF0aXZlIG9wZXJhdG9yIGludDIoaW50LCBpbnQpOworbmF0aXZl
IG9wZXJhdG9yIGludDMoaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQy
LCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDMoaW50LCBpbnQyKTsKK25hdGl2ZSBvcGVyYXRv
ciBpbnQ0KGludCwgaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQyLCBp
bnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludDIsIGludCk7CituYXRpdmUg
b3BlcmF0b3IgaW50NChpbnQsIGludCwgaW50Mik7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQy
LCBpbnQyKTsKK25hdGl2ZSBvcGVyYXRvciBpbnQ0KGludDMsIGludCk7CituYXRpdmUgb3BlcmF0
b3IgaW50NChpbnQsIGludDMpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MihmbG9hdCwgZmxvYXQp
OworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDMoZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZs
b2F0LCBmbG9hdDIpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0MiwgZmxvYXQsIGZsb2F0KTsK
K25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0MiwgZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZsb2F0Mik7CituYXRpdmUgb3BlcmF0b3IgZmxv
YXQ0KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQzLCBmbG9h
dCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdDMpOworbmF0aXZlIG9wZXJh
dG9yIGZsb2F0MngyKGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4Myhm
bG9hdDMsIGZsb2F0Myk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQ0LCBmbG9hdDQp
OworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIpOworbmF0
aXZlIG9wZXJhdG9yIGZsb2F0M3gzKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0M3g0KGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIG9wZXJhdG9y
IGZsb2F0NHgyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgb3BlcmF0
b3IgZmxvYXQ0eDMoZmxvYXQzLCBmbG9hdDMsIGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBvcGVy
YXRvciBmbG9hdDR4NChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0MngyKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBvcGVy
YXRvciBmbG9hdDJ4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsK
K25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZs
b2F0M3gzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9h
dCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgyKGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxv
YXQ0eDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0
eDQoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQp
OworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVyYXRv
ciBib29sMngzKGJvb2wzLCBib29sMyk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4NChib29sNCwg
Ym9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDIoYm9vbDIsIGJvb2wyLCBib29sMik7Citu
YXRpdmUgb3BlcmF0b3IgYm9vbDN4Myhib29sMywgYm9vbDMsIGJvb2wzKTsKK25hdGl2ZSBvcGVy
YXRvciBib29sM3g0KGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0
eDIoYm9vbDIsIGJvb2wyLCBib29sMiwgYm9vbDIpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDMo
Ym9vbDMsIGJvb2wzLCBib29sMywgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQoYm9v
bDQsIGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sMng0KGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9y
IGJvb2wzeDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3Bl
cmF0b3IgYm9vbDN4Myhib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sM3g0KGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0
aXZlIG9wZXJhdG9yIGJvb2w0eDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDR4Myhib29sLCBib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sKTsKK25h
dGl2ZSBvcGVyYXRvciBib29sNHg0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgTG9hZCAqLwotbmF0aXZlIHVpbnQgTG9hZChUZXh0
dXJlMUQ8dWludD4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBMb2FkKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTJEPHVp
bnQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQgTG9hZChUZXh0dXJlM0Q8dWludD4sIGlu
dDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTFEPHVpbnQyPiwgaW50IGxv
Y2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQyPiwgaW50MiBs
b2NhdGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMkQ8dWludDI+LCBpbnQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSB1aW50MiBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQyPiwgaW50MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlM0Q8dWludDI+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUxRDx1aW50Mz4sIGludCBsb2NhdGlvbik7Ci1u
YXRpdmUgdWludDMgTG9hZChUZXh0dXJlMURBcnJheTx1aW50Mz4sIGludDIgbG9jYXRpb24pOwot
bmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEPHVpbnQzPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRp
dmUgdWludDMgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50Mz4sIGludDMgbG9jYXRpb24pOwotbmF0
aXZlIHVpbnQzIExvYWQoVGV4dHVyZTNEPHVpbnQzPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUg
dWludDQgTG9hZChUZXh0dXJlMUQ8dWludDQ+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0
IExvYWQoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50
NCBMb2FkKFRleHR1cmUyRDx1aW50ND4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IExv
YWQoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50NCBM
b2FkKFRleHR1cmUzRDx1aW50ND4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludCBMb2FkKFRl
eHR1cmUxRDxpbnQ+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIGludCBMb2FkKFRleHR1cmUxREFy
cmF5PGludD4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGludCBMb2FkKFRleHR1cmUyRDxpbnQ+
LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9hZChUZXh0dXJlMkRBcnJheTxpbnQ+LCBp
bnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9hZChUZXh0dXJlM0Q8aW50PiwgaW50MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxRDxpbnQyPiwgaW50IGxvY2F0aW9uKTsK
LW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGludDIgbG9jYXRpb24pOwot
bmF0aXZlIGludDIgTG9hZChUZXh0dXJlMkQ8aW50Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZl
IGludDIgTG9hZChUZXh0dXJlMkRBcnJheTxpbnQyPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUg
aW50MiBMb2FkKFRleHR1cmUzRDxpbnQyPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBM
b2FkKFRleHR1cmUxRDxpbnQzPiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIExvYWQoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGludDMgTG9hZChUZXh0
dXJlMkQ8aW50Mz4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMkRB
cnJheTxpbnQzPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBMb2FkKFRleHR1cmUzRDxp
bnQzPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBMb2FkKFRleHR1cmUxRDxpbnQ0Piwg
aW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGlu
dDIgbG9jYXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0dXJlMkQ8aW50ND4sIGludDIgbG9j
YXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0dXJlMkRBcnJheTxpbnQ0PiwgaW50MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50NCBMb2FkKFRleHR1cmUzRDxpbnQ0PiwgaW50MyBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMUQ8ZmxvYXQ+LCBpbnQgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5h
dGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyRDxmbG9hdD4sIGludDIgbG9jYXRpb24pOwotbmF0aXZl
IGZsb2F0IExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2
ZSBmbG9hdCBMb2FkKFRleHR1cmUzRDxmbG9hdD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZs
b2F0MiBMb2FkKFRleHR1cmUxRDxmbG9hdDI+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0
MiBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZs
b2F0MiBMb2FkKFRleHR1cmUyRDxmbG9hdDI+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dDIgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBm
bG9hdDIgTG9hZChUZXh0dXJlM0Q8ZmxvYXQyPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxv
YXQzIExvYWQoVGV4dHVyZTFEPGZsb2F0Mz4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQz
IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxv
YXQzIExvYWQoVGV4dHVyZTJEPGZsb2F0Mz4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0
MyBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZs
b2F0MyBMb2FkKFRleHR1cmUzRDxmbG9hdDM+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dDQgTG9hZChUZXh0dXJlMUQ8ZmxvYXQ0PiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQg
TG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dDQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ0PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0
IExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxv
YXQ0IExvYWQoVGV4dHVyZTNEPGZsb2F0ND4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0
IExvYWQoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dCBMb2FkKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCBpbnQzIGxvY2F0aW9uKTsKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBsb2FkICovCituYXRpdmUgaW50IGxvYWQoZGV2aWNlIGF0b21pY19pbnQq
KTsKK25hdGl2ZSB1aW50IGxvYWQoZGV2aWNlIGF0b21pY191aW50Kik7CituYXRpdmUgaW50IGxv
YWQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCopOworbmF0aXZlIHVpbnQgbG9hZCh0aHJlYWRncm91
cCBhdG9taWNfdWludCopOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d5eCAqLwot
Ym9vbDQgb3BlcmF0b3Iud3d5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFt
ZWQgY291bnRfYml0cyAqLworCisvKiBGdW5jdGlvbnMgbmFtZWQgcnNxcnQgKi8KK2Zsb2F0IHJz
cXJ0KGZsb2F0IHgpIHsKKyAgICByZXR1cm4gMSAvIHNxcnQoeCk7CiB9Ci11aW50NCBvcGVyYXRv
ci53d3l4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CitmbG9hdDIgcnNxcnQoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd3eXgoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDMgcnNxcnQoZmxv
YXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJzcXJ0KHhb
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eChmbG9hdDQg
dikgeworZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXp3PSAqLwotYm9vbDQgb3BlcmF0b3IueXp3PShib29sNCB2LCBi
b29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAg
ICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKKyAgICByZXN1bHRbMF0gPSBy
c3FydCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSByc3FydCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSByc3FydCh4WzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXp3PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKK2Zsb2F0MngyIHJzcXJ0KGZsb2F0MngyIHgpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp3PShpbnQ0IHYsIGludDMgYykgewotICAg
IGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKK2Zsb2F0MngzIHJzcXJ0KGZsb2F0MngzIHgpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNx
cnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsy
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55enc9KGZsb2F0
NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OworZmxvYXQyeDQg
cnNxcnQoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
c3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp3ICovCi1ib29sMyBv
cGVyYXRvci55encoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKK2Zsb2F0M3gy
IHJzcXJ0KGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVp
bnQzIG9wZXJhdG9yLnl6dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OworZmxv
YXQzeDMgcnNxcnQoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBy
c3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
MyBvcGVyYXRvci55encoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7CitmbG9hdDN4
NCByc3FydChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IHJzcXJ0KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0
b3IueXp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4PSAqLwotYm9vbDMg
b3BlcmF0b3IueXp4PShib29sMyB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp4PShib29sNCB2
LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3IueXp4PSh1aW50MyB2LCB1aW50MyBjKSB7Ci0gICAgdWlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXp4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eng9KGludDMgdiwgaW50MyBj
KSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnl6eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7CitmbG9hdDR4MiByc3FydChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXp4PShmbG9hdDMg
diwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0NHgzIHJz
cXJ0KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
cnNxcnQoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55
eng9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56Owor
ZmxvYXQ0eDQgcnNxcnQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSByc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSByc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByc3Fy
dCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSByc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSByc3FydCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSByc3FydCh4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh3
eiAqLwotYm9vbDQgb3BlcmF0b3IueHh3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlv
bnMgbmFtZWQgc3FydCAqLworZmxvYXQgc3FydChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHBvdyh4
LCAwLjUpOwogfQotdWludDQgb3BlcmF0b3IueHh3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQyIHNxcnQoZmxvYXQyIHgpIHsK
KyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gc3FydCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54eHd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQzIHNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3IueHh3eihmbG9hdDQgdikgeworZmxvYXQ0IHNxcnQoZmxvYXQ0IHgpIHsKICAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworICAgIHJlc3VsdFswXSA9IHNx
cnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBz
cXJ0KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eXogKi8KLWJvb2w0IG9wZXJh
dG9yLnl6eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29s
NCBvcGVyYXRvci55enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lno7CitmbG9hdDJ4MyBzcXJ0KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
cXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6eXoodWludDMgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IHNxcnQoZmxvYXQy
eDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnl6eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKK2Zsb2F0M3gyIHNxcnQoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55enl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzeDMgc3FydChmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl6eXooaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4NCBzcXJ0KGZsb2F0
M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNx
cnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55enl6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgyIHNxcnQo
ZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBz
cXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci55enl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHNxcnQoZmxvYXQ0eDMgeCkgeworICAgIGZs
b2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4dyAqLwotYm9vbDQgb3BlcmF0b3Iu
eXp4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di53OworZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3Fy
dCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0
KHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6eHcodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKworLyogRnVuY3Rpb25zIG5hbWVkIGFj
b3MgKi8KK25hdGl2ZSBmbG9hdCBhY29zKGZsb2F0KTsKK2Zsb2F0MiBhY29zKGZsb2F0MiB4KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFjb3MoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3IueXp4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKK2Zsb2F0MyBhY29zKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gYWNvcyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBhY29zKGZsb2F0NCB4KSB7CiAgICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3eCAqLwotYm9vbDQgb3BlcmF0
b3Iuenl3eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi54OworICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWNv
cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhY29zKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFj
b3MoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp5d3godWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0MngyIGFjb3MoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhY29zKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5
d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci56eXd4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IGFjb3MoZmxvYXQyeDQgeCkgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFj
b3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IHNpbiAqLwotbmF0aXZlIGZsb2F0IHNpbihmbG9hdCk7Ci1mbG9hdDIgc2luKGZsb2F0MiB4KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gc2luKHhbMV0pOworZmxvYXQzeDIgYWNvcyhmbG9hdDN4MiB4KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgc2luKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IHNpbihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gc2luKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBzaW4oeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc2luKHhbM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDJ4MiBzaW4oZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2lu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHNp
bihmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
c2luKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBzaW4oZmxvYXQy
eDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gc2luKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBzaW4oZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgc2luKGZsb2F0M3gzIHgp
IHsKK2Zsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IHNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFj
b3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKK2Zsb2F0M3g0IGFjb3Mo
ZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBz
aW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gc2luKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2lu
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRb
MF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBh
Y29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgc2luKGZsb2F0NHgyIHgp
IHsKK2Zsb2F0NHgyIGFjb3MoZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsw
XSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3Mo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0eDMgc2luKGZsb2F0NHgzIHgpIHsKK2Zsb2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkg
ewogICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNp
bih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2lu
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29z
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKK2Zsb2F0NHg0
IGFjb3MoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFsw
XVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11b
MV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10g
PSBzaW4oeFszXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueXd6eSAqLwotYm9vbDQgb3BlcmF0b3IueXd6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+ICovCituYXRpdmUgYm9vbCBvcGVyYXRvcj4oaW50LCBp
bnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+KHVpbnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3Bl
cmF0b3I+KGZsb2F0LCBmbG9hdCk7CituYXRpdmUgYm9vbDIgb3BlcmF0b3I+KHVpbnQyLCB1aW50
Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+KHVpbnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQg
b3BlcmF0b3I+KHVpbnQ0LCB1aW50NCk7CituYXRpdmUgYm9vbDIgb3BlcmF0b3I+KGludDIsIGlu
dDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPihpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBv
cGVyYXRvcj4oaW50NCwgaW50NCk7CituYXRpdmUgYm9vbDIgb3BlcmF0b3I+KGZsb2F0MiwgZmxv
YXQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj4oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJv
b2w0IG9wZXJhdG9yPihmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcj4o
ZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPihmbG9hdDJ4Mywg
ZmxvYXQyeDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+KGZsb2F0Mng0LCBmbG9hdDJ4NCk7
CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj4oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBi
b29sM3gzIG9wZXJhdG9yPihmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2wzeDQgb3Bl
cmF0b3I+KGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgYm9vbDR4MiBvcGVyYXRvcj4oZmxv
YXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9yPihmbG9hdDR4MywgZmxv
YXQ0eDMpOworbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I+KGZsb2F0NHg0LCBmbG9hdDR4NCk7CisK
Ky8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciYgKi8KK2Jvb2wgb3BlcmF0b3ImKGJvb2wgYSwg
Ym9vbCBiKSB7CisgICAgcmV0dXJuIGEgJiYgYjsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl3enkodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK25h
dGl2ZSBpbnQgb3BlcmF0b3ImKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9yJih1aW50
LCB1aW50KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIHRhbmggKi8KK25hdGl2ZSBmbG9hdCB0YW5o
KGZsb2F0KTsKK2Zsb2F0MiB0YW5oKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXd6eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyB0YW5oKGZsb2F0
MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuaCh4WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3enkoZmxvYXQ0IHYpIHsK
K2Zsb2F0NCB0YW5oKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl5ICovCi1ib29sMyBvcGVyYXRvci56eXkoYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKKyAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IHRhbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuaCh4WzJdKTsKKyAgICByZXN1
bHRbM10gPSB0YW5oKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRv
ci56eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0MngyIHRhbmgo
ZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0
YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXkodWludDMgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0MngzIHRhbmgoZmxvYXQyeDMgeCkgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFu
aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iuenl5KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDJ4NCB0YW5oKGZsb2F0Mng0IHgpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0
YW5oKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eShp
bnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50MyBvcGVyYXRvci56eXkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eXkoZmxvYXQzIHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQzeDIgdGFuaChmbG9hdDN4MiB4KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenl5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0M3gzIHRhbmgoZmxvYXQzeDMgeCkgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h3eiAqLwotYm9vbDQg
b3BlcmF0b3Iud3h3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi56OworZmxvYXQzeDQgdGFuaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFu
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSB0YW5oKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci53eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MiB0YW5oKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd4d3ooaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MyB0
YW5oKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRh
bmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eHd6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0
NHg0IHRhbmgoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0
YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSB0YW5oKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3h3ICovCi1ib29sNCBvcGVyYXRvci56
d3h3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHcodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKy8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvciogKi8KK25hdGl2ZSBpbnQgb3BlcmF0b3IqKGludCwgaW50KTsK
K25hdGl2ZSB1aW50IG9wZXJhdG9yKih1aW50LCB1aW50KTsKK25hdGl2ZSBmbG9hdCBvcGVyYXRv
ciooZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQyKTsK
K25hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQpOworbmF0aXZlIHVpbnQyIG9wZXJh
dG9yKih1aW50LCB1aW50Mik7CituYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50Myk7
CituYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50KTsKK25hdGl2ZSB1aW50MyBvcGVy
YXRvcioodWludCwgdWludDMpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludDQp
OworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludCk7CituYXRpdmUgdWludDQgb3Bl
cmF0b3IqKHVpbnQsIHVpbnQ0KTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQyKTsK
K25hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQpOworbmF0aXZlIGludDIgb3BlcmF0b3Iq
KGludCwgaW50Mik7CituYXRpdmUgaW50MyBvcGVyYXRvciooaW50MywgaW50Myk7CituYXRpdmUg
aW50MyBvcGVyYXRvciooaW50MywgaW50KTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQsIGlu
dDMpOworbmF0aXZlIGludDQgb3BlcmF0b3IqKGludDQsIGludDQpOworbmF0aXZlIGludDQgb3Bl
cmF0b3IqKGludDQsIGludCk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50LCBpbnQ0KTsKK25h
dGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3Bl
cmF0b3IqKGZsb2F0MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQsIGZs
b2F0Mik7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUg
ZmxvYXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3Iq
KGZsb2F0LCBmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdDQp
OworbmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0
IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxv
YXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngyKTsKK25hdGl2
ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4
MyBvcGVyYXRvciooZmxvYXQyeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcioo
ZmxvYXQsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZs
b2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0KTsKK25h
dGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4
MiBvcGVyYXRvciooZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRv
ciooZmxvYXQzeDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQsIGZs
b2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0M3gzKTsK
K25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9h
dDN4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRv
ciooZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQz
eDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3g0KTsK
K25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBm
bG9hdDR4MiBvcGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVy
YXRvciooZmxvYXQsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0
eDMsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0
KTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgzKTsKK25hdGl2ZSBm
bG9hdDR4NCBvcGVyYXRvciooZmxvYXQ0eDQsIGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBv
cGVyYXRvciooZmxvYXQ0eDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxv
YXQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNvcyAqLworbmF0aXZlIGZsb2F0
IGNvcyhmbG9hdCk7CitmbG9hdDIgY29zKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp3eHcoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDMgY29zKGZsb2F0
MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3eHcoZmxvYXQ0IHYpIHsKK2Zs
b2F0NCBjb3MoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi53OworICAgIHJlc3VsdFswXSA9IGNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBj
b3MoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY29zKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGNv
cyh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iuend5eSAqLwotYm9vbDQgb3BlcmF0b3Iuend5eShib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgY29zKGZsb2F0Mngy
IHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBjb3MoZmxvYXQy
eDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3l5KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQg
Y29zKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnp3eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eT0gKi8KLWJvb2w0IG9w
ZXJhdG9yLnd4eT0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBj
Lno7CitmbG9hdDN4MyBjb3MoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGNvcyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iu
d3h5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zs
b2F0M3g0IGNvcyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNv
cyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29z
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd4eT0oaW50NCB2LCBpbnQzIGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7CitmbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNv
cyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29z
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h5PShm
bG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0
NHgzIGNvcyhmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhb
Ml1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXl5ICov
Ci1ib29sNCBvcGVyYXRvci54eXl5KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJh
dG9yLnh5eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0NHg0IGNvcyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBj
b3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNv
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29z
KHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwor
ICAgIHJlc3VsdFszXVszXSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ym9vbDQgb3BlcmF0b3IueHl5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvcj09ICovCituYXRpdmUgYm9vbCBvcGVyYXRvcj09KGJvb2wsIGJvb2wpOwor
bmF0aXZlIGJvb2wgb3BlcmF0b3I9PShpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcj09
KHVpbnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShmbG9hdCwgZmxvYXQpOworbmF0
aXZlIGJvb2wyIG9wZXJhdG9yPT0oYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRv
cj09KGJvb2wzLCBib29sMyk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PShib29sNCwgYm9vbDQp
OworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPT0odWludDIsIHVpbnQyKTsKK25hdGl2ZSBib29sMyBv
cGVyYXRvcj09KHVpbnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PSh1aW50NCwg
dWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPT0oaW50MiwgaW50Mik7CituYXRpdmUgYm9v
bDMgb3BlcmF0b3I9PShpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj09KGludDQs
IGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPT0oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZl
IGJvb2wzIG9wZXJhdG9yPT0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9y
PT0oZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I9PShmbG9hdDJ4Miwg
ZmxvYXQyeDIpOworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I9PShmbG9hdDJ4MywgZmxvYXQyeDMp
OworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9PShmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZl
IGJvb2wzeDIgb3BlcmF0b3I9PShmbG9hdDN4MiwgZmxvYXQzeDIpOworbmF0aXZlIGJvb2wzeDMg
b3BlcmF0b3I9PShmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9
PShmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGJvb2w0eDIgb3BlcmF0b3I9PShmbG9hdDR4
MiwgZmxvYXQ0eDIpOworbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I9PShmbG9hdDR4MywgZmxvYXQ0
eDMpOworbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I9PShmbG9hdDR4NCwgZmxvYXQ0eDQpOworbmF0
aXZlIGJvb2wyeDIgb3BlcmF0b3I9PShib29sMngyLCBib29sMngyKTsKK25hdGl2ZSBib29sMngz
IG9wZXJhdG9yPT0oYm9vbDJ4MywgYm9vbDJ4Myk7CituYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcj09
KGJvb2wyeDQsIGJvb2wyeDQpOworbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I9PShib29sM3gyLCBi
b29sM3gyKTsKK25hdGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oYm9vbDN4MywgYm9vbDN4Myk7Citu
YXRpdmUgYm9vbDN4NCBvcGVyYXRvcj09KGJvb2wzeDQsIGJvb2wzeDQpOworbmF0aXZlIGJvb2w0
eDIgb3BlcmF0b3I9PShib29sNHgyLCBib29sNHgyKTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9y
PT0oYm9vbDR4MywgYm9vbDR4Myk7CituYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj09KGJvb2w0eDQs
IGJvb2w0eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+PiAqLworbmF0aXZlIGlu
dCBvcGVyYXRvcj4+KGludCwgdWludCk7CituYXRpdmUgdWludCBvcGVyYXRvcj4+KHVpbnQsIHVp
bnQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgcmVmbGVjdCAqLworZmxvYXQgcmVmbGVjdChmbG9h
dCBpLCBmbG9hdCBuKSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnh5eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyIHJlZmxlY3QoZmxv
YXQyIGksIGZsb2F0MiBuKSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnh5eXkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQzIHJlZmxlY3Qo
ZmxvYXQzIGksIGZsb2F0MyBuKSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnh5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQ0IHJlZmxl
Y3QoZmxvYXQ0IGksIGZsb2F0NCBuKSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBu
KTsKIH0KLWludDQgb3BlcmF0b3IueHl5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGxpdCAqLworZmxv
YXQ0IGxpdChmbG9hdCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7CisgICAgZmxv
YXQgYW1iaWVudCA9IDE7CisgICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKKyAg
ICBmbG9hdCBzcGVjdWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90
X2ggKiBtOworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSBhbWJpZW50OworICAg
IHJlc3VsdC55ID0gZGlmZnVzZTsKKyAgICByZXN1bHQueiA9IHNwZWN1bGFyOworICAgIHJlc3Vs
dC53ID0gMTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54eXl5KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cyICovCitmbG9hdCBsb2cyKGZs
b2F0IHgpIHsKKyAgICByZXR1cm4gbG9nKHgpIC8gbG9nKGZsb2F0KDIpKTsKIH0KLWludDQgb3Bl
cmF0b3IueHl5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0MiBsb2cyKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBsb2cyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl5KGZsb2F0MiB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBsb2cy
KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2cyKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gbG9nMih4
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5eXkoZmxvYXQz
IHYpIHsKK2Zsb2F0NCBsb2cyKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBsb2cyKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGxvZzIoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gbG9nMih4WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSBsb2cyKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3IueHl5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7CitmbG9hdDJ4MiBsb2cyKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6eCAqLwotYm9vbDQgb3BlcmF0b3IueXh6
eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQyeDMgbG9nMihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sNCBvcGVyYXRvci55eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cy
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eHp4KHVp
bnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDN4MiBsb2cyKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnl4engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gzIGxvZzIoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci55eHp4KGludDMgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDQgbG9nMihmbG9hdDN4NCB4KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cy
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
bG9nMih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MiBsb2cyKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBs
b2cyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh6
eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7CitmbG9hdDR4MyBsb2cyKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGxvZzIoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci55eHp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKK2Zsb2F0NHg0IGxvZzIoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cy
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
bG9nMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBsb2cyKHhbM11bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eSAqLwotYm9v
bDIgb3BlcmF0b3IueXkoYm9vbDIgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVu
Y3Rpb25zIG5hbWVkIG5vcm1hbGl6ZSAqLworZmxvYXQgbm9ybWFsaXplKGZsb2F0IHgpIHsKKyAg
ICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLWJvb2wyIG9wZXJhdG9yLnl5KGJvb2wzIHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MiBub3JtYWxpemUoZmxvYXQyIHgpIHsKKyAg
ICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLWJvb2wyIG9wZXJhdG9yLnl5KGJvb2w0IHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MyBub3JtYWxpemUoZmxvYXQzIHgpIHsKKyAg
ICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLXVpbnQyIG9wZXJhdG9yLnl5KHVpbnQyIHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0NCBub3JtYWxpemUoZmxvYXQ0IHgpIHsKKyAg
ICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLXVpbnQyIG9wZXJhdG9yLnl5KHVpbnQzIHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7CisKKworLyogRnVuY3Rpb25zIG5hbWVkIGxkZXhwICovCitmbG9hdCBsZGV4cChmbG9hdCB4
LCBmbG9hdCBlKSB7CisgICAgcmV0dXJuIHggKiBwb3coMiwgZSk7Cit9CitmbG9hdDIgbGRleHAo
ZmxvYXQyIHgsIGZsb2F0MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBsZGV4cCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IueXkodWludDQgdikgewotICAg
IHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
K2Zsb2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGxkZXhw
KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhbMl0sIHlbMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnl5KGludDIgdikgewotICAgIGludDIgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OworZmxvYXQ0IGxk
ZXhwKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0g
bGRleHAoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3Iu
eXkoaW50MyB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7CitmbG9hdDJ4MiBsZGV4cChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7
CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQyIG9wZXJhdG9yLnl5KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OworZmxvYXQyeDMgbGRleHAoZmxvYXQyeDMgeCwg
ZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
ZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBd
LCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZGV4
cCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJh
dG9yLnl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKK2Zsb2F0Mng0IGxkZXhwKGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci55eShmbG9hdDMgdikgewotICAgIGZsb2F0
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7CitmbG9h
dDN4MiBsZGV4cChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxk
ZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OworZmxvYXQzeDMg
bGRleHAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFd
WzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3p4ICovCi1ib29sMyBvcGVyYXRvci53engoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKK2Zsb2F0M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9h
dDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRl
eHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAo
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXVpbnQzIG9wZXJhdG9yLnd6eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OworZmxvYXQ0eDIgbGRleHAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4
cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
MyBvcGVyYXRvci53engoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDR4
MyBsZGV4cChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhw
KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhb
MV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMg
b3BlcmF0b3Iud3p4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0
NHg0IGxkZXhwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRl
eHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwg
eVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAo
eFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFsw
XVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVz
dWx0WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5enggKi8KLWJvb2w0IG9wZXJhdG9y
Lnl5engoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhYnMgKi8KK3VpbnQgYWJzKHVpbnQgeCkgeworICAg
IHJldHVybiB4OworfQoraW50IGFicyhpbnQgeCkgeworICAgIGlmICh4IDwgMCkKKyAgICAgICAg
cmV0dXJuIC14OworICAgIHJldHVybiB4OworfQorZmxvYXQgYWJzKGZsb2F0IHgpIHsKKyAgICBp
ZiAoeCA8IDApCisgICAgICAgIHJldHVybiAteDsKKyAgICByZXR1cm4geDsKK30KK3VpbnQyIGFi
cyh1aW50MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2w0IG9wZXJhdG9yLnl5engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKK3VpbnQzIGFicyh1aW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci55eXp4KHVpbnQzIHYpIHsKK3VpbnQ0IGFicyh1aW50NCB4KSB7CiAgICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworICAgIHJlc3VsdFswXSA9IGFi
cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJz
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueXl6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OworaW50MiBhYnMoaW50MiB4KSB7CisgICAgaW50MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eXp4KGludDMgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworaW50MyBhYnMoaW50
MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl6eChpbnQ0IHYpIHsKK2ludDQgYWJz
KGludDQgeCkgewogICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owor
ICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5engoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyIGFicyhm
bG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzIGFicyhmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBh
YnMoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXp4KGZs
b2F0NCB2KSB7CitmbG9hdDQgYWJzKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSBhYnMoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIHNpbmNvcyAqLwotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5
LCB0aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNp
bih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKK2Zsb2F0Mngy
IGFicyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVh
ZCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIGFicyhmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
YnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgdGhy
ZWFkIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCBhYnMoZmxvYXQyeDQg
eCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
YWJzKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQg
eCwgdGhyZWFkIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gyIGFicyhmbG9hdDN4MiB4KSB7
CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJz
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQgZmxv
YXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
K2Zsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
YWJzKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4
MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDJ4
NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworZmxv
YXQzeDQgYWJzKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJz
KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhYnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGFicyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9h
dDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIGFicyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9h
dDN4MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgzIGFicyhmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gYWJzKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhm
bG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4NCogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCBhYnMoZmxv
YXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gYWJzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhb
Ml1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBhYnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBhYnMoeFsz
XVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisKKy8qIEZ1bmN0
aW9ucyBuYW1lZCByb3VuZCAqLworbmF0aXZlIGZsb2F0IHJvdW5kKGZsb2F0KTsKK2Zsb2F0MiBy
b3VuZChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcm91
bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSwgdGhyZWFk
IGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3Vs
dDsKK2Zsb2F0MyByb3VuZChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CisgICAg
ZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSByb3VuZCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKKyAgICByZXN1
bHRbM10gPSByb3VuZCh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3Mo
ZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAqeiA9IGNvcyh4KTsKK2Zsb2F0MngyIHJvdW5kKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxv
YXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Citm
bG9hdDJ4MyByb3VuZChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgZGV2aWNlIGZsb2F0
MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCByb3VuZChmbG9hdDJ4NCB4KSB7Cisg
ICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJv
dW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gyIHJvdW5kKGZs
b2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91
bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OworZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgeworICAg
IGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3Vu
ZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZs
b2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgeworICAgIGZs
b2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3Vu
ZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5
LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIHJvdW5kKGZsb2F0NHgyIHgp
IHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91
bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgz
IHJvdW5kKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gcm91bmQoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7Ci0gICAg
ZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHg0IHJvdW5kKGZs
b2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91
bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gcm91bmQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcm91bmQo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcm91bmQoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzNdID0gcm91bmQoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSwgZGV2aWNl
IGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3Vs
dDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG11bCAqLwordWludCBtdWwodWludCB4LCB1aW50IHkp
IHsKKyAgICByZXR1cm4geCAqIHk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQg
ZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworaW50IG11bChpbnQgeCwg
aW50IHkpIHsKKyAgICByZXR1cm4geCAqIHk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0
aHJlYWQgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdCBtdWwoZmxvYXQgeCwgZmxvYXQgeSkg
eworICAgIHJldHVybiB4ICogeTsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBm
bG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0
OwordWludDIgbXVsKHVpbnQgeCwgdWludDIgeSkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJl
YWRncm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0gc2lu
KHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOwordWludDIgbXVs
KHVpbnQyIHgsIHVpbnQgeSkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4
WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXR1cm4gcmVzdWx0Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZs
b2F0MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0Owor
dWludDMgbXVsKHVpbnQgeCwgdWludDMgeSkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gPSB4ICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQz
IHgsIHRocmVhZCBmbG9hdDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7Cit1aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7CisgICAgdWludDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAg
IHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwordWludDQgbXVsKHVp
bnQgeCwgdWludDQgeSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICog
eVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1bHRbMl0gPSB4ICogeVsy
XTsKKyAgICByZXN1bHRbM10gPSB4ICogeVszXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9p
ZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBmbG9h
dDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK3VpbnQ0IG11bCh1aW50NCB4LCB1
aW50IHkpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7Cisg
ICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CisgICAg
cmVzdWx0WzNdID0geFszXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworaW50MiBtdWwo
aW50IHgsIGludDIgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5
WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZs
b2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CitpbnQyIG11bChpbnQyIHgsIGludCB5KSB7CisgICAgaW50MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAq
IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVh
ZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworaW50MyBtdWwoaW50IHgsIGludDMgeSkgewor
ICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsx
XSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKK2ludDMgbXVsKGludDMgeCwgaW50IHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICBy
ZXN1bHRbMl0gPSB4WzJdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3Mo
ZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitpbnQ0IG11bChp
bnQgeCwgaW50NCB5KSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlb
MF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07
CisgICAgcmVzdWx0WzNdID0geCAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0
eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4
MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZs
b2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jl
c3VsdDsKK2ludDQgbXVsKGludDQgeCwgaW50IHkpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1
bHRbMl0gPSB4WzJdICogeTsKKyAgICByZXN1bHRbM10gPSB4WzNdICogeTsKKyAgICByZXR1cm4g
cmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWQg
ZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKK2Zsb2F0MiBtdWwoZmxvYXQg
eCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5
WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFkIGZsb2F0Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworZmxvYXQyIG11
bChmbG9hdDIgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCB0aHJlYWQgZmxv
YXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MyBtdWwoZmxvYXQgeCwgZmxvYXQzIHkp
IHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJl
c3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhy
ZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jl
c3VsdDsKK2Zsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5Owor
ICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NCBtdWwoZmxvYXQgeCwgZmxvYXQ0IHkp
IHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJl
c3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJlc3Vs
dFszXSA9IHggKiB5WzNdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4MyogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDQgbXVsKGZsb2F0NCB4
LCBmbG9hdCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICog
eTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1bHRbMl0gPSB4WzJdICogeTsK
KyAgICByZXN1bHRbM10gPSB4WzNdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBz
aW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0MngyIG11bChmbG9hdCB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQy
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsx
XVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4Miog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4
MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICog
eTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4
WzFdWzFdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMg
eCwgZGV2aWNlIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQyeDMgbXVsKGZsb2F0IHgsIGZs
b2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJd
WzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1b
MV07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmlj
ZSBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0
OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIG11bChmbG9hdDJ4MyB4LCBmbG9hdCB5
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5
OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhb
Ml1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAg
IHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0
eDIqIHksIHRocmVhZCBmbG9hdDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBm
bG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworZmxvYXQyeDQgbXVsKGZsb2F0IHgs
IGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
eCAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzJdWzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07Cisg
ICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFd
ID0geCAqIHlbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0
NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0Mng0IG11bChmbG9hdDJ4
NCB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3Vs
dFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5Owor
ICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFszXVsx
XSA9IHhbM11bMV0gKiB5OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZCBmbG9hdDR4NCogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gyIG11bChmbG9hdCB4LCBmbG9hdDN4MiB5KSB7Cisg
ICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAg
IHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBd
WzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSA9
IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIGRldmlj
ZSBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOworZmxvYXQzeDIgbXVsKGZs
b2F0M3gyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAq
IHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0g
eFsxXVsyXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4
LCBkZXZpY2UgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDN4MyBtdWwoZmxvYXQgeCwgZmxvYXQz
eDMgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICogeVsw
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMF0g
PSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4ICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsKKyAgICByZXR1cm4gcmVz
dWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHksIGRldmljZSBm
bG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZs
b2F0IHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBd
ID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVz
dWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7
CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsx
XVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAqIHk7CisgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5LCBkZXZpY2Ug
ZmxvYXQ0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0
OworZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0g
eCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJd
ID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzJdWzJdID0geCAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIGRldmljZSBm
bG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworZmxvYXQzeDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0g
eFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0
WzNdWzBdID0geFszXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsx
XSAqIHk7CisgICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJd
ID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVz
dWx0WzJdWzJdID0geFsyXVsyXSAqIHk7CisgICAgcmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBm
bG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIG11bChmbG9hdCB4LCBmbG9hdDR4MiB5KSB7
CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsy
XSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJl
c3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNd
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2Ug
ZmxvYXQyeDQqIHksIGRldmljZSBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0eDIgbXVsKGZs
b2F0NHgyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAq
IHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0g
eFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0
WzFdWzNdID0geFsxXVszXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgzIG11bChm
bG9hdCB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAg
IHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBd
WzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9
IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIGRldmlj
ZSBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CitmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0NHgzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKKyAgICByZXN1bHRbMV1bMF0g
PSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1
bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsK
KyAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBd
WzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1b
Ml0gPSB4WzJdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICog
eTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNl
IGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0eDQgbXVsKGZsb2F0IHgsIGZsb2F0NHg0IHkp
IHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzBd
WzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11b
MV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0g
eCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzNdWzJdID0geCAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNdID0geCAqIHlb
Ml1bM107CisgICAgcmVzdWx0WzNdWzNdID0geCAqIHlbM11bM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgZGV2aWNl
IGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQgeSkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsK
KyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJd
WzBdICogeTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICog
eTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4
WzFdWzJdICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKKyAgICByZXN1bHRb
M11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKKyAg
ICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNd
ICogeTsKKyAgICByZXN1bHRbM11bM10gPSB4WzNdWzNdICogeTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCBkZXZpY2Ug
ZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0
OwordWludCBtdWwodWludDIgeCwgdWludDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9h
dDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK3VpbnQgbXVsKHVpbnQzIHgsIHVp
bnQzIHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwg
ZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6
ID0gY29zKHgpOwordWludCBtdWwodWludDQgeCwgdWludDQgeSkgeworICAgIHJldHVybiBkb3Qo
eCwgeSk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CitpbnQgbXVsKGludDIgeCwgaW50MiB5KSB7CisgICAgcmV0dXJuIGRvdCh4LCB5KTsK
IH0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBm
bG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworaW50IG11bChpbnQzIHgsIGludDMgeSkgewor
ICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZs
b2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdID0gY29zUmVzdWx0OworaW50IG11bChpbnQ0IHgsIGludDQgeSkgeworICAgIHJl
dHVybiBkb3QoeCwgeSk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQy
eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworZmxvYXQgbXVsKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZGdy
b3VwIGZsb2F0MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKK2Zsb2F0IG11bChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICByZXR1cm4gZG90KHgs
IHkpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJl
YWRncm91cCBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworZmxvYXQgbXVsKGZsb2F0NCB4LCBmbG9hdDQg
eSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBk
ZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBtdWwoZmxvYXQyIHgsIGZs
b2F0MngyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAg
cmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OworZmxvYXQyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07
CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFsxXSA9IDA7Cisg
ICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFd
ICogeVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwg
ZGV2aWNlIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDMgbXVsKGZsb2F0MiB4LCBm
bG9hdDN4MiB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAg
IHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXSA9IDA7
CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFd
ICogeVsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owor
ZmxvYXQyIG11bChmbG9hdDN4MiB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAg
cmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICog
eVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVsw
XTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhb
Ml1bMV0gKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4
MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Ci0gICAg
ZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NCBtdWwoZmxvYXQy
IHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7
CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJd
ID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9
IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0WzNdICs9IHhb
MF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICogeVszXVsxXTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5
LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBm
bG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK2Zs
b2F0MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJl
c3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlb
Ml07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOworICAgIHJlc3VsdFsxXSA9IDA7
CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0
WzFdICs9IHhbM11bMV0gKiB5WzNdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKnogPSBjb3MoeCk7CitmbG9hdDIgbXVsKGZsb2F0MyB4LCBmbG9hdDJ4MyB5KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSAr
PSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVz
dWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZCBm
bG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
K2Zsb2F0MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJl
c3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlb
MV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07
CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOworICAgIHJldHVybiByZXN1bHQ7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCB0aHJlYWQgZmxv
YXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0M3gz
IHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0
WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAg
ICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0g
PSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOworICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0
KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
ID0gY29zUmVzdWx0OworZmxvYXQzIG11bChmbG9hdDN4MyB4LCBmbG9hdDMgeSkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVsw
XSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAg
cmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVz
dWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsx
XTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJl
YWQgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDQgbXVsKGZs
b2F0MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXSArPSB4WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdICog
eVsyXVsyXTsKKyAgICByZXN1bHRbM10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdICogeVsz
XVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdICs9
IHhbMl0gKiB5WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MyBtdWwoZmxv
YXQ0eDMgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4
WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CisgICAgcmVz
dWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0
WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsK
KyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbM11b
MV0gKiB5WzNdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0g
KiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0g
Kz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOworICAg
IHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBm
bG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDIgbXVsKGZsb2F0
NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAw
OworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXSArPSB4WzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsx
XSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICog
eVsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDQgbXVsKGZsb2F0Mng0IHgs
IGZsb2F0MiB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAg
IHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAq
IHlbMV07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlb
MF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IDA7
CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFd
WzJdICogeVsxXTsKKyAgICByZXN1bHRbM10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNd
ICogeVswXTsKKyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CisgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5
LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OworZmxvYXQzIG11bChmbG9hdDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdID0gMDsK
KyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
Ml0gKz0geFszXSAqIHlbMl1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWQgZmxvYXQzeDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0IG11
bChmbG9hdDN4NCB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBd
ICs9IHhbMV1bMF0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAg
ICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5
WzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBd
OworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsy
XVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXVsz
XSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV1bM10gKiB5WzFdOworICAgIHJlc3VsdFsz
XSArPSB4WzJdWzNdICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107CisgICAgcmVz
dWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdID0gMDsKKyAg
ICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl0g
Kz0geFszXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0g
eFswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJl
c3VsdFszXSArPSB4WzJdICogeVszXVsyXTsKKyAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11b
M107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworZmxvYXQ0IG11bChmbG9hdDR4NCB4LCBmbG9h
dDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1
bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFd
OworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFsz
XVswXSAqIHlbM107CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsx
XSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsx
XSArPSB4WzJdWzFdICogeVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107Cisg
ICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAg
cmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICog
eVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFszXVsyXSAqIHlbM107CisgICAgcmVzdWx0WzNdID0g
MDsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhb
MV1bM10gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsKKyAgICByZXN1
bHRbM10gKz0geFszXVszXSAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAw
OworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5
LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNp
bih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKK2Zsb2F0Mngz
IG11bChmbG9hdDJ4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAg
ICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCBk
ZXZpY2UgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CitmbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0
Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAw
OworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11b
MF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1b
MV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07Cisg
ICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCBkZXZpY2Ug
ZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngyIG11bChmbG9hdDN4MiB4LCBm
bG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAw
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIGRldmljZSBm
bG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7
CitmbG9hdDJ4MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVsw
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAw
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0g
MDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICog
eVsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKK2Zsb2F0Mng0IG11bChmbG9hdDN4MiB4LCBmbG9hdDR4MyB5KSB7Cisg
ICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsx
XSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5j
b3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4Myog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4
MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICog
eVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBd
WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXR1cm4g
cmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQq
IHksIGRldmljZSBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9h
dCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworZmxvYXQyeDMgbXVsKGZsb2F0NHgyIHgs
IGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
MDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVz
dWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1b
M107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsz
XVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFd
ID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAqIHlbMl1bM107CisgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZs
b2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQyeDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0NHg0IHkp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0g
MDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVz
dWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1b
M107CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJl
c3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsz
XVswXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFd
ID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsx
XSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlb
M11bM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRo
cmVhZGdyb3VwIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDIgbXVsKGZsb2F0MngzIHgs
IGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
MDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0g
PSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQz
eDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotfQot
dm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIGRldmljZSBm
bG9hdDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJl
YWRncm91cCBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2lu
UmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsz
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0g
Y29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHks
IHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkg
PSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
LX0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZGdy
b3VwIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDQg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhm
bG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKLSAg
ICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3Mo
ZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0M3g0
IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewot
ICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNv
cyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0
eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZs
b2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJl
YWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKLSAgICBmbG9h
dCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
M10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11b
M10gPSBjb3NSZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkQ29t
cGFyZUV4Y2hhbmdlICovCi1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGlu
dCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2Uo
ZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBp
bnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl
KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50Kiwg
aW50LCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21w
YXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWQg
dWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3Jv
dXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHVp
bnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5n
ZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2
ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJl
YWRncm91cCBpbnQqKTsKLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6ICovCi1i
b29sMyBvcGVyYXRvci54d3ooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zs
b2F0M3gzIG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0g
MDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0g
PSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICBy
ZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54
d3oodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3g0IG11bChmbG9h
dDJ4MyB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhb
MF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsK
KyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsx
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzJdID0g
MDsKKyAgICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNd
WzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9w
ZXJhdG9yLnh3eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gyIG11
bChmbG9hdDN4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHd6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gzIG11bChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5
KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAg
IHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53
enh6ICovCi1ib29sNCBvcGVyYXRvci53enh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4NCBtdWwoZmxvYXQzeDMgeCwgZmxv
YXQ0eDMgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBd
ICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsx
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSAw
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1b
MV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAg
ICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzJdID0g
MDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBd
WzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9
IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0gKz0geFsw
XVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3Iud3p4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzeDIgbXVsKGZsb2F0NHgzIHgsIGZsb2F0
Mng0IHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFd
WzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJd
WzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAq
IHlbMF1bM107CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsw
XVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0g
Kz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFszXVsyXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFszXVsyXSAqIHlbMV1bM107CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd6eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56eHd5ICovCi1ib29sNCBvcGVyYXRvci56eHd5KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4d3kodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eHd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3g0IHkpIHsK
KyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gMDsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0
WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4
WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107
CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsx
XSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1
bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1b
MV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzJdID0g
MDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFszXVsyXSAqIHlbMF1bM107CisgICAgcmVz
dWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFszXVsyXSAqIHlbMV1b
M107CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsz
XVsyXSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56
eHd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0M3g0IG11bChmbG9hdDR4MyB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
Ml1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3Vs
dFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAg
IHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0g
eFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNdWzNd
OworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11b
MV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVz
dWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFd
WzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsxXSA9
IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAq
IHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNdWzNdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
M11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAg
cmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4
WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enh3ICovCi1ib29sNCBvcGVy
YXRvci53enh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitmbG9hdDR4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQyeDIgeSkgeworICAgIGZs
b2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0g
PSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhb
MV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53enh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MyBtdWwoZmxvYXQyeDQgeCwgZmxv
YXQzeDIgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
MF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsK
KyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0g
MDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFd
WzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enh3
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQ0eDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
PSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICBy
ZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhb
MV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsx
XSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVsw
XTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBd
WzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFsw
XVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p4dyhmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MiBt
dWwoZmxvYXQzeDQgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eiAq
LwotYm9vbDMgb3BlcmF0b3Iuenl6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
CitmbG9hdDR4MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0NHgzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVsw
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAw
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0g
MDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICog
eVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9
IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsw
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bM10g
PSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10g
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzNd
ID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNd
ICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3Iuenl6KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4NCBtdWwoZmxvYXQzeDQg
eCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBd
ID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4
WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1b
MV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9
IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBd
WzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzJd
WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsy
XVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0g
Kz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMV1bMl0gKiB5WzNd
WzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsKKyAgICByZXN1bHRb
MF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
Ml1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNd
ICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4
WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAwOworICAgIHJlc3VsdFszXVsz
XSArPSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsxXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXoodWludDMgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKK2Zsb2F0NHgyIG11bChmbG9hdDR4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsx
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAg
IHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5
WzFdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsx
XVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsy
XVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXoodWludDQgdikgewotICAg
IHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0NHgzIG11bChmbG9hdDR4NCB4LCBmbG9hdDN4NCB5
KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9
IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
M11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsy
XSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsy
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAg
IHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9
IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsy
XVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsy
XVszXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eihpbnQzIHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKK2Zsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7
CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3Vs
dFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNd
OworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5
WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1
bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9
IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0g
Kz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNd
WzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhb
M11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4
WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsy
XSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsy
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOworICAg
IHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbM11bM10gKiB5
WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1b
M10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVszXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsyXVszXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCByYWRpYW5z
ICovCitmbG9hdCByYWRpYW5zKGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAqIDMuMTQxNTkgLyAx
ODA7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYuejsKK2Zsb2F0MiByYWRpYW5zKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJhZGlhbnMo
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56eXooZmxvYXQ0
IHYpIHsKK2Zsb2F0MyByYWRpYW5zKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKKyAgICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJhZGlh
bnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcmFkaWFucyh4WzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl5eiAqLwotYm9vbDQgb3Bl
cmF0b3IueXl5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OworZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmFkaWFu
cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByYWRpYW5zKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHJhZGlhbnMoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5
eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKK2Zsb2F0MngyIHJhZGlhbnMoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50NCBvcGVyYXRvci55eXl6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDJ4MyByYWRpYW5zKGZsb2F0MngzIHgpIHsK
KyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHJhZGlhbnMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnl5eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0Mng0IHJhZGlhbnMoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueXl5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eXl6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl5eihmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55eXl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3gzIHJhZGlhbnMoZmxvYXQzeDMgeCkg
eworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gcmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gcmFkaWFucyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueHp5dyAqLwotYm9vbDQgb3BlcmF0b3IueHp5dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQz
eDQgcmFkaWFucyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmFkaWFucyh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54enl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MiByYWRpYW5zKGZsb2F0
NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFu
cyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmFkaWFu
cyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6eXcoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MyByYWRpYW5zKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFu
cyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFu
cyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmFkaWFu
cyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci54enl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IHJhZGlhbnMoZmxvYXQ0eDQgeCkgeworICAg
IGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
cmFkaWFucyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
cmFkaWFucyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSByYWRpYW5zKHhbM11bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBzbW9vdGhzdGVwICov
Ci1mbG9hdCBzbW9vdGhzdGVwKGZsb2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwgZmxvYXQgeCkgewot
ICAgIGZsb2F0IHQgPSBjbGFtcCgoeCAtIGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2UwKSwgMCwgMSk7
Ci0gICAgcmV0dXJuIHQgKiB0ICogKDMgLSAyICogdCk7Ci19Ci1mbG9hdDIgc21vb3Roc3RlcChm
bG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisvKiBGdW5jdGlvbnMgbmFtZWQgY2VpbCAq
LworbmF0aXZlIGZsb2F0IGNlaWwoZmxvYXQpOworZmxvYXQyIGNlaWwoZmxvYXQyIHgpIHsKICAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNtb290aHN0ZXAoeFswXSwgeVswXSwg
elswXSk7Ci0gICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAg
ICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBzbW9vdGhzdGVwKGZsb2F0MyB4LCBmbG9hdDMg
eSwgZmxvYXQzIHopIHsKK2Zsb2F0MyBjZWlsKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOwotICAgIHJl
c3VsdFsxXSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
c21vb3Roc3RlcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY2VpbCh4WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgsIGZs
b2F0NCB5LCBmbG9hdDQgeikgeworZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNtb290aHN0ZXAoeFswXSwgeVswXSwgelswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5WzFdLCB6WzFdKTsKLSAgICByZXN1bHRb
Ml0gPSBzbW9vdGhzdGVwKHhbMl0sIHlbMl0sIHpbMl0pOwotICAgIHJlc3VsdFszXSA9IHNtb290
aHN0ZXAoeFszXSwgeVszXSwgelszXSk7CisgICAgcmVzdWx0WzBdID0gY2VpbCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNlaWwoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gY2VpbCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQy
eDIgc21vb3Roc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CitmbG9h
dDJ4MiBjZWlsKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBz
bW9vdGhzdGVwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKK2Zsb2F0Mngz
IGNlaWwoZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQyeDQgc21vb3Roc3RlcChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6
KSB7CitmbG9hdDJ4NCBjZWlsKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1b
M10sIHpbMV1bM10pOworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4
WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgc21vb3Roc3RlcChmbG9h
dDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CitmbG9hdDN4MiBjZWlsKGZsb2F0M3gy
IHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3Rl
cCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhz
dGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290
aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21v
b3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
bW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzBd
ID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gzIHNt
b290aHN0ZXAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgeworZmxvYXQzeDMg
Y2VpbChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDN4NCBzbW9vdGhzdGVwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsK
K2Zsb2F0M3g0IGNlaWwoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwg
elsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsy
XVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc21vb3Roc3RlcCh4WzJdWzNdLCB5
WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNl
aWwoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4
MiB6KSB7CitmbG9hdDR4MiBjZWlsKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0s
IHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsx
XSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNd
WzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2Vp
bCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgc21vb3Roc3RlcChm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CitmbG9hdDR4MyBjZWlsKGZsb2F0
NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNt
b290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
c21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWls
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Y2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGNlaWwoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IHNtb290
aHN0ZXAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgeworZmxvYXQ0eDQgY2Vp
bChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1b
M10pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0s
IHpbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHNtb290aHN0ZXAoeFszXVszXSwgeVszXVsz
XSwgelszXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2Vp
bCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IGNlaWwoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gY2VpbCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3l5eiAqLwotYm9vbDQgb3BlcmF0b3Iud3l5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworLyogRnVuY3Rpb25zIG5hbWVkIGFzaW4gKi8K
K25hdGl2ZSBmbG9hdCBhc2luKGZsb2F0KTsKK2Zsb2F0MiBhc2luKGZsb2F0MiB4KSB7CisgICAg
ZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2luKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFzaW4oeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd5
eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKK2Zsb2F0MyBhc2luKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBhc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW4oeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gYXNpbih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci53eXl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQ0IGFzaW4oZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFzaW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbih4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBhc2luKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzaW4oeFszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXl6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngyIGFzaW4o
ZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBh
c2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci53dyAqLwotYm9vbDIgb3BlcmF0b3Iud3coYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKK2Zsb2F0MngzIGFzaW4o
ZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBh
c2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gYXNpbih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3BlcmF0b3Iu
d3codWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKK2Zsb2F0Mng0IGFzaW4oZmxvYXQyeDQgeCkgeworICAgIGZsb2F0
Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFzaW4oeFsz
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3Iud3coaW50NCB2KSB7
Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7CitmbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2lu
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0MiBvcGVyYXRvci53dyhmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7CitmbG9hdDN4MyBhc2luKGZs
b2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yW10gKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yW10oYm9vbDIsIHVpbnQpOwotbmF0aXZlIGJv
b2wgb3BlcmF0b3JbXShib29sMywgdWludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcltdKGJvb2w0
LCB1aW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yW10odWludDIsIHVpbnQpOwotbmF0aXZlIHVp
bnQgb3BlcmF0b3JbXSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcltdKHVpbnQ0
LCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQyLCB1aW50KTsKLW5hdGl2ZSBpbnQg
b3BlcmF0b3JbXShpbnQzLCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQ0LCB1aW50
KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvcltdKGZsb2F0MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQg
b3BlcmF0b3JbXShmbG9hdDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yW10oZmxvYXQ0
LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9hdDJ4MiwgdWludCk7Ci1uYXRp
dmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQyeDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBvcGVy
YXRvcltdKGZsb2F0Mng0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9hdDN4
MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQzeDMsIHVpbnQpOwotbmF0
aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0M3g0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3Bl
cmF0b3JbXShmbG9hdDR4MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQ0
eDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0NHg0LCB1aW50KTsKLW5h
dGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wyeDIsIHVpbnQpOwotbmF0aXZlIGJvb2wzIG9wZXJh
dG9yW10oYm9vbDJ4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3JbXShib29sMng0LCB1
aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wzeDIsIHVpbnQpOwotbmF0aXZlIGJv
b2wzIG9wZXJhdG9yW10oYm9vbDN4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3JbXShi
b29sM3g0LCB1aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2w0eDIsIHVpbnQpOwot
bmF0aXZlIGJvb2wzIG9wZXJhdG9yW10oYm9vbDR4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3JbXShib29sNHg0LCB1aW50KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5
d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3g0IGFzaW4oZmxvYXQzeDQgeCkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXNp
bih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGFzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsy
XVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3IueXl3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDIgYXNpbihmbG9hdDR4MiB4KSB7
CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
c2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gYXNpbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55
eXd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OworZmxvYXQ0eDMgYXNpbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFz
aW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBhc2luKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iu
eXl3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7CitmbG9hdDR4NCBhc2luKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBh
c2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGFzaW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFz
aW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgZXhwICovCi1uYXRpdmUgZmxvYXQg
ZXhwKGZsb2F0KTsKLWZsb2F0MiBleHAoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc3VpbnQgKi8KK3VpbnQgYXN1
aW50KGludCB4KSB7CisgICAgcmV0dXJuIHVpbnQoeCk7CiB9Ci1mbG9hdDMgZXhwKGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBleHAoeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gZXhwKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGV4cCh4WzJdKTsKK3VpbnQy
IGFzdWludChpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXN1
aW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IGV4cChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZXhwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFdKTsKLSAgICBy
ZXN1bHRbMl0gPSBleHAoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZXhwKHhbM10pOwordWludDMg
YXN1aW50KGludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3Vp
bnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGFzdWludCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDIgZXhwKGZsb2F0
MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwordWlu
dDQgYXN1aW50KGludDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBh
c3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGFzdWludCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc3VpbnQoeFszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIGV4cChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Cit1aW50IGFzdWludCh1aW50IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWZsb2F0Mng0IGV4
cChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBleHAoeFsxXVszXSk7Cit1aW50MiBhc3VpbnQodWludDIgeCkgeworICAgIHJl
dHVybiB4OworfQordWludDMgYXN1aW50KHVpbnQzIHgpIHsKKyAgICByZXR1cm4geDsKK30KK3Vp
bnQ0IGFzdWludCh1aW50NCB4KSB7CisgICAgcmV0dXJuIHg7Cit9CituYXRpdmUgdWludCBhc3Vp
bnQoZmxvYXQpOwordWludDIgYXN1aW50KGZsb2F0MiB4KSB7CisgICAgdWludDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGV4cChmbG9hdDN4MiB4KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwordWlu
dDMgYXN1aW50KGZsb2F0MyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGFzdWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gYXN1aW50KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MyBleHAo
ZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBl
eHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4
cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKLSAgICBm
bG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBleHAoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgy
IGV4cChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIGV4cChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZXhwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBleHAoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZXhwKHhbM11bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBleHAoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0
NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IGV4cCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4
WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBleHAoeFszXVszXSk7Cit1aW50NCBhc3VpbnQo
ZmxvYXQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXN1aW50KHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc3Vp
bnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHc9ICovCi1ib29sNCBvcGVy
YXRvci56eHc9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OworLyogRnVuY3Rpb25zIG5hbWVkIHBvdyAqLworbmF0aXZlIGZsb2F0IHBvdyhmbG9hdCwgZmxv
YXQpOworZmxvYXQyIHBvdyhmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBwb3co
eFsxXSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4dz0o
dWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnog
PSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7CitmbG9hdDMg
cG93KGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gcG93KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3Iuenh3PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQu
dyA9IGMuejsKK2Zsb2F0NCBwb3coZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBwb3coeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0g
cG93KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IHBvdyh4WzJdLCB5WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSBwb3coeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci56eHc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3Vs
dC53ID0gYy56OworZmxvYXQyeDIgcG93KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBm
bG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhb
MV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56enogKi8KLWJvb2wzIG9wZXJhdG9yLnp6eihib29sMyB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDMgcG93KGZsb2F0MngzIHgsIGZsb2F0MngzIHkp
IHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnp6eihib29sNCB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDQgcG93KGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMg
b3BlcmF0b3Iuenp6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDN4
MiBwb3coZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMg
b3BlcmF0b3Iuenp6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDN4
MyBwb3coZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsy
XSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50MyBvcGVyYXRvci56enooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CitmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwg
eVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0s
IHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJd
LCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56enooaW50
NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4MiBwb3coZmxvYXQ0eDIgeCwg
ZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBw
b3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKK2Zsb2F0NHgzIHBvdyhmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1b
M10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenp6
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0NHg0IHBvdyhmbG9h
dDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gcG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3co
eFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1b
M10pOworICAgIHJlc3VsdFszXVszXSA9IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p3eCAqLwotYm9v
bDQgb3BlcmF0b3Iud3p3eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53
end4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lng7CisvKiBGdW5jdGlvbnMgbmFtZWQgdGFuICovCituYXRpdmUgZmxvYXQgdGFuKGZsb2F0KTsK
K2Zsb2F0MiB0YW4oZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MyB0YW4oZmxvYXQzIHgpIHsKKyAgICBm
bG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSB0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p3eChmbG9hdDQgdikgeworZmxvYXQ0IHRhbihmbG9h
dDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Cisg
ICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSB0YW4oeFsyXSk7CisgICAgcmVzdWx0WzNdID0gdGFuKHhbM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXp6ICov
Ci1ib29sNCBvcGVyYXRvci55eXp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDJ4MiB0YW4oZmxvYXQyeDIgeCkgeworICAgIGZs
b2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2w0IG9wZXJhdG9yLnl5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngzIHRhbihmbG9hdDJ4MyB4KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eXp6KHVpbnQzIHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDJ4NCB0YW4oZmxvYXQy
eDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW4oeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gdGFuKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55
eXp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl6eihpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXl6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MiB0YW4oZmxvYXQzeDIgeCkgeworICAgIGZsb2F0
M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzeDMgdGFuKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5d3ggKi8KLWJv
b2w0IG9wZXJhdG9yLnl5d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55eXd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CitmbG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4o
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MyB0YW4oZmxvYXQ0eDMgeCkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnl5d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDQgdGFuKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFu
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSB0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4o
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gdGFuKHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enggKi8KLWJvb2wzIG9w
ZXJhdG9yLnp6eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56engoYm9vbDQgdikgewotICAgIGJvb2wzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenp4KHVp
bnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIG9wZXJhdG9yLnp6eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp6eChpbnQzIHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56
engoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
Ky8qIEZ1bmN0aW9ucyBuYW1lZCBmbWEgKi8KK2Zsb2F0IGZtYShmbG9hdCB4LCBmbG9hdCB5LCBm
bG9hdCB6KSB7CisgICAgcmV0dXJuIHggKiB5ICsgejsKIH0KLWZsb2F0MyBvcGVyYXRvci56engo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyIGZtYShmbG9hdDIg
eCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlb
MV0sIHpbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenp4KGZs
b2F0NCB2KSB7CitmbG9hdDMgZm1hKGZsb2F0MyB4LCBmbG9hdDMgeSwgZmxvYXQzIHopIHsKICAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci54eHggKi8KLWJvb2wzIG9wZXJhdG9yLnh4eChib29sMiB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBv
cGVyYXRvci54eHgoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKKyAgICByZXN1
bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0s
IHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGZtYSh4WzJdLCB5WzJdLCB6WzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3IueHh4KGJvb2w0IHYpIHsKLSAgICBi
b29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDQgZm1hKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0
IHopIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtYSh4WzBdLCB5WzBd
LCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVz
dWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOworICAgIHJlc3VsdFszXSA9IGZtYSh4WzNd
LCB5WzNdLCB6WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueHh4
KHVpbnQyIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDJ4MiBmbWEoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owor
ZmxvYXQyeDMgZm1hKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKKyAgICBm
bG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OworZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHop
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0s
IHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50MiB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7CitmbG9hdDN4MiBmbWEoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewor
ICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7CitmbG9hdDN4MyBmbWEoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMg
eikgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
CitmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZt
YSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0s
IHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5WzNd
WzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4
eChmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDR4MiBmbWEoZmxv
YXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgeworICAgIGZsb2F0NHgyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Zm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlb
MV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iu
eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0NHgzIGZtYShm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1h
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1b
Ml0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHh4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0NHg0IGZtYShmbG9hdDR4NCB4LCBmbG9hdDR4
NCB5LCBmbG9hdDR4NCB6KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBm
bWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhb
Ml1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBd
LCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1b
M10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGZtYSh4WzNdWzNdLCB5
WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXh4eSAqLwotYm9vbDQgb3BlcmF0b3IueXh4eShib29sMiB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBkZXRlcm1pbmFudCAqLworZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQgeCkg
eworICAgIHJldHVybiB4OwogfQotYm9vbDQgb3BlcmF0b3IueXh4eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7CitmbG9hdCBkZXRlcm1pbmFudChmbG9hdDJ4MiB4KSB7CisgICAgcmV0dXJuIHhbMF1bMF0g
KiB4WzFdWzFdIC0geFsxXVswXSAqIHhbMF1bMV07CiB9Ci11aW50NCBvcGVyYXRvci55eHh5KHVp
bnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0IGRldGVybWluYW50KGZsb2F0M3gzIHgpIHsKKyAgICBy
ZXR1cm4geFswXVswXSAqIHhbMV1bMV0gKiB4WzJdWzJdICsKKyAgICAgICAgICAgeFsxXVswXSAq
IHhbMl1bMV0gKiB4WzBdWzJdICsKKyAgICAgICAgICAgeFsyXVswXSAqIHhbMF1bMV0gKiB4WzFd
WzJdIC0KKyAgICAgICAgICAgeFswXVsyXSAqIHhbMV1bMV0gKiB4WzJdWzBdIC0KKyAgICAgICAg
ICAgeFsxXVsyXSAqIHhbMl1bMV0gKiB4WzBdWzBdIC0KKyAgICAgICAgICAgeFsyXVsyXSAqIHhb
MF1bMV0gKiB4WzFdWzBdOwogfQotdWludDQgb3BlcmF0b3IueXh4eSh1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueXh4eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHh5KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQgZGV0ZXJtaW5hbnQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0IHJlc3VsdDsKKyAgICBmbG9h
dDN4MyBtaW5vcjsKKyAgICBtaW5vclswXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMV1bMF0g
PSB4WzJdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKKyAgICBtaW5vclswXVsxXSA9
IHhbMV1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOworICAgIG1pbm9yWzJdWzFdID0g
eFszXVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMV1bMl0gPSB4
WzJdWzNdOworICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyB4WzBdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBdID0geFswXVsx
XTsKKyAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFd
OworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07
CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsK
KyAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107CisgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMV1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAg
bWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsxXTsKKyAgICBt
aW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1p
bm9yWzFdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlu
b3JbMF1bMl0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsKKyAgICBtaW5v
clsyXVsyXSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFsyXVswXSAqIGRldGVy
bWluYW50KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlub3JbMV1b
MF0gPSB4WzFdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclswXVsx
XSA9IHhbMF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzJdWzFd
ID0geFsyXVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3JbMV1bMl0g
PSB4WzFdWzNdOworICAgIG1pbm9yWzJdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgLSB4WzNdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnl4eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBmbG9vciAqLworbmF0aXZl
IGZsb2F0IGZsb29yKGZsb2F0KTsKK2Zsb2F0MiBmbG9vcihmbG9hdDIgeCkgeworICAgIGZsb2F0
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmxvb3IoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHh5
KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Zsb2F0MyBmbG9vcihmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eHh5KGZsb2F0MyB2KSB7CitmbG9hdDQgZmxvb3IoZmxvYXQ0IHgpIHsKICAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworICAgIHJlc3VsdFswXSA9
IGZsb29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGZsb29yKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZsb29yKHhbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh4eShmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MiBmbG9vcihmbG9h
dDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29y
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci53eXl5ICovCi1ib29sNCBvcGVyYXRvci53eXl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBmbG9vcihmbG9hdDJ4MyB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZs
b29yKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eXl5
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
CitmbG9hdDJ4NCBmbG9vcihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29y
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MiBmbG9vcihm
bG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZs
b29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZsb29yKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3Iud3l5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7CitmbG9hdDN4MyBmbG9vcihmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29y
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXd3ICovCi1ib29s
NCBvcGVyYXRvci53eXd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4NCBmbG9vcihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZs
b29yKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhb
Ml1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eXd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MiBmbG9vcihmbG9hdDR4MiB4
KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZs
b29yKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGZsb29yKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnd5d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7CitmbG9hdDR4MyBmbG9vcihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29y
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCBmbG9vcihmbG9hdDR4NCB4
KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZs
b29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGZsb29yKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGZsb29yKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXl3ICovCi1ib29sNCBvcGVyYXRvci55eXl3
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eXcodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworLyogRnVuY3Rpb25zIG5hbWVkIGNyb3NzICov
CitmbG9hdDMgY3Jvc3MoZmxvYXQzIHUsIGZsb2F0MyB2KSB7CisgICAgZmxvYXQzIHJlc3VsdDsK
KyAgICByZXN1bHQueCA9IHUueSAqIHYueiAtIHUueiAqIHYueTsKKyAgICByZXN1bHQueSA9IHUu
eiAqIHYueCAtIHUueCAqIHYuejsKKyAgICByZXN1bHQueiA9IHUueCAqIHYueSAtIHUueSAqIHYu
eDsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXcoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworCisKKy8q
IEZ1bmN0aW9ucyBuYW1lZCBpc2Zpbml0ZSAqLworbmF0aXZlIGJvb2wgaXNmaW5pdGUoZmxvYXQp
OworYm9vbDIgaXNmaW5pdGUoZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4
dyAqLwotYm9vbDMgb3BlcmF0b3IueHh3KGJvb2w0IHYpIHsKK2Jvb2wzIGlzZmluaXRlKGZsb2F0
MyB4KSB7CiAgICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRl
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGlzZmluaXRlKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54
eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jvb2w0IGlzZmluaXRlKGZs
b2F0NCB4KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlz
ZmluaXRlKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlzZmluaXRlKHhbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKKworLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkT3IgKi8KK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY191aW50
KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2Vk
T3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFk
Z3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Citu
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRl
dmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworCisv
KiBGdW5jdGlvbnMgbmFtZWQgYXRhbjIgKi8KK25hdGl2ZSBmbG9hdCBhdGFuMihmbG9hdCwgZmxv
YXQpOworZmxvYXQyIGF0YW4yKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0g
YXRhbjIoeFsxXSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRv
ci54eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0MyBhdGFuMihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKICAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi53OworICAgIHJlc3VsdFswXSA9IGF0YW4yKHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IGF0YW4yKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGF0
YW4yKHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54enh5ICovCi1ib29sNCBvcGVyYXRvci54enh5KGJvb2wzIHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDQgYXRhbjIo
ZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhdGFuMih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBhdGFuMih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBhdGFu
Mih4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueHp4
eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OworZmxvYXQyeDIgYXRhbjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0Mngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4
WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iu
eHp4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OworZmxvYXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0
MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHp4eSh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQgYXRhbjIo
ZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBh
dGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFu
Mih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5
WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enh5KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eHkoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54enh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgsIGZsb2F0
M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsx
XVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54
enh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0M3gzIGF0YW4yKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9h
dDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIo
eFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl3PSAqLwotYm9vbDQgb3BlcmF0b3IueXc9KGJvb2w0IHYsIGJvb2wy
IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJl
c3VsdC53ID0gYy55OworZmxvYXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4
WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFd
WzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAg
ICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OworZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci55dz0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7CitmbG9hdDR4MyBhdGFuMihm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4yKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4yKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4y
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGF0YW4yKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGF0YW4yKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4yKHhb
Ml1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iu
eXc9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OworZmxvYXQ0eDQgYXRhbjIoZmxvYXQ0
eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4
WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBh
dGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJd
LCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBhdGFu
Mih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHl4ICovCi1ib29sMyBvcGVyYXRvci54eXgoYm9vbDIgdikgewot
ICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3Bl
cmF0b3IueHl4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnh5eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54eXgodWlu
dDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworLyog
RnVuY3Rpb25zIG5hbWVkIERldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jICovCituYXRp
dmUgdm9pZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOworCisvKiBGdW5jdGlv
bnMgbmFtZWQgZm1vZCAqLworCitmbG9hdCBmbW9kKGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAgICB1
aW50IHdob2xlID0gdWludCh4IC8geSk7CisgICAgZmxvYXQgbXVsdGlwbGUgPSBmbG9hdCh3aG9s
ZSkgKiB5OworICAgIHJldHVybiB4IC0gbXVsdGlwbGU7CiB9Ci11aW50MyBvcGVyYXRvci54eXgo
dWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MiBmbW9kKGZsb2F0MiB4
LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1vZCh4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eXgodWludDQgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKK2Zsb2F0MyBmbW9kKGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1vZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBmbW9kKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl4KGludDIgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0IGZtb2QoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7Cisg
ICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gZm1vZCh4WzJd
LCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBmbW9kKHhbM10sIHlbM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueDsKK2Zsb2F0MngyIGZtb2QoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0
MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhb
MV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5
eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MngzIGZtb2QoZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1v
ZCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJh
dG9yLnh5eChmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDJ4NCBm
bW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl4KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gyIGZtb2QoZmxvYXQzeDIgeCwg
ZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBm
bW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFd
WzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh5
eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDN4MyBmbW9kKGZs
b2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9k
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGFsbCAqLwotYm9vbCBhbGwoYm9vbCB4KSB7
Ci0gICAgcmV0dXJuIHg7Ci19Ci1ib29sIGFsbChib29sMiB4KSB7Ci0gICAgYm9vbCByZXN1bHQg
PSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdKTsKK2Zsb2F0M3g0IGZtb2QoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4
WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbCBhbGwoYm9vbDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdKTsKK2Zsb2F0NHgyIGZtb2QoZmxvYXQ0eDIgeCwg
ZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBm
bW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFd
WzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2w0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdKTsKK2Zsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4
WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbCBhbGwodWludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYWxsKHVp
bnQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKK2Zsb2F0
NHg0IGZtb2QoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBm
bW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZm1vZCh4WzNd
WzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBmbW9k
KHhbM11bM10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbCh1aW50
MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
IGFsbCh1aW50NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbGwoaW50IHgp
IHsKLSAgICByZXR1cm4geCAhPSAwOworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3ItICov
CituYXRpdmUgaW50IG9wZXJhdG9yLShpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRvci0o
dWludCwgdWludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdCk7CituYXRp
dmUgaW50IG9wZXJhdG9yLShpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9hdCk7Citu
YXRpdmUgdWludDIgb3BlcmF0b3ItKHVpbnQyLCB1aW50Mik7CituYXRpdmUgdWludDIgb3BlcmF0
b3ItKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvci0odWludDIsIHVpbnQpOwor
bmF0aXZlIHVpbnQzIG9wZXJhdG9yLSh1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQzIG9wZXJh
dG9yLSh1aW50LCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3ItKHVpbnQzLCB1aW50KTsK
K25hdGl2ZSB1aW50NCBvcGVyYXRvci0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50NCBvcGVy
YXRvci0odWludCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLSh1aW50NCwgdWludCk7
CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50MiwgaW50Mik7CituYXRpdmUgaW50MiBvcGVyYXRv
ci0oaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yLShpbnQyLCBpbnQpOworbmF0aXZl
IGludDMgb3BlcmF0b3ItKGludDMsIGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3ItKGludCwg
aW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvci0oaW50MywgaW50KTsKK25hdGl2ZSBpbnQ0IG9w
ZXJhdG9yLShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQsIGludDQpOwor
bmF0aXZlIGludDQgb3BlcmF0b3ItKGludDQsIGludCk7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9y
LShmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQy
KTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3ItKGZsb2F0MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0
MyBvcGVyYXRvci0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxv
YXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yLShmbG9hdDMsIGZsb2F0KTsKK25h
dGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDQgb3Bl
cmF0b3ItKGZsb2F0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvci0oZmxvYXQ0LCBm
bG9hdCk7CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50Mik7CituYXRpdmUgaW50MyBvcGVyYXRv
ci0oaW50Myk7CituYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCk7CituYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yLShmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzKTsKK25hdGl2
ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZs
b2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0MngyLCBm
bG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Mik7CituYXRp
dmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRv
ci0oZmxvYXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvci0oZmxvYXQs
IGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvci0oZmxvYXQyeDMsIGZsb2F0KTsK
K25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvci0oZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0Mng0IG9w
ZXJhdG9yLShmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShm
bG9hdCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShmbG9hdDJ4NCwgZmxv
YXQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQz
eDIgb3BlcmF0b3ItKGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0
b3ItKGZsb2F0LCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3ItKGZsb2F0M3gy
LCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3ItKGZsb2F0M3gyKTsKK25hdGl2ZSBm
bG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBv
cGVyYXRvci0oZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxv
YXQzeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMpOworbmF0
aXZlIGZsb2F0M3g0IG9wZXJhdG9yLShmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0
M3g0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9y
LShmbG9hdDN4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLShmbG9hdDN4NCk7
CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3ItKGZsb2F0NHgyLCBmbG9hdDR4Mik7CituYXRpdmUg
ZmxvYXQ0eDIgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDR4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3Bl
cmF0b3ItKGZsb2F0NHgyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3ItKGZsb2F0
NHgyKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4
MyBvcGVyYXRvci0oZmxvYXQ0eDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0o
ZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxvYXQ0eDQp
OworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDQpOworbmF0aXZlIGZs
b2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJh
dG9yLShmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtaW4gKi8KK3VpbnQgbWluKHVp
bnQgeCwgdWludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7CiB9Ci1ib29sIGFsbChp
bnQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKK3VpbnQy
IG1pbih1aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGludDMgeCkgewotICAgIGJvb2wgcmVzdWx0
ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAh
PSAwKTsKK3VpbnQzIG1pbih1aW50MyB4LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsx
XSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1ib29sIGFsbChpbnQ0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOwordWludDQgbWluKHVpbnQ0IHgsIHVpbnQ0
IHkpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4o
eFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKK2lu
dCBtaW4oaW50IHgsIGludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7CiB9Ci1ib29s
IGFsbChmbG9hdDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDAp
OworaW50MiBtaW4oaW50MiB4LCBpbnQyIHkpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdDMgeCkgewotICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsyXSAhPSAwKTsKK2ludDMgbWluKGludDMgeCwgaW50MyB5KSB7CisgICAgaW50MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4
WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVl
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKK2ludDQgbWluKGludDQgeCwgaW50
NCB5KSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4o
eFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0
cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKK2Zsb2F0
IG1pbihmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Cit9Citm
bG9hdDIgbWluKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQyeDMgeCkgewotICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKK2Zsb2F0MyBtaW4oZmxvYXQzIHgsIGZs
b2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwg
eVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9
IG1pbih4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQy
eDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzNdICE9IDApOworZmxvYXQ0IG1pbihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBtaW4oeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAg
IHJlc3VsdFszXSA9IG1pbih4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9v
bCBhbGwoZmxvYXQzeDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsK
K2Zsb2F0MngyIG1pbihmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWlu
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQzeDMgeCkgewotICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKK2Zsb2F0MngzIG1pbihmbG9h
dDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhb
Ml1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdDN4
NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
M10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDApOwor
ZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4o
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWlu
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQ0eDIgeCkgewotICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOwor
ZmxvYXQzeDIgbWluKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4o
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWJvb2wgYWxsKGZsb2F0NHgzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbM11bMl0gIT0gMCk7CitmbG9hdDN4MyBtaW4oZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewor
ICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBt
aW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5
WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQ0eDQgeCkgewot
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bM10gIT0gMCk7CitmbG9hdDN4NCBtaW4oZmxvYXQz
eDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVl
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzFdOworZmxvYXQ0eDIgbWluKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBh
bGwoYm9vbDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzFdWzJdOworZmxvYXQ0eDMgbWluKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBm
bG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhb
MF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtaW4o
eFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2wy
eDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsxXVszXTsKK2Zsb2F0NHg0IG1pbihmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAg
ZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1pbih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4o
eFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWlu
KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IG1p
bih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9v
bDN4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzFdOworCisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRYb3IgKi8KK25hdGl2ZSB2b2lk
IEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhy
ZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY191aW50
KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmlj
ZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZFhvcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3Jv
dXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJlYWRncm91cCBhdG9taWNf
dWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0
aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZFhvcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50
Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJlYWRncm91cCBhdG9taWNfaW50Kiwg
aW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJlYWRncm91
cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIElu
dGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGlu
dCopOworCisvKiBGdW5jdGlvbnMgbmFtZWQgR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3lu
YyAqLworbmF0aXZlIHZvaWQgR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOworCisv
KiBGdW5jdGlvbnMgbmFtZWQgdHJ1bmMgKi8KK25hdGl2ZSBmbG9hdCB0cnVuYyhmbG9hdCk7Citm
bG9hdDIgdHJ1bmMoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHRydW5jKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRydW5jKHhbMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sM3gzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRy
dWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMl1bMl07CitmbG9hdDMgdHJ1bmMoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHRydW5jKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRydW5j
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRydW5jKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1ib29sIGFsbChib29sM3g0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
MV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CitmbG9hdDQg
dHJ1bmMoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRy
dW5jKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRydW5jKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IHRydW5jKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHRydW5jKHhbM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sNHgyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11b
MF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CitmbG9hdDJ4MiB0cnVuYyhmbG9h
dDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5j
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sNHgzIHgpIHsKLSAgICBi
b29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
Ml07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
M11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbM11bMl07CitmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQy
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sNHg0IHgpIHsKLSAgICBib29sIHJl
c3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bM107CitmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4KSB7
CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5j
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHRydW5jKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnc9ICovCi1uYXRpdmUgYm9vbDQgb3BlcmF0b3Iudz0o
Ym9vbDQsIGJvb2wpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLnc9KHVpbnQ0LCB1aW50KTsKLW5h
dGl2ZSBpbnQ0IG9wZXJhdG9yLnc9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9y
Lnc9KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZmlyc3RiaXRsb3cgKi8K
LXVpbnQgZmlyc3RiaXRsb3codWludCB4KSB7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDApKSAh
PSAwKQotICAgICAgICByZXR1cm4gMzE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEpKSAhPSAw
KQotICAgICAgICByZXR1cm4gMzA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIpKSAhPSAwKQot
ICAgICAgICByZXR1cm4gMjk7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAhPSAwKQotICAg
ICAgICByZXR1cm4gMjg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMjc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQotICAgICAgICBy
ZXR1cm4gMjY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMjU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAwKQotICAgICAgICByZXR1cm4g
MjQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjM7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjI7Ci0g
ICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIxOwotICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAxMSkpICE9IDApCi0gICAgICAgIHJldHVybiAyMDsKLSAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTk7Ci0gICAgaWYg
KCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE4OwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAxNCkpICE9IDApCi0gICAgICAgIHJldHVybiAxNzsKLSAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMTUpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTY7Ci0gICAgaWYgKCh4ICYg
dWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE1OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAxNykpICE9IDApCi0gICAgICAgIHJldHVybiAxNDsKLSAgICBpZiAoKHggJiB1aW50
KDEgPDwgMTgpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTM7Ci0gICAgaWYgKCh4ICYgdWludCgx
IDw8IDE5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDEyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxMTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwg
MjEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIy
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDk7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIzKSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI0KSkgIT0g
MCkKLSAgICAgICAgcmV0dXJuIDc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI1KSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkgIT0gMCkKLSAg
ICAgICAgcmV0dXJuIDU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0gMCkKLSAgICAg
ICAgcmV0dXJuIDQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkKLSAgICAgICAgcmV0
dXJuIDI7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgcmV0dXJuIDMyOwotfQotdWludCBmaXJzdGJpdGxvdyhpbnQgeCkgewotICAgIHJldHVy
biBmaXJzdGJpdGxvdyh1aW50KHgpKTsKLX0KLXVpbnQyIGZpcnN0Yml0bG93KHVpbnQyIHgpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7CitmbG9hdDN4MiB0cnVuYyhmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRydW5jKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBmaXJzdGJpdGxv
dyh1aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
bG93KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworZmxvYXQzeDMgdHJ1bmMoZmxvYXQzeDMgeCkgewor
ICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRsb3codWludDQgeCkgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJp
dGxvdyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGxvdyh4WzNdKTsKK2Zsb2F0M3g0
IHRydW5jKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
dHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gdHJ1bmMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIGZpcnN0Yml0
bG93KGludDIgeCkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJp
dGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKK2Zsb2F0NHgy
IHRydW5jKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
dHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdHJ1bmMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIGZpcnN0Yml0bG93KGludDMgeCkgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBm
aXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKK2Zs
b2F0NHgzIHRydW5jKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
dHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdHJ1bmMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gdHJ1bmMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IGZp
cnN0Yml0bG93KGludDQgeCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBm
aXJzdGJpdGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJp
dGxvdyh4WzNdKTsKK2Zsb2F0NHg0IHRydW5jKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gdHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
dHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gdHJ1bmMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gdHJ1bmMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gdHJ1bmMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gdHJ1
bmMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh3eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnh3eHkoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OworLyogRnVuY3Rpb25zIG5hbWVkIG1heCAqLwordWludCBtYXgodWludCB4LCB1aW50IHkpIHsK
KyAgICByZXR1cm4geCA+IHkgPyB4IDogeTsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh3eHkodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK3VpbnQy
IG1heCh1aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd4eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK3VpbnQzIG1heCh1aW50MyB4
LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gbWF4KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueHd4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Cit1aW50NCBtYXgodWludDQgeCwgdWludDQgeSkgeworICAgIHVpbnQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4
KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXN1
bHRbM10gPSBtYXgoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eiAqLwotYm9vbDMgb3BlcmF0b3IueXp6KGJvb2wzIHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworCitpbnQg
bWF4KGludCB4LCBpbnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHggOiB5OwogfQotYm9vbDMg
b3BlcmF0b3IueXp6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitpbnQyIG1h
eChpbnQyIHgsIGludDIgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1h
eCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnl6eih1aW50MyB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OworaW50MyBtYXgoaW50MyB4LCBpbnQzIHkpIHsKKyAgICBpbnQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4
KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7CitpbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgeworICAgIGludDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgo
eFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3Vs
dFszXSA9IG1heCh4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVy
YXRvci55enooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKKworCitmbG9hdCBtYXgoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiB4ID4g
eSA/IHggOiB5OwogfQotaW50MyBvcGVyYXRvci55enooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7CitmbG9hdDIgbWF4KGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9
IG1heCh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9y
Lnl6eihmbG9hdDMgdikgeworZmxvYXQzIG1heChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKICAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0s
IHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXp6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0NCBtYXgoZmxvYXQ0IHgsIGZs
b2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwg
eVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9
IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBtYXgoeFszXSwgeVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6d3ggKi8K
LWJvb2w0IG9wZXJhdG9yLnl6d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngyIG1heChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5
KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBd
LCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQg
b3BlcmF0b3IueXp3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi54OworZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IG1heChmbG9hdDJ4NCB4
LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NCBvcGVyYXRvci55end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gyIG1heChmbG9hdDN4MiB4LCBm
bG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1h
eCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
YXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci55d3h6PSAqLwotYm9vbDQgb3BlcmF0b3IueXd4ej0oYm9vbDQgdiwgYm9vbDQgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDN4
MyBtYXgoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsy
XSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3IueXd4ej0odWludDQgdiwgdWludDQgYykgewotICAgIHVp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDN4NCBtYXgo
ZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1h
eCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
YXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlb
Ml1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55d3h6PShpbnQ0IHYsIGludDQgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKK2Zsb2F0NHgy
IG1heChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55d3h6PShmbG9hdDQgdiwgZmxv
YXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMu
dzsKK2Zsb2F0NHgzIG1heChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bWF4KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwg
eVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10s
IHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55d3d4ICovCi1ib29sNCBvcGVyYXRvci55d3d4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4NCBtYXgoZmxvYXQ0
eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhb
MV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bM10gPSBtYXgoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl3d3godWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworCisv
KiBGdW5jdGlvbnMgbmFtZWQgYXNpbnQgKi8KK2ludCBhc2ludChpbnQgeCkgeworICAgIHJldHVy
biB4OwogfQotaW50NCBvcGVyYXRvci55d3d4KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQyIGFzaW50
KGludDIgeCkgeworICAgIHJldHVybiB4OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3d3goZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7CitpbnQzIGFzaW50KGludDMgeCkgeworICAgIHJldHVybiB4OwogfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6dyAqLwotYm9vbDQgb3BlcmF0b3Iuenl6
dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQ0IGFzaW50KGludDQgeCkgeworICAgIHJldHVybiB4
OwogfQotdWludDQgb3BlcmF0b3Iuenl6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQgYXNpbnQo
dWludCB4KSB7CisgICAgcmV0dXJuIGludCh4KTsKIH0KLWludDQgb3BlcmF0b3Iuenl6dyhpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2ludDIg
YXNpbnQodWludDIgeCkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW50
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl6dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitpbnQzIGFzaW50KHVpbnQzIHgpIHsKKyAgICBp
bnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBhc2ludCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend3eiAqLwotYm9vbDQg
b3BlcmF0b3Iuend3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi56OworaW50NCBhc2ludCh1aW50NCB4KSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXNpbnQoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3d3oodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK25hdGl2ZSBp
bnQgYXNpbnQoZmxvYXQpOworaW50MiBhc2ludChmbG9hdDIgeCkgeworICAgIGludDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp3d3ooaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitpbnQzIGFzaW50
KGZsb2F0MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNpbnQo
eFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56d3d6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKK2lu
dDQgYXNpbnQoZmxvYXQ0IHgpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBh
c2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBhc2ludCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2ludCh4WzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl3dyAqLwotYm9vbDQg
b3BlcmF0b3IueXl3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXd3
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
CisvKiBGdW5jdGlvbnMgbmFtZWQgY2xhbXAgKi8KK25hdGl2ZSB1aW50IGNsYW1wKHVpbnQsIHVp
bnQsIHVpbnQpOworbmF0aXZlIHVpbnQyIGNsYW1wKHVpbnQyLCB1aW50MiwgdWludDIpOworbmF0
aXZlIHVpbnQzIGNsYW1wKHVpbnQzLCB1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQ0IGNsYW1w
KHVpbnQ0LCB1aW50NCwgdWludDQpOworbmF0aXZlIGludCBjbGFtcChpbnQsIGludCwgaW50KTsK
K25hdGl2ZSBpbnQyIGNsYW1wKGludDIsIGludDIsIGludDIpOworbmF0aXZlIGludDMgY2xhbXAo
aW50MywgaW50MywgaW50Myk7CituYXRpdmUgaW50NCBjbGFtcChpbnQ0LCBpbnQ0LCBpbnQ0KTsK
K25hdGl2ZSBmbG9hdCBjbGFtcChmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDIg
Y2xhbXAoZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQzIGNsYW1wKGZsb2F0
MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBjbGFtcChmbG9hdDQsIGZsb2F0NCwg
ZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDJ4MiBjbGFtcChmbG9hdDJ4MiwgZmxvYXQyeDIsIGZsb2F0
MngyKTsKK25hdGl2ZSBmbG9hdDJ4MyBjbGFtcChmbG9hdDJ4MywgZmxvYXQyeDMsIGZsb2F0Mngz
KTsKK25hdGl2ZSBmbG9hdDJ4NCBjbGFtcChmbG9hdDJ4NCwgZmxvYXQyeDQsIGZsb2F0Mng0KTsK
K25hdGl2ZSBmbG9hdDN4MiBjbGFtcChmbG9hdDN4MiwgZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25h
dGl2ZSBmbG9hdDN4MyBjbGFtcChmbG9hdDN4MywgZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2
ZSBmbG9hdDN4NCBjbGFtcChmbG9hdDN4NCwgZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBm
bG9hdDR4MiBjbGFtcChmbG9hdDR4MiwgZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9h
dDR4MyBjbGFtcChmbG9hdDR4MywgZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4
NCBjbGFtcChmbG9hdDR4NCwgZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yPCAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I8KGludCwgaW50KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPCh1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPChmbG9h
dCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPCh1aW50MiwgdWludDIpOworbmF0aXZl
IGJvb2wzIG9wZXJhdG9yPCh1aW50MywgdWludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPCh1
aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPChpbnQyLCBpbnQyKTsKK25hdGl2
ZSBib29sMyBvcGVyYXRvcjwoaW50MywgaW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8KGlu
dDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPChmbG9hdDIsIGZsb2F0Mik7CituYXRp
dmUgYm9vbDMgb3BlcmF0b3I8KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRv
cjwoZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I8KGZsb2F0MngyLCBm
bG9hdDJ4Mik7CituYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcjwoZmxvYXQyeDMsIGZsb2F0MngzKTsK
K25hdGl2ZSBib29sMng0IG9wZXJhdG9yPChmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGJv
b2wzeDIgb3BlcmF0b3I8KGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgYm9vbDN4MyBvcGVy
YXRvcjwoZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sM3g0IG9wZXJhdG9yPChmbG9h
dDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGJvb2w0eDIgb3BlcmF0b3I8KGZsb2F0NHgyLCBmbG9h
dDR4Mik7CituYXRpdmUgYm9vbDR4MyBvcGVyYXRvcjwoZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBib29sNHg0IG9wZXJhdG9yPChmbG9hdDR4NCwgZmxvYXQ0eDQpOworCisvKiBGdW5jdGlv
bnMgbmFtZWQgaXNuYW4gKi8KK25hdGl2ZSBib29sIGlzbmFuKGZsb2F0KTsKKworYm9vbDIgaXNu
YW4oZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNuYW4o
eFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3IueXl3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wzIGlzbmFuKGZsb2F0MyB4KSB7CisgICAgYm9vbDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlz
bmFuKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbmFuKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Citib29sNCBpc25hbihmbG9hdDQgeCkgewor
ICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc25hbih4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBpc25hbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc25hbih4WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSBpc25hbih4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3I8PSAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I8PShpbnQsIGlu
dCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjw9KHVpbnQsIHVpbnQpOwotbmF0aXZlIGJvb2wgb3Bl
cmF0b3I8PShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0odWludDIsIHVp
bnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjw9KHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgYm9v
bDQgb3BlcmF0b3I8PSh1aW50NCwgdWludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oaW50
MiwgaW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8PShpbnQzLCBpbnQzKTsKLW5hdGl2ZSBi
b29sNCBvcGVyYXRvcjw9KGludDQsIGludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oZmxv
YXQyLCBmbG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oZmxvYXQzLCBmbG9hdDMpOwot
bmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0oZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGJvb2wyeDIg
b3BlcmF0b3I8PShmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8
PShmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I8PShmbG9hdDJ4
NCwgZmxvYXQyeDQpOwotbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I8PShmbG9hdDN4MiwgZmxvYXQz
eDIpOwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8PShmbG9hdDN4MywgZmxvYXQzeDMpOwotbmF0
aXZlIGJvb2wzeDQgb3BlcmF0b3I8PShmbG9hdDN4NCwgZmxvYXQzeDQpOwotbmF0aXZlIGJvb2w0
eDIgb3BlcmF0b3I8PShmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0
b3I8PShmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I8PShmbG9h
dDR4NCwgZmxvYXQ0eDQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR4X2ZpbmUgKi8KLWZsb2F0
IGRkeF9maW5lKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gZGR4KHgpOworLyogRnVuY3Rpb25zIG5h
bWVkIEFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jICovCituYXRpdmUgdm9pZCBBbGxNZW1v
cnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Je
ICovCitib29sIG9wZXJhdG9yXihib29sIGEsIGJvb2wgYikgeworICAgIGlmIChhKQorICAgICAg
ICByZXR1cm4gIWI7CisgICAgcmV0dXJuIGI7CiB9Ci1mbG9hdDIgZGR4X2ZpbmUoZmxvYXQyIHgp
IHsKK25hdGl2ZSBpbnQgb3BlcmF0b3JeKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9y
Xih1aW50LCB1aW50KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGlzaW5mICovCituYXRpdmUgYm9v
bCBpc2luZihmbG9hdCk7Citib29sMiBpc2luZihmbG9hdDIgeCkgeworICAgIGJvb2wyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbDMgaXNpbmYoZmxvYXQzIHgpIHsKKyAg
ICBib29sMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNpbmYoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gaXNpbmYoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNpbmYoeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Jvb2w0IGlzaW5mKGZsb2F0NCB4KSB7CisgICAgYm9vbDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IGlzaW5mKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlzaW5m
KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvcnwgKi8KK2Jvb2wgb3BlcmF0b3J8KGJvb2wgYSwgYm9vbCBiKSB7CisgICAgcmV0dXJuIGEg
fHwgYjsKK30KK25hdGl2ZSBpbnQgb3BlcmF0b3J8KGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9w
ZXJhdG9yfCh1aW50LCB1aW50KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRlZ3JlZXMgKi8KK2Zs
b2F0IGRlZ3JlZXMoZmxvYXQgeCkgeworICAgIHJldHVybiB4ICogMTgwIC8gMy4xNDE1OTsKK30K
K2Zsb2F0MiBkZWdyZWVzKGZsb2F0MiB4KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsK
KyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMo
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBkZHhfZmluZShmbG9hdDMgeCkg
eworZmxvYXQzIGRlZ3JlZXMoZmxvYXQzIHgpIHsKICAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0pOworICAgIHJlc3VsdFswXSA9IGRlZ3Jl
ZXMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBkZWdyZWVzKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgZGR4X2ZpbmUo
ZmxvYXQ0IHgpIHsKK2Zsb2F0NCBkZWdyZWVzKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhf
ZmluZSh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHhfZmluZSh4WzJdKTsKLSAgICByZXN1bHRb
M10gPSBkZHhfZmluZSh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJd
KTsKKyAgICByZXN1bHRbM10gPSBkZWdyZWVzKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDJ4MiBkZHhfZmluZShmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4MiBkZWdyZWVzKGZsb2F0
MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2Zp
bmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4
X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQyeDMgeCkgeworZmxv
YXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRk
eF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBkZHhfZmluZShmbG9hdDJ4NCB4KSB7Citm
bG9hdDJ4NCBkZWdyZWVzKGZsb2F0Mng0IHgpIHsKICAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDN4MiBkZHhfZmluZShmbG9hdDN4MiB4KSB7CitmbG9hdDN4MiBkZWdyZWVz
KGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3gzIGRkeF9maW5lKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIGRlZ3Jl
ZXMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgZGR4X2ZpbmUoZmxvYXQzeDQgeCkgeworZmxvYXQzeDQg
ZGVncmVlcyhmbG9hdDN4NCB4KSB7CiAgICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9m
aW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRk
eF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwor
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZGVncmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBkZHhfZmluZShmbG9hdDR4MiB4KSB7Citm
bG9hdDR4MiBkZWdyZWVzKGZsb2F0NHgyIHgpIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZGR4X2ZpbmUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4KSB7CitmbG9hdDR4MyBkZWdyZWVz
KGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUo
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4X2ZpbmUoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVz
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVz
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVz
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVz
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IGRkeF9maW5lKGZsb2F0NHg0IHgpIHsKK2Zsb2F0NHg0
IGRlZ3JlZXMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmlu
ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhf
ZmluZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBk
ZHhfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBkZHhfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJd
KTsKLSAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4ICovCi1ib29sMyBvcGVy
YXRvci54d3goYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lng7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMo
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGVncmVlcyh4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54d3goaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lng7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBTYW1wbGUgKi8KK25hdGl2ZSB1aW50IFNh
bXBsZShUZXh0dXJlMUQ8dWludD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSB1
aW50IFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9u
KTsKK25hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkQ8dWludD4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbik7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVpbnQ+LCBzYW1wbGVyLCBm
bG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJl
MkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50IFNh
bXBsZShUZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQy
IG9mZnNldCk7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTNEPHVpbnQ+LCBzYW1wbGVyLCBm
bG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUzRDx1aW50Piwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgdWludCBTYW1wbGUo
VGV4dHVyZUN1YmU8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWlu
dDIgU2FtcGxlKFRleHR1cmUxRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25h
dGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8dWludDI+LCBzYW1wbGVy
LCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8dWludDI+
LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50MiBT
YW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwor
bmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlM0Q8
dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShU
ZXh0dXJlM0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsK
K25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMUQ8dWludDM+LCBzYW1wbGVy
LCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUxREFycmF5PHVp
bnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4
dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBT
YW1wbGUoVGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQzPiwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1
aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmVDdWJlPHVp
bnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4
dHVyZTFEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNh
bXBsZShUZXh0dXJlMURBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Citu
YXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2Nh
dGlvbik7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBsZXIsIGZs
b2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDQg
U2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBp
bnQyIG9mZnNldCk7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUzRDx1aW50ND4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUzRDx1aW50
ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIHVpbnQ0
IFNhbXBsZShUZXh0dXJlQ3ViZTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Citu
YXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMUQ8aW50Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24p
OworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQy
IGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyRDxpbnQ+LCBzYW1wbGVyLCBm
bG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTJEPGludD4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludCBTYW1wbGUoVGV4
dHVyZTJEQXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQg
U2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MiBvZmZzZXQpOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTNEPGludD4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlM0Q8aW50Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgaW50IFNhbXBsZShUZXh0
dXJlQ3ViZTxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgU2Ft
cGxlKFRleHR1cmUxRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGlu
dDIgU2FtcGxlKFRleHR1cmUxREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24p
OworbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxv
Y2F0aW9uKTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50Mj4sIHNhbXBsZXIsIGZs
b2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUy
REFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgU2Ft
cGxlKFRleHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIg
b2Zmc2V0KTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlM0Q8aW50Mj4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTNEPGludDI+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBpbnQyIFNhbXBsZShU
ZXh0dXJlQ3ViZTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQz
IFNhbXBsZShUZXh0dXJlMUQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQzIFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0
aW9uKTsKK25hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEPGludDM+LCBzYW1wbGVy
LCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQzIFNhbXBsZShUZXh0
dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQz
IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBp
bnQyIG9mZnNldCk7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTNEPGludDM+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUzRDxpbnQzPiwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgaW50MyBTYW1w
bGUoVGV4dHVyZUN1YmU8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUg
aW50NCBTYW1wbGUoVGV4dHVyZTFEPGludDQ+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Citu
YXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbik7CituYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEPGludDQ+LCBzYW1wbGVyLCBm
bG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyRDxpbnQ0Piwgc2Ft
cGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgaW50NCBTYW1wbGUo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUg
aW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
biwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUzRDxpbnQ0Piwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlM0Q8aW50
ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGludDQg
U2FtcGxlKFRleHR1cmVDdWJlPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0
aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlv
bik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0Piwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Piwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJE
PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
ZmxvYXQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0
aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4
dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9m
ZnNldCk7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUxRDxmbG9hdDI+
LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0
MiBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Citu
YXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQyIGxv
Y2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MiBTYW1w
bGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQy
IG9mZnNldCk7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQyPiwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUzRDxmbG9h
dDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBmbG9h
dDIgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
CituYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUy
RDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1w
bGUoVGV4dHVyZTJEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZz
ZXQpOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZl
IGZsb2F0MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJl
Q3ViZTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBT
YW1wbGUoVGV4dHVyZTFEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2
ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQ0Piwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUyRDxmbG9h
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9h
dDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRl
eHR1cmUzRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0
NCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRo
MkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IFNhbXBs
ZShUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQp
OworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIHNpbmggKi8KK25hdGl2ZSBm
bG9hdCBzaW5oKGZsb2F0KTsKK2Zsb2F0MiBzaW5oKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbmgo
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54d3goZmxvYXQ0
IHYpIHsKK2Zsb2F0MyBzaW5oKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IgY2Fz
dCAqLwotbmF0aXZlIG9wZXJhdG9yIHVpbnQoaW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50KGZs
b2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQodWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50KGZs
b2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdCh1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9h
dChpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludChib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
KHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2woaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
KGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMihib29sLCBib29sKTsKLW5hdGl2ZSBvcGVy
YXRvciBib29sMyhib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMyhib29s
MiwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDMoYm9vbCwgYm9vbDIpOwotbmF0aXZlIG9w
ZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJv
b2w0KGJvb2wyLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNChib29sLCBib29s
MiwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbCwgYm9vbDIpOwotbmF0
aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wyLCBib29sMik7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQo
Ym9vbDMsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wzKTsKLW5hdGl2
ZSBvcGVyYXRvciB1aW50Mih1aW50LCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50Myh1aW50
LCB1aW50LCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50Myh1aW50MiwgdWludCk7Ci1uYXRp
dmUgb3BlcmF0b3IgdWludDModWludCwgdWludDIpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVp
bnQsIHVpbnQsIHVpbnQsIHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQyLCB1aW50
LCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50LCB1aW50MiwgdWludCk7Ci1uYXRp
dmUgb3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludDIpOwotbmF0aXZlIG9wZXJhdG9yIHVp
bnQ0KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDQodWludDMsIHVpbnQpOwot
bmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQzKTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQy
KGludCwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQzKGludCwgaW50LCBpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIGludDMoaW50MiwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQzKGludCwgaW50
Mik7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludCwgaW50LCBpbnQpOwotbmF0aXZlIG9w
ZXJhdG9yIGludDQoaW50MiwgaW50LCBpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBp
bnQyLCBpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQsIGludDIpOwotbmF0aXZl
IG9wZXJhdG9yIGludDQoaW50MiwgaW50Mik7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQzLCBp
bnQpOwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQzKTsKLW5hdGl2ZSBvcGVyYXRvciBm
bG9hdDIoZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDMoZmxvYXQsIGZsb2F0
LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZsb2F0MiwgZmxvYXQpOwotbmF0aXZl
IG9wZXJhdG9yIGZsb2F0MyhmbG9hdCwgZmxvYXQyKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQo
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9h
dDIsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdDIs
IGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0LCBmbG9hdDIpOwot
bmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0KGZsb2F0MywgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxv
YXQzKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MihmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUg
b3BlcmF0b3IgZmxvYXQyeDMoZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0
Mng0KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MihmbG9hdDIsIGZs
b2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MyhmbG9hdDMsIGZsb2F0Mywg
ZmxvYXQzKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDN4NChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0
KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDR4MihmbG9hdDIsIGZsb2F0MiwgZmxvYXQyLCBmbG9h
dDIpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgzKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMsIGZs
b2F0Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDQoZmxvYXQ0LCBmbG9hdDQsIGZsb2F0NCwg
ZmxvYXQ0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MihmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVy
YXRvciBmbG9hdDN4MihmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDN4
NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDR4Mihm
bG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwot
bmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9h
dCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotbmF0
aXZlIG9wZXJhdG9yIGZsb2F0NHg0KGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMngyKGJvb2wyLCBib29s
Mik7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sMywgYm9vbDMpOwotbmF0aXZlIG9wZXJh
dG9yIGJvb2wyeDQoYm9vbDQsIGJvb2w0KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gyKGJvb2wy
LCBib29sMiwgYm9vbDIpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDMoYm9vbDMsIGJvb2wzLCBi
b29sMyk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4NChib29sNCwgYm9vbDQsIGJvb2w0KTsKLW5h
dGl2ZSBvcGVyYXRvciBib29sNHgyKGJvb2wyLCBib29sMiwgYm9vbDIsIGJvb2wyKTsKLW5hdGl2
ZSBvcGVyYXRvciBib29sNHgzKGJvb2wzLCBib29sMywgYm9vbDMsIGJvb2wzKTsKLW5hdGl2ZSBv
cGVyYXRvciBib29sNHg0KGJvb2w0LCBib29sNCwgYm9vbDQsIGJvb2w0KTsKLW5hdGl2ZSBvcGVy
YXRvciBib29sMngyKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJv
b2wyeDMoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0
b3IgYm9vbDJ4NChib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gyKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDMoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4NChi
b29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
LCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNHgyKGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDMo
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDR4NChib29sLCBib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5
eCAqLwotYm9vbDMgb3BlcmF0b3Iud3l4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lng7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW5oKHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQzIG9wZXJhdG9yLnd5eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owor
ZmxvYXQ0IHNpbmgoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHNpbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBzaW5oKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNpbmgoeFszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iud3l4KGludDQgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OworZmxvYXQyeDIgc2luaChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
c2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MyBvcGVyYXRvci53eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBsb2FkICovCi1uYXRpdmUg
aW50IGxvYWQoZGV2aWNlIGF0b21pY19pbnQqKTsKLW5hdGl2ZSB1aW50IGxvYWQoZGV2aWNlIGF0
b21pY191aW50Kik7Ci1uYXRpdmUgaW50IGxvYWQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCopOwot
bmF0aXZlIHVpbnQgbG9hZCh0aHJlYWRncm91cCBhdG9taWNfdWludCopOwotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHh4eCAqLwotYm9vbDQgb3BlcmF0b3IueHh4eChib29sMiB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHh4KGJvb2wzIHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2w0IG9wZXJhdG9yLnh4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHh4eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHh4KHVpbnQz
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDJ4MyBzaW5oKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnh4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IHNpbmgoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNp
bmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh4eChpbnQyIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gyIHNp
bmgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54eHh4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OworZmxvYXQzeDMgc2luaChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnh4eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CitmbG9hdDN4NCBzaW5oKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5o
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
c2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci54eHh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHgyIHNpbmgoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHh4KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0NHgzIHNpbmgoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2lu
aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHgo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQ0eDQgc2luaChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNp
bmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHogKi8KLWJvb2w0IG9w
ZXJhdG9yLnp5eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl4eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXh6KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56eXh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OworLyogRnVuY3Rpb25zIG5hbWVkIGRkeSAqLworbmF0aXZlIGZsb2F0IGRk
eShmbG9hdCk7CitmbG9hdDIgZGR5KGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5eHooaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDMgZGR5KGZsb2F0MyB4
KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gZGR5KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHooZmxvYXQzIHYpIHsKK2Zsb2F0
NCBkZHkoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OworICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHko
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeSh4
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxv
YXQyeDIgZGR5KGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54ej0gKi8KLWJvb2wzIG9wZXJhdG9yLnh6PShib29sMyB2LCBib29sMiBjKSB7Ci0g
ICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9
IGMueTsKK2Zsb2F0MngzIGRkeShmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHko
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1i
b29sNCBvcGVyYXRvci54ej0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9hdDJ4NCBk
ZHkoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBv
cGVyYXRvci54ej0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9hdDN4MiBkZHkoZmxv
YXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHko
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4
WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHo9KHVpbnQ0
IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQzeDMgZGR5KGZsb2F0M3gzIHgpIHsKKyAgICBm
bG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDMgb3BlcmF0b3IueHo9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQzeDQg
ZGR5KGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAg
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OworZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzIG9wZXJhdG9yLnh6PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9h
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
K2Zsb2F0NHgzIGRkeShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZGR5KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHo9KGZsb2F0NCB2LCBm
bG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHko
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXh3ICovCi1ib29sNCBv
cGVyYXRvci56eXh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHco
dWludDQgdikgeworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj0gKi8KK25hdGl2ZSBib29s
IG9wZXJhdG9yPj0oaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PSh1aW50LCB1aW50
KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPj0oZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBib29sMiBv
cGVyYXRvcj49KHVpbnQyLCB1aW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+PSh1aW50Mywg
dWludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPj0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSBi
b29sMiBvcGVyYXRvcj49KGludDIsIGludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0oaW50
MywgaW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I+PShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBi
b29sMiBvcGVyYXRvcj49KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj49
KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj49KGZsb2F0NCwgZmxvYXQ0
KTsKK25hdGl2ZSBib29sMngyIG9wZXJhdG9yPj0oZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2
ZSBib29sMngzIG9wZXJhdG9yPj0oZmxvYXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBib29sMng0
IG9wZXJhdG9yPj0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBib29sM3gyIG9wZXJhdG9y
Pj0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sM3gzIG9wZXJhdG9yPj0oZmxvYXQz
eDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sM3g0IG9wZXJhdG9yPj0oZmxvYXQzeDQsIGZsb2F0
M3g0KTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPj0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25h
dGl2ZSBib29sNHgzIG9wZXJhdG9yPj0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25hdGl2ZSBib29s
NHg0IG9wZXJhdG9yPj0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVk
IGRzdCAqLwordWludDQgZHN0KHVpbnQ0IHNyYzAsIHVpbnQ0IHNyYzEpIHsKICAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0LnggPSAxOworICAg
IHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJlc3VsdC56ID0gc3JjMC56OworICAg
IHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnp5eHcoaW50NCB2KSB7CitpbnQ0IGRzdChpbnQ0IHNyYzAsIGludDQgc3JjMSkgewogICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OworICAgIHJlc3VsdC54ID0gMTsK
KyAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKKyAgICByZXN1bHQueiA9IHNyYzAuejsK
KyAgICByZXN1bHQudyA9IHNyYzEudzsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9w
ZXJhdG9yLnp5eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBkc3QoZmxvYXQ0IHNyYzAsIGZsb2F0NCBz
cmMxKSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKyAg
ICByZXN1bHQueCA9IDE7CisgICAgcmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7CisgICAgcmVz
dWx0LnogPSBzcmMwLno7CisgICAgcmVzdWx0LncgPSBzcmMxLnc7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6ICovCi1ib29sMiBvcGVyYXRv
ci56eihib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFt
ZWQgZG90ICovCit1aW50IGRvdCh1aW50IGEsIHVpbnQgYikgeworICAgIHJldHVybiBhICogYjsK
IH0KLWJvb2wyIG9wZXJhdG9yLnp6KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Cit1aW50IGRvdCh1aW50MiBhLCB1
aW50MiBiKSB7CisgICAgdWludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
MF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci56eih1aW50MyB2KSB7Ci0gICAgdWludDIgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwordWludCBkb3Qo
dWludDMgYSwgdWludDMgYikgeworICAgIHVpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDIgb3BlcmF0b3IuenoodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK3VpbnQgZG90KHVpbnQ0IGEsIHVp
bnQ0IGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsw
XSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJb
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IuenooaW50MyB2KSB7Ci0g
ICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBkb3QoaW50IGEsIGludCBiKSB7CisgICAgcmV0dXJu
IGEgKiBiOwogfQotaW50MiBvcGVyYXRvci56eihpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2ludCBkb3QoaW50MiBh
LCBpbnQyIGIpIHsKKyAgICBpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJhdG9yLnp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2ludCBk
b3QoaW50MyBhLCBpbnQzIGIpIHsKKyAgICBpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQyIG9wZXJhdG9yLnp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2ludCBkb3QoaW50NCBhLCBp
bnQ0IGIpIHsKKyAgICBpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBd
ICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzNdICogYlsz
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3h6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBk
b3QoZmxvYXQgYSwgZmxvYXQgYikgeworICAgIHJldHVybiBhICogYjsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnd4enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0IGRvdChmbG9hdDIgYSwgZmxvYXQyIGIpIHsKKyAgICBmbG9hdCByZXN1
bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMV0gKiBiWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnd4enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7CitmbG9hdCBkb3QoZmxvYXQzIGEsIGZsb2F0MyBiKSB7CisgICAgZmxvYXQgcmVzdWx0
ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4enooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQgZG90
KGZsb2F0NCBhLCBmbG9hdDQgYikgeworICAgIGZsb2F0IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJb
MV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVszXSAqIGJbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd6d3koYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworLyogRnVuY3Rpb25zIG5hbWVkIGFzZmxv
YXQgKi8KK25hdGl2ZSBmbG9hdCBhc2Zsb2F0KGludCk7CitmbG9hdDIgYXNmbG9hdChpbnQyIHgp
IHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53end5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi55OworZmxvYXQzIGFzZmxvYXQoaW50MyB4KSB7CisgICAgZmxvYXQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzZmxv
YXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6d3koZmxvYXQ0IHYpIHsKK2Zsb2F0NCBhc2Zsb2F0
KGludDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5
enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd5enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9h
dCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2Zsb2F0KHhbM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eXp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CituYXRpdmUgZmxvYXQgYXNmbG9hdCh1aW50KTsK
K2Zsb2F0MiBhc2Zsb2F0KHVpbnQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53eXp5KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGFzZmxvYXQodWlu
dDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzZmxv
YXQoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXp5KGZs
b2F0NCB2KSB7CitmbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4eCAqLwotYm9vbDQgb3BlcmF0b3IueHd4eChib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3h4KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHd4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2Zsb2F0KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0IGFz
ZmxvYXQoZmxvYXQgeCkgeworICAgIHJldHVybiB4OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueHl5ICovCi1ib29sMyBvcGVyYXRvci54eXkoYm9vbDIgdikgewotICAgIGJvb2wz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyIGFzZmxvYXQoZmxvYXQy
IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eShib29sMyB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdDMgYXNmbG9h
dChmbG9hdDMgeCkgeworICAgIHJldHVybiB4OwogfQotYm9vbDMgb3BlcmF0b3IueHl5KGJvb2w0
IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0
NCBhc2Zsb2F0KGZsb2F0NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11aW50MyBvcGVyYXRvci54
eXkodWludDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OworZmxvYXQyeDIgYXNmbG9hdChmbG9hdDJ4MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11aW50
MyBvcGVyYXRvci54eXkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OworZmxvYXQyeDMgYXNmbG9hdChmbG9hdDJ4MyB4KSB7CisgICAgcmV0dXJu
IHg7CiB9Ci11aW50MyBvcGVyYXRvci54eXkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyeDQgYXNmbG9hdChmbG9hdDJ4NCB4KSB7
CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eShpbnQyIHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQzeDIgYXNmbG9hdChmbG9h
dDN4MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eShpbnQzIHYpIHsK
LSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQzeDMgYXNm
bG9hdChmbG9hdDN4MyB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eShp
bnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxv
YXQzeDQgYXNmbG9hdChmbG9hdDN4NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1mbG9hdDMgb3Bl
cmF0b3IueHl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OworZmxvYXQ0eDIgYXNmbG9hdChmbG9hdDR4MiB4KSB7CisgICAgcmV0dXJuIHg7
CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQ0eDMgYXNmbG9hdChmbG9hdDR4MyB4KSB7
CisgICAgcmV0dXJuIHg7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQ0eDQgYXNmbG9h
dChmbG9hdDR4NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53enh5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3p4eT0oYm9vbDQgdiwgYm9vbDQgYykg
ewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0
LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHk9KHVpbnQ0IHYsIHVpbnQ0IGMp
IHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eHk9KGludDQgdiwgaW50NCBjKSB7
Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p4eT0oZmxvYXQ0IHYsIGZsb2F0NCBj
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVz
dWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBuYW1lZCBpc25vcm1hbCAqLworbmF0
aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
encgKi8KLWJvb2wyIG9wZXJhdG9yLnp3KGJvb2w0IHYpIHsKK2Jvb2wyIGlzbm9ybWFsKGZsb2F0
MiB4KSB7CiAgICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVyYXRvci56dyh1aW50
NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnp3KGludDQg
dikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IuencoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eHogKi8KLWJvb2wzIG9wZXJhdG9yLnh4eihib29sMyB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGlzbm9ybWFsKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVy
YXRvci54eHooYm9vbDQgdikgeworYm9vbDMgaXNub3JtYWwoZmxvYXQzIHgpIHsKICAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh4
eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci54eHoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
ejsKKyAgICByZXN1bHRbMF0gPSBpc25vcm1hbCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc25v
cm1hbCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc25vcm1hbCh4WzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHh6KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueHh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh4eihmbG9hdDQgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl4eSAqLwotYm9vbDMgb3BlcmF0b3IueXh5KGJvb2wyIHYpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJh
dG9yLnl4eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXh5KHVpbnQy
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnl4eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eHkodWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55
eHkoaW50MiB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDMgb3BlcmF0b3IueXh5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4eShpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnl4eShmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXh5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgY291bnRfYml0cyAqLwotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXl6ICovCi1ib29sMyBvcGVyYXRvci55eXooYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iu
eXl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXoodWludDQgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBv
cGVyYXRvci55eXooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl6KGludDQgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnl5eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4
ICovCi1ib29sMiBvcGVyYXRvci53eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MiBvcGVyYXRvci53eCh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQyIG9wZXJhdG9yLnd4KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDIgb3BlcmF0b3Iud3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OworYm9vbDQgaXNub3JtYWwoZmxv
YXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNu
b3JtYWwoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gaXNub3JtYWwoeFszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4d3o9ICovCi1ib29s
NCBvcGVyYXRvci55eHd6PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQu
dyA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXh3ej0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXh3ej0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0Lncg
PSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55eHd6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1
bHQudyA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQog
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHggKi8KLWJvb2wyIG9wZXJhdG9yLnh4KGJv
b2wyIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnh4KGJv
b2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnh4KGJv
b2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnh4KHVp
bnQyIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnh4KHVp
bnQzIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnh4KHVp
bnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IueHgoaW50
MiB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IueHgoaW50MyB2
KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IueHgoaW50NCB2KSB7
Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDIgdikg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDMg
dikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9h
dDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBuYW1lZCBJ
bnRlcmxvY2tlZEV4Y2hhbmdlICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRl
dmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Citu
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQs
IGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZGdyb3VwIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRn
cm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3Vp
bnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5n
ZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhy
ZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRn
cm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd6eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnd6eXcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd6eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53
enl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorLyogRnVuY3Rpb25zIG5hbWVkIEdldERpbWVu
c2lvbnMgKi8KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dD4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKIAotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp4enkoYm9vbDMgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56eHp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4
enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHp5KGludDMgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56eHp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnp4enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3h4ICovCi1ib29sNCBv
cGVyYXRvci56d3h4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHgo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3h4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIHJzcXJ0ICovCi1mbG9hdCByc3FydChmbG9hdCB4KSB7Ci0gICAgcmV0
dXJuIDEgLyBzcXJ0KHgpOwotfQotZmxvYXQyIHJzcXJ0KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBy
c3FydCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHJzcXJ0KGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSByc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByc3FydCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByc3FydCh4WzJdKTsKLSAgICByZXN1bHRb
M10gPSByc3FydCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcnNxcnQo
ZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
c3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4
WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgcnNxcnQoZmxvYXQyeDMg
eCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
c3FydCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcnNxcnQoZmxv
YXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3Fy
dCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgcnNxcnQoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3Fy
dCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDMgcnNxcnQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDQgcnNxcnQoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3Fy
dCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgcnNxcnQoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3Fy
dCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcnNxcnQoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3Fy
dCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
c3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByc3FydCh4WzNdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcnNxcnQoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0
NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBy
c3FydCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNdKTsKLSAgICByZXN1bHRb
M11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSByc3FydCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10g
PSByc3FydCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueiAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3Iueihib29sMyk7Ci1uYXRp
dmUgYm9vbCBvcGVyYXRvci56KGJvb2w0KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnoodWludDMp
OwotbmF0aXZlIHVpbnQgb3BlcmF0b3Iueih1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnoo
aW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnooaW50NCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0
b3IueihmbG9hdDMpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnooZmxvYXQ0KTsKLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXg9ICovCi1ib29sNCBvcGVyYXRvci53enl4PShib29s
NCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQu
eCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p5eD0odWlu
dDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eD0oaW50
NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0Lngg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enl4PShmbG9h
dDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1
bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXl4dyAqLwotYm9vbDQgb3BlcmF0b3IueXl4dyhib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXl4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3og
Ki8KLWJvb2wzIG9wZXJhdG9yLnp3eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56d3oodWludDQgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci56d3ooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eXd6ICovCi1ib29sNCBvcGVyYXRvci56eXd6KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56eXd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl3eihmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp5
d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl3dyh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56eXd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueHd6PSAqLwotYm9vbDQgb3BlcmF0b3IueHd6PShib29sNCB2LCBib29sMyBj
KSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1
bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHd6PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1
bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3o9KGlu
dDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl4dyAqLwotYm9vbDQgb3BlcmF0b3IueHl4dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHl4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnh5eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53enk9ICovCi1ib29sNCBvcGVyYXRvci53enk9KGJvb2w0IHYsIGJvb2wzIGMp
IHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53enk9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3Vs
dC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eT0oaW50
NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHp4ICovCi1ib29sNCBvcGVyYXRvci54eHp4KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4engoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3IueHh6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54eHp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh6eChp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh6eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eHp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXd4eiAqLwotYm9vbDQgb3BlcmF0b3IueXd4eihib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55d3h6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXd4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3
eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci54eXh6ICovCi1ib29sNCBvcGVyYXRvci54eXh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnh5eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eHl4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHl4eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXh6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCog
V2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgc3FydCAqLwotZmxvYXQgc3FydChmbG9hdCB4KSB7Ci0g
ICAgcmV0dXJuIHBvdyh4LCAwLjUpOwotfQotZmxvYXQyIHNxcnQoZmxvYXQyIHgpIHsKLSAgICBm
bG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNxcnQoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gc3FydCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHNxcnQoZmxvYXQz
IHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNxcnQoeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgc3FydChmbG9hdDQgeCkgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBz
cXJ0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNxcnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0g
c3FydCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgc3FydChmbG9hdDJ4
MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHNxcnQoZmxvYXQyeDMgeCkgewotICAgIGZs
b2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgc3FydChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxv
YXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4
WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4
KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhb
Ml1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBzcXJ0KGZsb2F0M3gzIHgp
IHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHNxcnQoZmxvYXQzeDQgeCkgewotICAgIGZs
b2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNxcnQo
eFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgc3FydChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNx
cnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgc3FydChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IHNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBzcXJ0KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4NCBzcXJ0KGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c3FydCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVsw
XSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNxcnQo
eFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBzcXJ0KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzNdID0gc3FydCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgYWNvcyAqLwotbmF0aXZlIGZsb2F0IGFjb3Mo
ZmxvYXQpOwotZmxvYXQyIGFjb3MoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGFjb3MoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYWNv
cyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhY29zKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgYWNvcyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYWNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhY29zKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGFjb3MoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYWNvcyh4WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgYWNvcyhmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQy
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngzIGFjb3MoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3Mo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyeDQgYWNvcyhmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGFjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFj
b3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYWNvcyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNv
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBhY29zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29z
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0M3g0IGFjb3MoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3Mo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBhY29zKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBh
Y29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gYWNvcyh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgYWNvcyhm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFj
b3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFjb3MoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDMgYWNvcyhmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhY29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFjb3MoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhY29z
KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBhY29zKGZsb2F0NHg0
IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3Mo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBhY29zKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBh
Y29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11b
MV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNd
ID0gYWNvcyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHl3dyAqLwotYm9vbDQgb3BlcmF0b3IueHl3dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHl3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5
d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcj4gKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yPihpbnQs
IGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcj4odWludCwgdWludCk7Ci1uYXRpdmUgYm9vbCBv
cGVyYXRvcj4oZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj4odWludDIsIHVp
bnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj4odWludDMsIHVpbnQzKTsKLW5hdGl2ZSBib29s
NCBvcGVyYXRvcj4odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj4oaW50Miwg
aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I+KGludDMsIGludDMpOwotbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPihpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj4oZmxvYXQyLCBm
bG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPihmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUg
Ym9vbDQgb3BlcmF0b3I+KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9y
PihmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I+KGZsb2F0Mngz
LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcj4oZmxvYXQyeDQsIGZsb2F0Mng0
KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPihmbG9hdDN4MiwgZmxvYXQzeDIpOwotbmF0aXZl
IGJvb2wzeDMgb3BlcmF0b3I+KGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgYm9vbDN4NCBv
cGVyYXRvcj4oZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPihm
bG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I+KGZsb2F0NHgzLCBm
bG9hdDR4Myk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj4oZmxvYXQ0eDQsIGZsb2F0NHg0KTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yJiAq
LwotYm9vbCBvcGVyYXRvciYoYm9vbCBhLCBib29sIGIpIHsKLSAgICByZXR1cm4gYSAmJiBiOwot
fQotbmF0aXZlIGludCBvcGVyYXRvciYoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3Im
KHVpbnQsIHVpbnQpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5eiAqLwot
Ym9vbDQgb3BlcmF0b3Iuenh5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci56eHl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eXoodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh5eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3Iuenh5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXooZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh5eihmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnp5enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp5enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbDQgb3BlcmF0b3Iuenl6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56eXp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5enkodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXp5KGludDMgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp5enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci56eXp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5enkoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHl3
ICovCi1ib29sNCBvcGVyYXRvci55eHl3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnl4eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHl3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eHogKi8KLWJvb2w0IG9w
ZXJhdG9yLnp3eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend4eih1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eHooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3h6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eSAqLwotYm9vbDQgb3BlcmF0b3Iud3d4eShi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3h5KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd3eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eCAqLwotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDIgdikgewotICAgIGJv
b2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDMgdikgewotICAgIGJv
b2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDQgdikgewotICAgIGJv
b2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXgodWludDIgdikgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXgodWludDMgdikgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXgodWludDQgdikgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eChpbnQyIHYpIHsKLSAgICBpbnQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eChpbnQzIHYpIHsKLSAgICBpbnQyIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eChpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgdGFuaCAqLwotbmF0aXZl
IGZsb2F0IHRhbmgoZmxvYXQpOwotZmxvYXQyIHRhbmgoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gdGFu
aCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHRhbmgoZmxvYXQzIHgpIHsK
LSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbmgoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gdGFuaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0YW5oKHhbMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgdGFuaChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gdGFuaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0YW5oKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IHRhbmgoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gdGFuaCh4
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgdGFuaChmbG9hdDJ4MiB4KSB7
Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHRhbmgoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0Mngz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRh
bmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgdGFuaChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgdGFuaChmbG9hdDN4MiB4KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5o
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyB0YW5oKGZsb2F0M3gzIHgpIHsKLSAg
ICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0
YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHRhbmgoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRh
bmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0eDMgdGFuaChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
dGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSB0YW5oKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCB0
YW5oKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHRh
bmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVsz
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSB0YW5oKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWQgdWludCogV2lk
dGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWQg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+
LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXh6PSAqLwotYm9vbDMgb3BlcmF0b3IueXh6PShib29sMyB2LCBib29sMyBjKSB7
Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDQgb3BlcmF0b3IueXh6PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQu
eiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXh6PSh1aW50
MyB2LCB1aW50MyBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMu
eTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci55eHo9KGludDMgdiwgaW50MyBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4ej0oaW50NCB2LCBpbnQzIGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyBvcGVyYXRvci55eHo9KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6
PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3h6eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnd4enk9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHp5PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMu
eTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHp5PShpbnQ0IHYsIGludDQgYykgewotICAgIGlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4enk9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0g
Yy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvciogKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3IqKGludCwgaW50KTsKLW5hdGl2ZSB1
aW50IG9wZXJhdG9yKih1aW50LCB1aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvciooZmxvYXQs
IGZsb2F0KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1
aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50
LCB1aW50Mik7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUg
dWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvcioodWlu
dCwgdWludDMpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludDQpOwotbmF0aXZl
IHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IqKHVp
bnQsIHVpbnQ0KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQyKTsKLW5hdGl2ZSBp
bnQyIG9wZXJhdG9yKihpbnQyLCBpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IqKGludCwgaW50
Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRvciooaW50MywgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVy
YXRvciooaW50MywgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQsIGludDMpOwotbmF0
aXZlIGludDQgb3BlcmF0b3IqKGludDQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IqKGlu
dDQsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvciooaW50LCBpbnQ0KTsKLW5hdGl2ZSBmbG9h
dDIgb3BlcmF0b3IqKGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZs
b2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mik7Ci1u
YXRpdmUgZmxvYXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzIG9w
ZXJhdG9yKihmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0LCBm
bG9hdDMpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZl
IGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9y
KihmbG9hdCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZs
b2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0KTsKLW5h
dGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4
MyBvcGVyYXRvciooZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRv
ciooZmxvYXQyeDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQsIGZs
b2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0Mng0KTsK
LW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9h
dDJ4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRv
ciooZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQz
eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3gyKTsK
LW5hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBm
bG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4MyBvcGVy
YXRvciooZmxvYXQsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQz
eDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0
KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBm
bG9hdDR4MiBvcGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MiBv
cGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxv
YXQsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0
NHgzKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0KTsKLW5hdGl2
ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBv
cGVyYXRvciooZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcioo
ZmxvYXQ0eDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0
NHg0KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvcyAq
LwotbmF0aXZlIGZsb2F0IGNvcyhmbG9hdCk7Ci1mbG9hdDIgY29zKGZsb2F0MiB4KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gY29zKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgY29zKGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gY29zKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGNvcyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gY29zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvcyh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBjb3MoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gY29zKHhbM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBjb3MoZmxvYXQyeDIgeCkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3Mo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDJ4NCBjb3MoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBj
b3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MiBjb3MoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgY29zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsy
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGNvcyhmbG9hdDN4NCB4KSB7
Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29z
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3Mo
eFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBj
b3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsKLSAg
ICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSBjb3MoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enp3ICov
Ci1ib29sNCBvcGVyYXRvci56enp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp6encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp3KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp6dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl5d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXl3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5
d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXd5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp3eT0gKi8KLWJv
b2w0IG9wZXJhdG9yLnh6d3k9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3Vs
dC53ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54end5PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1
bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54end5PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQu
dyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnh6d3k9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJl
c3VsdC53ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3p6ICovCi1ib29sNCBvcGVyYXRvci55
d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3enoodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3p6KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueXd6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenc9KGJvb2w0IHYsIGJv
b2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAg
IHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56
dz0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iuenc9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenc9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZs
b2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
enh6ICovCi1ib29sNCBvcGVyYXRvci54enh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnh6eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4
eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enh6KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54enh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp4
eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enh6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I9PSAqLwotbmF0
aXZlIGJvb2wgb3BlcmF0b3I9PShib29sLCBib29sKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0o
aW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I9PSh1aW50LCB1aW50KTsKLW5hdGl2ZSBi
b29sIG9wZXJhdG9yPT0oZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGJv
b2wyLCBib29sMik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I9PShib29sMywgYm9vbDMpOwotbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPT0oYm9vbDQsIGJvb2w0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cj09KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I9PSh1aW50MywgdWludDMp
OwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBv
cGVyYXRvcj09KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPT0oaW50MywgaW50
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I9PShpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBv
cGVyYXRvcj09KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj09KGZsb2F0
MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj09KGZsb2F0NCwgZmxvYXQ0KTsKLW5h
dGl2ZSBib29sMngyIG9wZXJhdG9yPT0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29s
MngzIG9wZXJhdG9yPT0oZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBib29sMng0IG9wZXJh
dG9yPT0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0oZmxv
YXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oZmxvYXQzeDMsIGZs
b2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPT0oZmxvYXQzeDQsIGZsb2F0M3g0KTsK
LW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPT0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBi
b29sNHgzIG9wZXJhdG9yPT0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29sNHg0IG9w
ZXJhdG9yPT0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPT0o
Ym9vbDJ4MiwgYm9vbDJ4Mik7Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcj09KGJvb2wyeDMsIGJv
b2wyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9PShib29sMng0LCBib29sMng0KTsKLW5h
dGl2ZSBib29sM3gyIG9wZXJhdG9yPT0oYm9vbDN4MiwgYm9vbDN4Mik7Ci1uYXRpdmUgYm9vbDN4
MyBvcGVyYXRvcj09KGJvb2wzeDMsIGJvb2wzeDMpOwotbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9
PShib29sM3g0LCBib29sM3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPT0oYm9vbDR4Miwg
Ym9vbDR4Mik7Ci1uYXRpdmUgYm9vbDR4MyBvcGVyYXRvcj09KGJvb2w0eDMsIGJvb2w0eDMpOwot
bmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I9PShib29sNHg0LCBib29sNHg0KTsKIAotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yPj4gKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3I+PihpbnQsIHVpbnQp
OwotbmF0aXZlIHVpbnQgb3BlcmF0b3I+Pih1aW50LCB1aW50KTsKLQotLyogRnVuY3Rpb25zIG5h
bWVkIHJlZmxlY3QgKi8KLWZsb2F0IHJlZmxlY3QoZmxvYXQgaSwgZmxvYXQgbikgewotICAgIHJl
dHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19Ci1mbG9hdDIgcmVmbGVjdChmbG9hdDIgaSwg
ZmxvYXQyIG4pIHsKLSAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4pOwotfQotZmxvYXQz
IHJlZmxlY3QoZmxvYXQzIGksIGZsb2F0MyBuKSB7Ci0gICAgcmV0dXJuIGkgLSAyICogbiAqIGRv
dChpLCBuKTsKLX0KLWZsb2F0NCByZWZsZWN0KGZsb2F0NCBpLCBmbG9hdDQgbikgewotICAgIHJl
dHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19CiAKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnd3eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd3eHcoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3Iud3d4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnd3eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3h3KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp5eiAq
LwotYm9vbDQgb3BlcmF0b3IueHp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eXoodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHp5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eXooZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGxpdCAqLwotZmxvYXQ0IGxpdChmbG9h
dCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7Ci0gICAgZmxvYXQgYW1iaWVudCA9
IDE7Ci0gICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKLSAgICBmbG9hdCBzcGVj
dWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90X2ggKiBtOwotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSBhbWJpZW50OwotICAgIHJlc3VsdC55ID0g
ZGlmZnVzZTsKLSAgICByZXN1bHQueiA9IHNwZWN1bGFyOwotICAgIHJlc3VsdC53ID0gMTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZpY2UgdWludCog
V2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZp
Y2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwogCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHd4ICovCi1ib29sNCBv
cGVyYXRvci55eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIGxvZzIgKi8KLWZsb2F0IGxvZzIoZmxvYXQgeCkgewotICAgIHJl
dHVybiBsb2coeCkgLyBsb2coZmxvYXQoMikpOwotfQotZmxvYXQyIGxvZzIoZmxvYXQyIHgpIHsK
LSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZzIoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGxvZzIo
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZzIoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2cyKHhb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbG9nMihmbG9hdDQgeCkgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBsb2cyKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gbG9nMih4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbG9nMihm
bG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxv
ZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgewot
ICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9n
Mih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMihmbG9hdDJ4NCB4KSB7Ci0g
ICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cy
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
bG9nMih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbG9nMihmbG9h
dDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cyKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBsb2cyKGZsb2F0
M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGxvZzIoZmxvYXQzeDQgeCkgewot
ICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9n
Mih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGxvZzIoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0eDIgbG9nMihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbG9nMihmbG9hdDR4MyB4KSB7Ci0gICAgZmxv
YXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4NCBsb2cyKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gbG9nMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGxvZzIoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZzIoeFsz
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbG9nMih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgbm9ybWFsaXplICovCi1mbG9hdCBub3JtYWxp
emUoZmxvYXQgeCkgewotICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQyIG5vcm1h
bGl6ZShmbG9hdDIgeCkgewotICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQzIG5v
cm1hbGl6ZShmbG9hdDMgeCkgewotICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQ0
IG5vcm1hbGl6ZShmbG9hdDQgeCkgewotICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQorbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwogCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBsZGV4cCAqLwotZmxvYXQgbGRleHAoZmxvYXQgeCwgZmxvYXQgZSkgewotICAg
IHJldHVybiB4ICogcG93KDIsIGUpOwotfQotZmxvYXQyIGxkZXhwKGZsb2F0MiB4LCBmbG9hdDIg
eSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbGRleHAoeFswXSwgeVsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGxkZXhwKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhbMl0sIHlbMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbGRleHAoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsZGV4cCh4WzBdLCB5WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsZGV4
cCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBsZGV4cCh4WzNdLCB5WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbGRleHAoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDMgbGRleHAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbGRleHAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewot
ICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzeDIgbGRleHAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0
M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4
cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbGRleHAoZmxvYXQzeDMgeCwgZmxvYXQzeDMg
eSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBd
WzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBs
ZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDQgbGRleHAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBd
WzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBs
ZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBd
LCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0eDIgbGRleHAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFd
WzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBs
ZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
bGRleHAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBs
ZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQg
bGRleHAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFd
WzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBs
ZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBd
LCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRb
M11bM10gPSBsZGV4cCh4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp3eiAqLwotYm9vbDQgb3BlcmF0b3Iu
eHp3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54end6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnh6d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl4ICovCi1ib29sNCBv
cGVyYXRvci53eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4eXgo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHl4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHco
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd4dyh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3h3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenl5eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl5eihib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp5eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enl5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXooaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp5eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGFi
cyAqLwotdWludCBhYnModWludCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1pbnQgYWJzKGludCB4
KSB7Ci0gICAgaWYgKHggPCAwKQotICAgICAgICByZXR1cm4gLXg7Ci0gICAgcmV0dXJuIHg7Ci19
Ci1mbG9hdCBhYnMoZmxvYXQgeCkgewotICAgIGlmICh4IDwgMCkKLSAgICAgICAgcmV0dXJuIC14
OwotICAgIHJldHVybiB4OwotfQotdWludDIgYWJzKHVpbnQyIHgpIHsKLSAgICB1aW50MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgYWJzKHVpbnQzIHgpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFi
cyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IGFicyh1aW50NCB4KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYWJzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MiBhYnMoaW50MiB4KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBhYnMoaW50MyB4KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgYWJzKGludDQg
eCkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJl
c3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIGFicyhm
bG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIGFicyhmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBh
YnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBhYnMoZmxvYXQ0IHgpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgYWJzKGZs
b2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJz
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBhYnMoZmxvYXQyeDMgeCkgewotICAgIGZs
b2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
YWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYWJzKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
YnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFi
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBh
YnMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
YWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYWJzKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBhYnMoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGFicyhm
bG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFi
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJz
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhYnMo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwotICAgIHJlc3VsdFsz
XVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGFicyh4
WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53d3l5ICovCi1ib29sNCBvcGVyYXRvci53d3l5KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnd3eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci53d3l5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eShmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIHJvdW5kICovCi1uYXRp
dmUgZmxvYXQgcm91bmQoZmxvYXQpOwotZmxvYXQyIHJvdW5kKGZsb2F0MiB4KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByb3VuZCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHJvdW5kKGZsb2F0
MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKLSAgICByZXN1
bHRbM10gPSByb3VuZCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcm91
bmQoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3Vu
ZCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgcm91bmQoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcm91bmQo
ZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzeDIgcm91bmQoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
b3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBy
b3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBy
b3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBy
b3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcm91bmQoZmxvYXQ0eDMgeCkgewot
ICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBy
b3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSByb3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQgeCkgewotICAgIGZs
b2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSByb3VuZCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3Vu
ZCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXN1
bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSByb3VuZCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgbXVsICovCi11aW50IG11bCh1aW50IHgsIHVpbnQgeSkgewotICAgIHJldHVybiB4
ICogeTsKLX0KLWludCBtdWwoaW50IHgsIGludCB5KSB7Ci0gICAgcmV0dXJuIHggKiB5OwotfQot
ZmxvYXQgbXVsKGZsb2F0IHgsIGZsb2F0IHkpIHsKLSAgICByZXR1cm4geCAqIHk7Ci19Ci11aW50
MiBtdWwodWludCB4LCB1aW50MiB5KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7Ci0gICAgdWludDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBtdWwodWludCB4LCB1aW50MyB5KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHgg
KiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3Vs
dFsyXSA9IHhbMl0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBtdWwodWludCB4
LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwot
ICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBt
dWwodWludDQgeCwgdWludCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhb
Ml0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQyIG11bChpbnQgeCwgaW50MiB5KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAqIHlbMV07Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDIgbXVsKGludDIgeCwgaW50IHkpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBtdWwoaW50IHgsIGludDMgeSkgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFd
OwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQz
IG11bChpbnQzIHgsIGludCB5KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
eFswXSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdID0geFsy
XSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgbXVsKGludCB4LCBpbnQ0IHkpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRb
MV0gPSB4ICogeVsxXTsKLSAgICByZXN1bHRbMl0gPSB4ICogeVsyXTsKLSAgICByZXN1bHRbM10g
PSB4ICogeVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBtdWwoaW50NCB4LCBpbnQg
eSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJl
c3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3Vs
dFszXSA9IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0
IHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4ICog
eVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0geFswXSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHgg
KiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgbXVsKGZsb2F0MyB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICBy
ZXN1bHRbMl0gPSB4WzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG11bChm
bG9hdCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
eCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAqIHlbMV07Ci0gICAgcmVzdWx0WzJdID0geCAq
IHlbMl07Ci0gICAgcmVzdWx0WzNdID0geCAqIHlbM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBtdWwoZmxvYXQ0IHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJl
c3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQgeCwgZmxvYXQyeDIgeSkgewotICAgIGZs
b2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsK
LSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG11bChm
bG9hdCB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAg
IHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9
IHggKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtdWwoZmxvYXQy
eDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1
bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsK
LSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFd
WzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbXVsKGZsb2F0IHgsIGZs
b2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eCAqIHlbMV1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IG11bChmbG9hdDJ4
NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3Vs
dFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5Owot
ICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV0gKiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVsz
XSA9IHhbMV1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxv
YXQgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4
ICogeVsyXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbXVsKGZsb2F0M3gy
IHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
eFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzFdID0geFsyXVsx
XSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIG11bChmbG9hdCB4LCBmbG9h
dDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsy
XSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJl
c3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHgg
KiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0
M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRb
MF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAg
ICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFd
ICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMl1bMF0g
PSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKLSAgICByZXN1
bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQg
bXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAq
IHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1b
MF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0g
eCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3Vs
dFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5Owot
ICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1b
MF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVsy
XSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OwotICAgIHJl
c3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5
OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwotICAgIHJlc3VsdFsyXVszXSA9IHhb
Ml1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQgeCwg
ZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsy
XVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0g
PSB4ICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbXVsKGZsb2F0
NHgyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVz
dWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzFdID0geFsy
XVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNd
WzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIG11bChm
bG9hdCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAg
IHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9
IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwot
ICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IHggKiB5
WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0NHgz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICog
eTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMl1bMF0gPSB4
WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKLSAgICByZXN1bHRb
Ml1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKLSAg
ICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICByZXN1bHRbM11bMl0gPSB4WzNdWzJd
ICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbXVsKGZsb2F0IHgsIGZsb2F0
NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107Ci0gICAgcmVz
dWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJd
WzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11b
MF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0g
eCAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0geCAqIHlbM11bM107Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxv
YXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3Vs
dFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5Owot
ICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1b
MF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVsy
XSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OwotICAgIHJl
c3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5
OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwotICAgIHJlc3VsdFsyXVszXSA9IHhb
Ml1bM10gKiB5OwotICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OwotICAgIHJlc3VsdFsz
XVsxXSA9IHhbM11bMV0gKiB5OwotICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OwotICAg
IHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
IG11bCh1aW50MiB4LCB1aW50MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLXVpbnQg
bXVsKHVpbnQzIHgsIHVpbnQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkpOwotfQotdWludCBt
dWwodWludDQgeCwgdWludDQgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19Ci1pbnQgbXVs
KGludDIgeCwgaW50MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLWludCBtdWwoaW50
MyB4LCBpbnQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkpOwotfQotaW50IG11bChpbnQ0IHgs
IGludDQgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19Ci1mbG9hdCBtdWwoZmxvYXQyIHgs
IGZsb2F0MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLWZsb2F0IG11bChmbG9hdDMg
eCwgZmxvYXQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkpOwotfQotZmxvYXQgbXVsKGZsb2F0
NCB4LCBmbG9hdDQgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19Ci1mbG9hdDIgbXVsKGZs
b2F0MiB4LCBmbG9hdDJ4MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFd
ID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0
MiB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAw
OwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXSAr
PSB4WzFdICogeVsxXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9h
dDJ4MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
MDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1
bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRb
MV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4NCB5KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSAr
PSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0IHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlb
Ml07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsxXSA9IDA7
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVs
KGZsb2F0MyB4LCBmbG9hdDN4MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1b
MV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQzeDIgeCwgZmxvYXQy
IHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsK
LSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAg
ICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICBy
ZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5
WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0MyB4LCBmbG9hdDN4
MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3Vs
dFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJd
ID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9
IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9hdDN4MyB4LCBmbG9hdDMgeSkgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFsw
XVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsx
XSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0g
ICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAg
cmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICog
eVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsy
XSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsx
XSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSAr
PSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07Ci0gICAg
cmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVz
dWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXSArPSB4WzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVz
dWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsx
XTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzJdICs9IHhb
Ml1bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0NCB4
LCBmbG9hdDR4MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XSArPSB4WzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsz
XVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG11bChmbG9hdDR4MiB4LCBmbG9h
dDIgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1
bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAg
IHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAq
IHlbMV07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKLSAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJl
c3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1b
Ml07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4
WzNdICogeVszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG11bChmbG9hdDR4
MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsK
LSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1b
MV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlb
Ml07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07
Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOwotICAgIHJlc3VsdFszXSArPSB4WzNd
WzJdICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG11bChmbG9hdDQgeCwg
ZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAg
ICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0g
eFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11b
MV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0
WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNd
ICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSArPSB4WzJdICogeVsyXVszXTsKLSAg
ICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlb
Ml07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsxXSA9IDA7
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFd
WzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJd
ICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10g
KiB5WzNdOwotICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5
WzBdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzFdICogeVsxXTsKLSAgICByZXN1bHRbM10gKz0g
eFszXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bM10gKiB5WzNdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MngzIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwgZmxvYXQyeDQgeSkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0g
MDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1b
Ml07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAq
IHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBt
dWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3g0IHkp
IHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
M107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJl
c3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsK
LSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNd
ICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAw
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgzIHkpIHsKLSAg
ICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBd
WzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0g
ICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAq
IHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0g
KiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQyeDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVsz
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsy
XSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOwotICAg
IHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1b
M107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZs
b2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsx
XVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVsKGZsb2F0M3gyIHgsIGZs
b2F0MngzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4MiB4LCBmbG9hdDJ4NCB5KSB7Ci0g
ICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsw
XVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVsw
XVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0
WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10gKz0g
eFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzNd
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDMgeCwgZmxvYXQz
eDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1b
MF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsy
XVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0M3g0IG11bChmbG9hdDN4MyB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
MDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICog
eVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAq
IHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0g
KiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNd
ID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJd
ICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4
WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsy
XSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0g
eFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1b
M10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1
bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1b
Ml0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQz
eDQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICog
eVszXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwot
ICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRb
Ml1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgz
IHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFd
ID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlb
M11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzJd
WzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0g
ICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAq
IHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11
bChmbG9hdDN4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNd
WzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsy
XSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5
WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICog
eVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwot
ICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10g
KiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bM10gKiB5WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBt
dWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFd
ID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11b
MF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtdWwo
ZmxvYXQ0eDIgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
MDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMF0g
PSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAw
OwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1
bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
MV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJl
c3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdWzBd
ID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsy
XSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlb
MV1bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0gMDsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsw
XSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDIgeSkg
ewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJl
c3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
M11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07
Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSAr
PSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1b
MF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwot
ICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0g
Kz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJd
WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBtdWwoZmxvYXQ0eDMgeCwgZmxv
YXQzeDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsK
LSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsy
XVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBd
ICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0g
MDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1bHRbMl1bM10gKz0geFsy
XVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbM11bMF0g
PSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzJd
ID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSArPSB4
WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsx
XTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJl
c3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0g
PSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
M11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMl0g
KiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNdICogeVszXVsxXTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NHgzIHkpIHsK
LSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0
WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07
Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsz
XSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0g
MDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11b
MV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0g
Kz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzJd
ID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVszXSAqIHlbM11bMl07Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7
Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJd
OwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJl
c3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNd
WzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVsz
XSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsy
XSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzNdOwotICAg
IHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11b
MF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFszXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAqIHlbMl1b
M107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNdWzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eXc9ICovCi1ib29s
NCBvcGVyYXRvci54enl3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQu
eSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueHp5dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0
LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHp5dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lnkg
PSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54enl3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1
bHQueSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4dyAqLwotYm9vbDQgb3BlcmF0b3Iud3l4
dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXh3KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd5eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56eHh6ICovCi1ib29sNCBvcGVyYXRvci56eHh6KGJvb2wzIHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3Iuenh4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56eHh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh4eihpbnQzIHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh6KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iuenh4eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56eHh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXl4eCAqLwotYm9vbDQgb3BlcmF0b3IueXl4eChib29sMiB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55eXh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnl5eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eCh1
aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXh4KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci55eXh4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5eHgo
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl4eChpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXl4eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci55eXh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iud3d3ICovCi1ib29sMyBvcGVyYXRvci53d3coYm9vbDQgdikgewotICAgIGJvb2wzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iud3d3KHVp
bnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgb3BlcmF0b3Iud3d3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3d3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgcmFkaWFucyAqLwotZmxvYXQgcmFkaWFucyhmbG9hdCB4KSB7Ci0gICAgcmV0dXJu
IHggKiAzLjE0MTU5IC8gMTgwOwotfQotZmxvYXQyIHJhZGlhbnMoZmxvYXQyIHgpIHsKLSAgICBm
bG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gcmFkaWFucyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHJhZGlh
bnMoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJhZGlh
bnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSByYWRpYW5zKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgcmFkaWFucyhm
bG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcmFkaWFucyh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHJh
ZGlhbnMoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcmFkaWFucyh4WzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDIgcmFkaWFucyhmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngzIHJhZGlhbnMoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0Mngz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4
WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcmFkaWFucyhmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgcmFkaWFucyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQz
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5z
KHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyByYWRpYW5zKGZsb2F0
M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmFkaWFu
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlh
bnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHJhZGlh
bnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJhZGlh
bnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlh
bnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFkaWFucyh4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRp
YW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRp
YW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFk
aWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFk
aWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFk
aWFucyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCByYWRpYW5zKGZsb2F0NHg0IHgpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJh
ZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJh
ZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHJh
ZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJh
ZGlhbnMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJh
ZGlhbnMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gcmFkaWFucyh4WzNdWzNdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5PSAq
LwotYm9vbDQgb3BlcmF0b3Iuend5PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICBy
ZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend5
PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3k9KGludDQgdiwgaW50MyBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iuend5PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQu
eSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgY2Vp
bCAqLwotbmF0aXZlIGZsb2F0IGNlaWwoZmxvYXQpOwotZmxvYXQyIGNlaWwoZmxvYXQyIHgpIHsK
LSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gY2VpbCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGNlaWwo
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGNlaWwoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBjZWlsKHhb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgY2VpbChmbG9hdDQgeCkgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gY2VpbCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBjZWlsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNlaWwoeFsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gY2VpbCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgY2VpbChm
bG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGNlaWwoZmxvYXQyeDMgeCkgewot
ICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2Vp
bCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7Ci0g
ICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWls
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
Y2VpbCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgY2VpbChmbG9h
dDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBj
ZWlsKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBjZWlsKGZsb2F0
M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNl
aWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGNlaWwoZmxvYXQzeDQgeCkgewot
ICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2Vp
bCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGNlaWwoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0eDIgY2VpbChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Y2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVsw
XSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgY2VpbChmbG9hdDR4MyB4KSB7Ci0gICAgZmxv
YXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4NCBjZWlsKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gY2VpbCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY2Vp
bCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGNlaWwoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY2VpbCh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNlaWwoeFsz
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY2VpbCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3eD0gKi8KLWJvb2w0IG9w
ZXJhdG9yLnp5d3g9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0g
Yy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56eXd4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9
IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci56eXd4PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMu
ejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnp5d3g9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53
ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55ej0gKi8KLWJvb2wzIG9wZXJhdG9yLnl6PShib29s
MyB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3IueXo9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci55ej0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6PSh1aW50NCB2LCB1aW50MiBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQu
eiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55ej0oaW50MyB2
LCBpbnQyIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55
ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3IueXo9KGZsb2F0MyB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0MyByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXo9KGZsb2F0NCB2LCBmbG9hdDIgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56
ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhc2lu
ICovCi1uYXRpdmUgZmxvYXQgYXNpbihmbG9hdCk7Ci1mbG9hdDIgYXNpbihmbG9hdDIgeCkgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbih4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBhc2luKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgYXNpbihm
bG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbih4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFzaW4oeFsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBhc2luKGZsb2F0NCB4KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2luKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGFzaW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNpbih4WzJdKTsKLSAgICByZXN1bHRb
M10gPSBhc2luKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBhc2luKGZs
b2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgYXNpbihmbG9hdDJ4MyB4KSB7Ci0g
ICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2lu
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgpIHsKLSAg
ICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4o
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBh
c2luKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBhc2luKGZsb2F0
M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFz
aW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGFzaW4oZmxvYXQz
eDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNp
bih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgYXNpbihmbG9hdDN4NCB4KSB7Ci0g
ICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2lu
KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
YXNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MiBhc2luKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
c2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBhc2luKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9h
dDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBhc2luKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhc2lu
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
YXNpbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGFzaW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNd
WzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhc2luKHhbM11bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3p3ICovCi1ib29sNCBvcGVy
YXRvci54d3p3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3encodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p3KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3encgKi8KLWJvb2w0IG9wZXJhdG9yLnl3encoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6dyh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci55d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenp5eiAqLwotYm9vbDQgb3BlcmF0b3Iuenp5eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp6eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp5
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnp6eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enp5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnp6enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbDQgb3BlcmF0b3Iuenp6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56enp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6enkodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp5KGludDMgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp6enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci56enp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6enkoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhc3VpbnQgKi8KLXVp
bnQgYXN1aW50KGludCB4KSB7Ci0gICAgcmV0dXJuIHVpbnQoeCk7Ci19Ci11aW50MiBhc3VpbnQo
aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIGFzdWludChpbnQzIHgpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IGFzdWlu
dChpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXN1aW50KHhb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc3Vp
bnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50IGFzdWludCh1aW50IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLXVpbnQyIGFz
dWludCh1aW50MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci11aW50MyBhc3VpbnQodWludDMgeCkg
ewotICAgIHJldHVybiB4OwotfQotdWludDQgYXN1aW50KHVpbnQ0IHgpIHsKLSAgICByZXR1cm4g
eDsKLX0KLW5hdGl2ZSB1aW50IGFzdWludChmbG9hdCk7Ci11aW50MiBhc3VpbnQoZmxvYXQyIHgp
IHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMg
YXN1aW50KGZsb2F0MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFz
dWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYXN1aW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBhc3VpbnQoZmxv
YXQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc3VpbnQo
eFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enh5ICovCi1ib29sNCBvcGVyYXRv
ci55enh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6eHkoYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4eSh1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXp4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh5KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4eShmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgcG93ICovCi1uYXRpdmUgZmxvYXQgcG93KGZsb2F0LCBmbG9hdCk7
Ci1mbG9hdDIgcG93KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFd
LCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHBvdyhmbG9hdDMgeCwgZmxv
YXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
cG93KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgcG93KGZsb2F0
NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcG93
KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcG93KHhbM10sIHlbM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBwb3coZmxvYXQyeDIgeCwgZmxvYXQy
eDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhb
MF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDJ4NCBwb3coZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3co
eFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBwb3coZmxvYXQzeDIgeCwgZmxv
YXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3co
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgcG93KGZsb2F0M3gzIHgsIGZs
b2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcG93
KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBv
dyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBw
b3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHBv
dyhmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBw
b3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
cG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBwb3coZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkg
ewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0s
IHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
MyBwb3coZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJd
LCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVsw
XSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcG93KGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1b
MF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsx
XVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBwb3coeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcG93KHhb
M11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzNdID0gcG93KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh3ICovCi1ib29sNCBvcGVyYXRvci56eHh3
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eHcodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iuenh4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnh6enogKi8KLWJvb2w0IG9wZXJhdG9yLnh6enooYm9vbDMgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54enp6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh6enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enp6KGludDMgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci54enp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnh6enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eHkgKi8KLWJvb2wzIG9wZXJhdG9yLnp4eShib29sMyB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eHko
Ym9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgb3BlcmF0b3Iuenh5KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eSh1aW50NCB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnp4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBvcGVyYXRvci56eHkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eHkoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3Iuenh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5eSAq
LwotYm9vbDQgb3BlcmF0b3Iud3h5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci53eHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h5eShpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4eXkoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXp4ICovCi1ib29sNCBvcGVy
YXRvci56eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp5engoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eCh1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iuenl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXp4KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl6eChmbG9hdDMgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4dyAqLwotYm9vbDQgb3BlcmF0b3IueHp4
dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enh3KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnh6eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54enc9ICovCi1ib29sNCBvcGVyYXRvci54enc9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6
dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enc9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCB0YW4gKi8KLW5hdGl2ZSBmbG9hdCB0YW4oZmxvYXQpOwotZmxv
YXQyIHRhbihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
dGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzIHRhbihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSB0YW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCB0YW4oZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gdGFuKHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IHRhbih4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgdGFuKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyB0YW4oZmxvYXQyeDMgeCkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgdGFuKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgdGFuKGZsb2F0M3gyIHgpIHsKLSAg
ICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIHRhbihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQz
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCB0YW4oZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0
YW4oeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHRh
bih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgdGFuKGZsb2F0NHgyIHgpIHsKLSAgICBm
bG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgdGFuKGZsb2F0NHgzIHgpIHsKLSAg
ICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IHRhbihmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbih4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gdGFuKHhbMl1bM10pOwotICAg
IHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW4oeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVsz
XSA9IHRhbih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgZm1hICovCi1mbG9hdCBmbWEoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeikgewotICAg
IHJldHVybiB4ICogeSArIHo7Ci19Ci1mbG9hdDIgZm1hKGZsb2F0MiB4LCBmbG9hdDIgeSwgZmxv
YXQyIHopIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZtYSh4WzBdLCB5
WzBdLCB6WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBmbWEoZmxvYXQzIHgsIGZsb2F0MyB5LCBmbG9hdDMg
eikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZm1hKHhbMF0sIHlbMF0s
IHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBmbWEoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gZm1hKHhbMF0sIHlbMF0sIHpbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmbWEoeFsyXSwgeVsy
XSwgelsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZm1hKHhbM10sIHlbM10sIHpbM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbWEoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxv
YXQyeDIgeikgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEo
eFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZtYShmbG9hdDJ4
MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1b
Ml0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBm
bWEoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewotICAgIGZsb2F0Mng0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBm
bWEoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgZm1hKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKLSAgICBm
bG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbWEo
eFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3g0IGZtYShmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7Ci0gICAgZmxvYXQz
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbWEo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBmbWEoZmxvYXQ0eDIgeCwg
ZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVsw
XSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBmbWEoZmxvYXQ0eDMgeCwg
ZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0
IHopIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZt
YSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsy
XVszXSwgeVsyXVszXSwgelsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNd
WzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwg
elszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZm1hKHhbM11bM10sIHlbM11bM10sIHpbM11b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBkZXRlcm1p
bmFudCAqLwotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQgeCkgewotICAgIHJldHVybiB4OwotfQot
ZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgewotICAgIHJldHVybiB4WzBdWzBdICogeFsx
XVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOwotfQotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQzeDMg
eCkgewotICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAqIHhbMl1bMl0gKwotICAgICAgICAg
ICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1bMF0gKwotICAgICAgICAgICB4WzBdWzJdICogeFsx
XVswXSAqIHhbMl1bMV0gLQotICAgICAgICAgICB4WzJdWzBdICogeFsxXVsxXSAqIHhbMF1bMl0g
LQotICAgICAgICAgICB4WzJdWzFdICogeFsxXVsyXSAqIHhbMF1bMF0gLQotICAgICAgICAgICB4
WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07Ci19Ci1mbG9hdCBkZXRlcm1pbmFudChmbG9hdDR4
NCB4KSB7Ci0gICAgZmxvYXQgcmVzdWx0OwotICAgIGZsb2F0M3gzIG1pbm9yOwotICAgIG1pbm9y
WzBdWzBdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsxXSA9IHhbMV1bMl07Ci0gICAgbWlub3Jb
MF1bMl0gPSB4WzFdWzNdOwotICAgIG1pbm9yWzFdWzBdID0geFsyXVsxXTsKLSAgICBtaW5vclsx
XVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOwotICAgIG1pbm9yWzJd
WzBdID0geFszXVsxXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Ci0gICAgbWlub3JbMl1b
Ml0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMF0gKiBkZXRlcm1pbmFu
dChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBdWzFdID0g
eFsxXVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3JbMV1bMF0gPSB4
WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKLSAgICBtaW5vclsxXVsyXSA9IHhb
Ml1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0geFsz
XVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0IC0g
eFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMF07
Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsK
LSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzFdOwot
ICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMF07Ci0g
ICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgKyB4WzBdWzJdICogZGV0ZXJtaW5hbnQobWlub3IpOwotICAgIG1p
bm9yWzBdWzBdID0geFsxXVswXTsKLSAgICBtaW5vclswXVsxXSA9IHhbMV1bMV07Ci0gICAgbWlu
b3JbMF1bMl0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzFdWzBdID0geFsyXVswXTsKLSAgICBtaW5v
clsxXVsxXSA9IHhbMl1bMV07Ci0gICAgbWlub3JbMV1bMl0gPSB4WzJdWzJdOwotICAgIG1pbm9y
WzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11bMV07Ci0gICAgbWlub3Jb
Ml1bMl0gPSB4WzNdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1bM10gKiBkZXRlcm1p
bmFudChtaW5vcik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXd4eSAqLwotYm9vbDQgb3BlcmF0b3IueXd4eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55d3h5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueXd4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3eHko
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBmbG9vciAqLwot
bmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KTsKLWZsb2F0MiBmbG9vcihmbG9hdDIgeCkgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBmbG9vcihm
bG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmxvb3IoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmxvb3Io
eFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBmbG9vcihmbG9hdDQgeCkgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7Ci0gICAg
cmVzdWx0WzNdID0gZmxvb3IoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mngy
IGZsb29yKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
Zmxvb3IoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZsb29yKGZs
b2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxv
b3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGZs
b29yKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxv
b3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIGZsb29yKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGZsb29yKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZsb29yKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxv
b3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgyIGZsb29yKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFsz
XVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGZsb29yKGZsb2F0NHgzIHgp
IHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxv
b3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZsb29yKGZsb2F0NHg0IHgpIHsKLSAg
ICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxv
b3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
Zmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3Io
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzNdID0gZmxvb3IoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIGNyb3NzICovCi1mbG9hdDMgY3Jvc3MoZmxvYXQzIHUsIGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHUueSAqIHYueiAtIHUueiAqIHYu
eTsKLSAgICByZXN1bHQueSA9IHUueiAqIHYueCAtIHUueCAqIHYuejsKLSAgICByZXN1bHQueiA9
IHUueCAqIHYueSAtIHUueSAqIHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3l6ICovCi1ib29sNCBvcGVyYXRvci54d3l6KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3eXoodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54d3l6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHd5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh4eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnh4eXkoYm9vbDIgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDQgb3BlcmF0b3IueHh5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci54eHl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eXko
dWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eSh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHh5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHl5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueHh5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGlz
ZmluaXRlICovCi1uYXRpdmUgYm9vbCBpc2Zpbml0ZShmbG9hdCk7Ci1ib29sMiBpc2Zpbml0ZShm
bG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc2Zpbml0ZSh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc2Zpbml0ZSh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDMgaXNmaW5pdGUoZmxvYXQzIHgpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNmaW5pdGUoeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IGlzZmluaXRlKGZsb2F0NCB4KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGlzZmluaXRlKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGlzZmlu
aXRlKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eHk9ICovCi1ib29sMyBvcGVyYXRvci56eHk9KGJvb2wzIHYsIGJvb2wzIGMpIHsK
LSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci56eHk9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eHk9KHVpbnQz
IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHk9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnp4eT0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh5PShpbnQ0IHYsIGludDMgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnp4eT0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHk9
KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZE9yICov
Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRo
cmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfaW50
KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2Ug
dWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdy
b3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBp
bnQqKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4encgKi8KLWJvb2w0IG9wZXJh
dG9yLnp4encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4encoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci56eHp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgYXRhbjIgKi8KLW5hdGl2ZSBmbG9hdCBhdGFuMihmbG9hdCwgZmxvYXQp
OwotZmxvYXQyIGF0YW4yKGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXRh
bjIoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhdGFuMihmbG9h
dDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0
YW4yKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4yKHhbMV0sIHlbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGF0YW4yKHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgYXRhbjIoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhdGFuMih4
WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuMih4WzJdLCB5WzJdKTsKLSAgICByZXN1
bHRbM10gPSBhdGFuMih4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgYXRhbjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFu
Mih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgYXRhbjIoZmxvYXQyeDMg
eCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQg
YXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFd
WzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYXRhbjIoZmxv
YXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0M3gzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFu
Mih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgYXRhbjIoZmxvYXQzeDQg
eCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBh
dGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFu
Mih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5
WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0eDIg
eCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBh
dGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBd
LCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYXRhbjIoZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBh
dGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFd
LCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0
eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFd
WzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBh
dGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJd
LCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFu
Mih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5
WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55end5ICovCi1ib29sNCBvcGVyYXRvci55end5KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl6d3kodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55end5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp3eShmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eHcg
Ki8KLWJvb2w0IG9wZXJhdG9yLnp6eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuenp4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eHcoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enh3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l3eiAqLwotYm9vbDQgb3Bl
cmF0b3Iud3l3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXd6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l3eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l6ICovCi1ib29sNCBvcGVyYXRvci55d3l6KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eXoodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci55d3l6KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueXd5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnl6eCAqLwotYm9vbDMgb3BlcmF0b3IueXp4KGJvb2wzIHYpIHsKLSAgICBi
b29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9y
Lnl6eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55engodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXp4KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3IueXp4KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eChmbG9h
dDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci55engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eiAqLwotYm9vbDIgb3BlcmF0b3IueXooYm9vbDMgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDIgb3BlcmF0b3IueXooYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDMgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MiBvcGVyYXRvci55eihpbnQzIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MiBvcGVyYXRvci55eihpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h4eiAqLwotYm9vbDQgb3BlcmF0
b3Iud3h4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHh6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd4eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3PShib29sNCB2
LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnh3PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueHl4eSAqLwotYm9vbDQgb3BlcmF0b3IueHl4eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1i
b29sNCBvcGVyYXRvci54eXh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9y
Lnh5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl4eSh1aW50MiB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh5KHVpbnQzIHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci54eXh5KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eHkoaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnh5eHkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHl4eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXh5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXl5eCAqLwotYm9vbDQgb3BlcmF0b3IueXl5eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci55eXl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5
eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl5eCh1aW50MiB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXl4KHVpbnQzIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55eXl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5eXgoaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl5eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueXl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXl4KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6
eCAqLwotYm9vbDQgb3BlcmF0b3IueXp6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci55enp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6engo
dWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueXp6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6engo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6eChmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eiAqLwotYm9v
bDMgb3BlcmF0b3IueHp6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnh6eihib29sNCB2KSB7Ci0gICAgYm9v
bDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54
enoodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3IueHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHp6KGludDMgdikgewot
ICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnh6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eihmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54enooZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHl6ICovCi1ib29sNCBvcGVyYXRvci55
eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4eXooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eih1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55eHl6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHl6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5eihmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55eHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp4eCAqLwotYm9vbDQgb3BlcmF0b3Iuenp4eChib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enh4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenp4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eHgo
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp4eChpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iuenp4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnp6d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnp6d3goYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp6d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56
end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueXh4ICovCi1ib29sMyBvcGVyYXRvci55eHgoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXh4KGJvb2wz
IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2wzIG9wZXJhdG9yLnl4eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eHgodWludDIgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iu
eXh4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4eChpbnQyIHYpIHsK
LSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci55eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh4KGludDQgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXh4KGZsb2F0MiB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnl4eChmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHgoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyAqLwotbmF0aXZlIHZv
aWQgRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp3d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp3d3coYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp3d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3d3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3p6ICovCi1ib29sMyBvcGVyYXRvci53enooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iud3p6KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3Iud3p6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3p6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgZm1vZCAqLwotCi1mbG9hdCBmbW9kKGZsb2F0IHgsIGZsb2F0IHkpIHsKLSAgICB1aW50IHdo
b2xlID0gdWludCh4IC8geSk7Ci0gICAgZmxvYXQgbXVsdGlwbGUgPSBmbG9hdCh3aG9sZSkgKiB5
OwotICAgIHJldHVybiB4IC0gbXVsdGlwbGU7Ci19Ci1mbG9hdDIgZm1vZChmbG9hdDIgeCwgZmxv
YXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwg
eVswXSk7Ci0gICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIGZtb2QoZmxvYXQzIHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZm1vZCh4WzJdLCB5WzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGZtb2QoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZm1vZCh4WzJd
LCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBmbW9kKHhbM10sIHlbM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBm
bG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1v
ZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgZm1v
ZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
Zm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0s
IHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4NCBmbW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2Qo
eFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
Zm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10s
IHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBmbW9kKGZsb2F0M3gy
IHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2Qo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGZtb2Qo
ZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5
WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZt
b2QoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDR4MiBmbW9kKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBmbW9kKGZsb2F0
NHgzIHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZt
b2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZtb2QoZmxvYXQ0eDQgeCwgZmxvYXQ0
eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhb
MF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1b
MV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZtb2Qo
eFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNd
WzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBmbW9kKHhbM11bM10sIHlbM11bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6enggKi8K
LWJvb2w0IG9wZXJhdG9yLnh6engoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0
b3IueHp6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp4KHVpbnQz
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6engodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54enp4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnh6engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enp4KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6engoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXp5ICovCi1ib29sNCBv
cGVyYXRvci55eXp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5enko
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl6eSh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXl6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXp5
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl6eShmbG9hdDMgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5ICovCi1ib29sMyBvcGVyYXRvci53
eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3Iud3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3l5KGludDQgdikgewot
ICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3Iud3l5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5eCAqLwotYm9v
bDQgb3BlcmF0b3IueXp5eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55
enl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6eXgodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eCh1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnl6eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXp5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6eXgoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eng9ICovCi1ib29sNCBvcGVy
YXRvci55d3p4PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMu
ejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXd6eD0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXd6eD0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7
Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci55d3p4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9
IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6dyAqLwotYm9vbDQgb3BlcmF0b3IueHh6dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHp3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHh6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnh4encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci54eXh4ICovCi1ib29sNCBvcGVyYXRvci54eXh4KGJvb2wyIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQg
b3BlcmF0b3IueHl4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh4
KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eHgodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh5eHgoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4
eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXh4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eChmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci54eXh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnh5eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eXc9ICovCi1ib29sNCBvcGVyYXRvci56eXc9KGJvb2w0IHYsIGJvb2wzIGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5dz0oaW50NCB2
LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZs
b2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci53enh5ICovCi1ib29sNCBvcGVyYXRvci53enh5KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHkodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci53enh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iud3p4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp3eCAqLwotYm9vbDMgb3BlcmF0b3Iuend4KGJvb2w0IHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp3eCh1
aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnp3eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp3eChmbG9hdDQgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLSAqLwotbmF0aXZlIGludCBvcGVyYXRvci0oaW50LCBpbnQpOwot
bmF0aXZlIHVpbnQgb3BlcmF0b3ItKHVpbnQsIHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9y
LShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGludCBvcGVyYXRvci0oaW50KTsKLW5hdGl2ZSBmbG9h
dCBvcGVyYXRvci0oZmxvYXQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50MiwgdWludDIp
OwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50LCB1aW50Mik7Ci1uYXRpdmUgdWludDIgb3Bl
cmF0b3ItKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludDMsIHVpbnQz
KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludCwgdWludDMpOwotbmF0aXZlIHVpbnQzIG9w
ZXJhdG9yLSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQ0LCB1aW50
NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQsIHVpbnQ0KTsKLW5hdGl2ZSB1aW50NCBv
cGVyYXRvci0odWludDQsIHVpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludDIsIGludDIp
OwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludCwgaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRv
ci0oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQzLCBpbnQzKTsKLW5hdGl2
ZSBpbnQzIG9wZXJhdG9yLShpbnQsIGludDMpOwotbmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMs
IGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCwgaW50NCk7Ci1uYXRpdmUgaW50NCBv
cGVyYXRvci0oaW50LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQ0LCBpbnQpOwot
bmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIGZsb2F0MiBv
cGVyYXRvci0oZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLShmbG9hdDIs
IGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2
ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRv
ci0oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdDQsIGZsb2F0
NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9h
dDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludDIp
OwotbmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMpOwotbmF0aXZlIGludDQgb3BlcmF0b3ItKGlu
dDQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDMgb3Bl
cmF0b3ItKGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdDQpOwotbmF0aXZl
IGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0Mngy
IG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShm
bG9hdCwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4Mik7Ci1u
YXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxv
YXQyeDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0
b3ItKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0Mngz
KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2
ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBv
cGVyYXRvci0oZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxv
YXQyeDQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4MiwgZmxvYXQzeDIpOwot
bmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQzeDIpOwotbmF0aXZlIGZsb2F0
M3gyIG9wZXJhdG9yLShmbG9hdDN4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9y
LShmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9hdDN4
Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDN4Myk7Ci1uYXRpdmUg
ZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3Bl
cmF0b3ItKGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZs
b2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0M3g0KTsKLW5h
dGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4
NCBvcGVyYXRvci0oZmxvYXQzeDQpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4
MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDIp
OwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4MiwgZmxvYXQpOwotbmF0aXZlIGZs
b2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZs
b2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9h
dDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzLCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRv
ci0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQs
IGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQsIGZsb2F0KTsK
LW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQpOwotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgbWluICovCi11aW50IG1pbih1aW50IHgsIHVpbnQgeSkgewotICAgIHJldHVybiB4ID4geSA/
IHkgOiB4OwotfQotdWludDIgbWluKHVpbnQyIHgsIHVpbnQyIHkpIHsKLSAgICB1aW50MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1p
bih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgbWluKHVpbnQzIHgs
IHVpbnQzIHkpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBtaW4oeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG1pbih1aW50
NCB4LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1pbih4
WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gbWluKHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFszXSA9IG1pbih4WzNdLCB5WzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50IG1pbihpbnQgeCwgaW50IHkpIHsKLSAgICByZXR1
cm4geCA+IHkgPyB5IDogeDsKLX0KLWludDIgbWluKGludDIgeCwgaW50MiB5KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsx
XSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBtaW4oaW50
MyB4LCBpbnQzIHkpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtaW4oeFsw
XSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsy
XSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBtaW4oaW50
NCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtaW4oeFsw
XSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsy
XSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBtaW4oeFszXSwgeVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IG1pbihmbG9hdCB4LCBmbG9hdCB5KSB7Ci0gICAg
cmV0dXJuIHggPiB5ID8geSA6IHg7Ci19Ci1mbG9hdDIgbWluKGZsb2F0MiB4LCBmbG9hdDIgeSkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG1pbihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwg
eVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgbWluKGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1p
bih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7Ci0gICAgcmVz
dWx0WzNdID0gbWluKHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4
MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG1pbihmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtaW4oZmxvYXQyeDQgeCwgZmxvYXQyeDQg
eSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVsw
XSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDN4MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFsw
XVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhb
Ml1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3g0IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1pbih4
WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtaW4o
eFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWlu
KHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtaW4o
ZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWlu
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1p
bih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtaW4oZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewot
ICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBt
aW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
bWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQg
bWluKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwg
eVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0s
IHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1pbih4WzJdWzJd
LCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtaW4oeFsyXVszXSwgeVsyXVszXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsy
XSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbWluKHhbM11bM10sIHlbM11bM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXog
Ki8KLWJvb2wzIG9wZXJhdG9yLnh5eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci54eXooYm9vbDQgdikgewot
ICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3Bl
cmF0b3IueHl6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh5eihpbnQz
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci54eXooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54eXooZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
eHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3o9ICovCi1ib29sNCBvcGVy
YXRvci53ej0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnd6PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53ej0oaW50NCB2LCBpbnQyIGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53ej0oZmxvYXQ0IHYs
IGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp5eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnp5eXkoYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl5eShib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci56eXl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXl5KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXkoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56eXl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnp5eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBJbnRlcmxvY2tlZFhvciAqLwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2Vk
WG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwot
bmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmlj
ZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfdWludCos
IHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRl
dmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLW5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBp
bnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3Vw
IGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9j
a2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2
ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhy
ZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAg
YXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53eng9ICovCi1ib29sNCBvcGVyYXRvci53eng9KGJvb2w0IHYsIGJvb2wzIGMp
IHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53eng9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3Vs
dC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eD0oaW50
NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eng9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3p5ICovCi1ib29sNCBvcGVyYXRvci56d3p5KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3enkodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci56d3p5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3Iuend6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KLW5hdGl2ZSB2b2lkIEdyb3VwTWVt
b3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueHl6eSAqLwotYm9vbDQgb3BlcmF0b3IueHl6eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1i
b29sNCBvcGVyYXRvci54eXp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh5enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl6eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5enkoaW50MyB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHl6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh5enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl6eShmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHRydW5jICovCi1uYXRp
dmUgZmxvYXQgdHJ1bmMoZmxvYXQpOwotZmxvYXQyIHRydW5jKGZsb2F0MiB4KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSB0cnVuYyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHRydW5jKGZsb2F0
MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0cnVuYyh4WzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHRydW5jKGZsb2F0NCB4KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0cnVuYyh4WzJdKTsKLSAgICByZXN1
bHRbM10gPSB0cnVuYyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgdHJ1
bmMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVu
Yyh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgdHJ1bmMoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgdHJ1bmMo
ZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0
cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzeDIgdHJ1bmMoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDMgdHJ1bmMoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgdHJ1bmMoZmxvYXQ0eDMgeCkgewot
ICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0
cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgdHJ1bmMoZmxvYXQ0eDQgeCkgewotICAgIGZs
b2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVu
Yyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKLSAgICByZXN1
bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSB0cnVuYyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IubGVuZ3RoICovCi11aW50IG9wZXJhdG9yLmxlbmd0aChib29sMikg
ewotICAgIHJldHVybiAyOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgoYm9vbDMpIHsKLSAgICBy
ZXR1cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGJvb2w0KSB7Ci0gICAgcmV0dXJuIDQ7
Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50MikgewotICAgIHJldHVybiAyOwotfQotdWlu
dCBvcGVyYXRvci5sZW5ndGgodWludDMpIHsKLSAgICByZXR1cm4gMzsKLX0KLXVpbnQgb3BlcmF0
b3IubGVuZ3RoKHVpbnQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0
aChpbnQyKSB7Ci0gICAgcmV0dXJuIDI7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aChpbnQzKSB7
Ci0gICAgcmV0dXJuIDM7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aChpbnQ0KSB7Ci0gICAgcmV0
dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aChmbG9hdDIpIHsKLSAgICByZXR1cm4gMjsK
LX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGZsb2F0MykgewotICAgIHJldHVybiAzOwotfQotdWlu
dCBvcGVyYXRvci5sZW5ndGgoZmxvYXQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnp3d3goYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3l4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l4eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eXh4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3l4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eHgoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3o9
ICovCi1ib29sNCBvcGVyYXRvci55d3o9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55
d3o9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3ej0oaW50NCB2LCBpbnQzIGMpIHsK
LSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3o9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3Vs
dC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54enl5ICovCi1ib29sNCBvcGVyYXRvci54enl5KGJvb2wzIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnh6eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHp5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enl5KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54enl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enl5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHh4eiAqLwotYm9vbDQgb3BlcmF0b3IueHh4eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci54eHh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4
eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh4eih1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4
eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh4eihmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4d3kgKi8K
LWJvb2w0IG9wZXJhdG9yLnd4d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3h3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4d3koaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHd5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh3eiAqLwotYm9vbDQgb3BlcmF0
b3IueXh3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnl4d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d3ICovCi1ib29sNCBvcGVyYXRvci55d3d3KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3d3codWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55d3d3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXd3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh6dyAqLwotYm9vbDMgb3BlcmF0b3IueHp3KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh6
dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnh6dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6dyhmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnd3d3goYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d3eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci53d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3d4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d4eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53d3h4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3d4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3eHgoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXc9
ICovCi1ib29sNCBvcGVyYXRvci54eXc9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5dz0oaW50NCB2LCBpbnQzIGMpIHsK
LSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0Lnkg
PSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eXc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54enkgKi8KLWJvb2wzIG9wZXJhdG9yLnh6eShib29sMyB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci54enko
Ym9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgb3BlcmF0b3IueHp5KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh6eSh1aW50NCB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnh6eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBvcGVyYXRvci54enkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54enkoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3IueHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp6eiAq
LwotYm9vbDQgb3BlcmF0b3Iuenp6eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci56enp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6enoodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp6eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenp6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6enooZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp6eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6enggKi8KLWJvb2w0
IG9wZXJhdG9yLnp6engoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp6
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enp4KHVpbnQzIHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6engodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56enp4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6
engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp4KGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6engoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54dyAqLwotYm9vbDIgb3BlcmF0b3Iu
eHcoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iu
eHcodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci54
dyhpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnh3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3h5dyAqLwotYm9vbDQgb3BlcmF0b3Iud3h5dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3h5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4
eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55end3ICovCi1ib29sNCBvcGVyYXRvci55end3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl6d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55
end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp3dyhmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4dyAqLwotYm9v
bDMgb3BlcmF0b3Iud3h3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd4
dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzIG9wZXJhdG9yLnd4dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnh3d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueHd3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3
d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3d5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6dyAqLwotYm9v
bDQgb3BlcmF0b3Iud3p6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53
enp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p6dyhpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd3ICovCi1ib29sNCBvcGVyYXRvci53
eHd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4d3codWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHd3KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iud3h3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG1heCAqLwotCi0KLXVpbnQgbWF4KHVpbnQgeCwgdWludCB5KSB7Ci0gICAgcmV0
dXJuIHggPiB5ID8geCA6IHk7Ci19Ci11aW50MiBtYXgodWludDIgeCwgdWludDIgeSkgewotICAg
IHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVz
dWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBt
YXgodWludDMgeCwgdWludDMgeSkgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAg
IHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgbWF4KHVpbnQ0IHgsIHVpbnQ0IHkpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWF4KHhb
M10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotCi1pbnQgbWF4KGludCB4LCBp
bnQgeSkgewotICAgIHJldHVybiB4ID4geSA/IHggOiB5OwotfQotaW50MiBtYXgoaW50MiB4LCBp
bnQyIHkpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG1heChpbnQzIHgsIGludDMgeSkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFszXSA9IG1h
eCh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLWZsb2F0IG1heChmbG9h
dCB4LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geCA6IHk7Ci19Ci1mbG9hdDIgbWF4
KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG1heChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbWF4KGZsb2F0NCB4LCBmbG9hdDQg
eSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtYXgo
eFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtYXgoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG1heChm
bG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgo
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4
KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtYXgo
ZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1h
eCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtYXgoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBt
YXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbWF4KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsK
LSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
bWF4KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG1heChmbG9hdDN4NCB4
LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwg
eVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0s
IHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtYXgoZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWF4KHhb
MF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1heCh4
WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYXgo
eFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbWF4
KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd3eiAqLwotYm9vbDMgb3BlcmF0b3Iud3d6KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnd3eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd3eihmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnd5
ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5ej0odWludDQgdiwgdWludDMgYykg
ewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0
LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3l6PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5ej0oZmxvYXQ0
IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eXkgKi8KLWJvb2w0
IG9wZXJhdG9yLnl3eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd5
eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eXkoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3l5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgYXNpbnQgKi8KLWludCBhc2ludChpbnQgeCkgewotICAgIHJl
dHVybiB4OwotfQotaW50MiBhc2ludChpbnQyIHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWludDMg
YXNpbnQoaW50MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1pbnQ0IGFzaW50KGludDQgeCkgewot
ICAgIHJldHVybiB4OwotfQotaW50IGFzaW50KHVpbnQgeCkgewotICAgIHJldHVybiBpbnQoeCk7
Ci19Ci1pbnQyIGFzaW50KHVpbnQyIHgpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MyBhc2ludCh1aW50MyB4KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgYXNpbnQodWludDQgeCkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFz
aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGFzaW50KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFzaW50KHhbM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1uYXRpdmUgaW50IGFzaW50KGZsb2F0KTsKLWludDIgYXNpbnQoZmxvYXQyIHgp
IHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBhc2lu
dChmbG9hdDMgeCkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzaW50KHhb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFzaW50
KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IGFzaW50KGZsb2F0NCB4KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7Ci0gICAgcmVz
dWx0WzNdID0gYXNpbnQoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnl6d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnl6d3ooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp3eih1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnl6d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci55end6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueXh6eSAqLwotYm9vbDQgb3BlcmF0b3IueXh6eShib29sMyB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sNCBvcGVyYXRvci55eHp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl4enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eSh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4enkoaW50MyB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXh6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnl4enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eShm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6
eHogKi8KLWJvb2w0IG9wZXJhdG9yLnl6eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQg
b3BlcmF0b3IueXp4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh6
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6eHoodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnl6eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh6
KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6eHooZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enp4ICovCi1i
b29sNCBvcGVyYXRvci53enp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnd6engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53enp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p6eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eHc9ICovCi1ib29sNCBvcGVyYXRv
ci55enh3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsK
LSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXp4dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7
Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXp4dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0g
ICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci55enh3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMu
ejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eCAqLwotYm9vbDQgb3BlcmF0b3Iuenl4eChib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuenl4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eHgoaW50
MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4eChpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnp5eHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iuenl4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh5d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnh5d3ooYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHl3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh5d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXd6
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3p3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53end6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p3
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6d3ooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHh5ICovCi1ib29s
NCBvcGVyYXRvci54eHh5KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4
eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHh4eShib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHh5KHVpbnQyIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh4eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHh4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHkoaW50MiB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54eHh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHh4eShmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHh5KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHkoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3h5PSAqLwotYm9vbDQg
b3BlcmF0b3Iuend4eT0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp3eHk9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54
ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp3eHk9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0g
Yy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iuend4eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3encgKi8KLWJvb2w0IG9wZXJhdG9yLnp3enco
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend6dyh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3d3eSAqLwotYm9vbDQgb3BlcmF0b3Iud3d3eShib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3d5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3d3eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3
d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55d3ggKi8KLWJvb2wzIG9wZXJhdG9yLnl3eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3godWludDQg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci55d3goaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54eHp6ICovCi1ib29sNCBvcGVyYXRvci54eHp6KGJvb2wzIHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueHh6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh6eihpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueHh6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci54eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd5ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXo9KGJvb2w0IHYsIGJvb2w0IGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3l6PSh1aW50NCB2LCB1aW50NCBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3l6PShpbnQ0IHYsIGludDQgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXo9KGZsb2F0NCB2LCBmbG9hdDQgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXggKi8K
LWJvb2wzIG9wZXJhdG9yLnl5eChib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eXgoYm9vbDMgdikgewotICAg
IGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0
b3IueXl4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eCh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXgodWludDMg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3IueXl4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl4KGludDIgdikgewotICAgIGludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5eChp
bnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50MyBvcGVyYXRvci55eXgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eXgoZmxvYXQyIHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0
b3IueXl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5eChmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnp6d3koYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iuenp3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnp6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56end5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3g9
ICovCi1ib29sNCBvcGVyYXRvci53eD0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJvb2w0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4PSh1aW50NCB2LCB1aW50MiBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eD0oaW50NCB2
LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci53eD0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6dyAqLwotYm9vbDMgb3BlcmF0b3Iu
enp3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp6dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp6dyhpbnQ0IHYpIHsK
LSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9w
ZXJhdG9yLnp6dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4enkgKi8KLWJv
b2w0IG9wZXJhdG9yLnh4enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iu
eHh6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHp5KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4enkodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eHp5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHp5KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4enkoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHogKi8KLWJvb2wzIG9wZXJh
dG9yLnl4eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eHooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXh6KHVpbnQz
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnl4eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4eihpbnQzIHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHoo
aW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci55eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXh6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5ICovCi1ib29sMyBvcGVyYXRvci55enkoYm9vbDMg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDMgb3BlcmF0b3IueXp5KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl6eSh1aW50MyB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55
enkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MyBvcGVyYXRvci55enkoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXp5KGludDQgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0
b3IueXp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eShmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnk9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueT0oYm9vbDIsIGJvb2wpOwot
bmF0aXZlIGJvb2wzIG9wZXJhdG9yLnk9KGJvb2wzLCBib29sKTsKLW5hdGl2ZSBib29sNCBvcGVy
YXRvci55PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IueT0odWludDIsIHVp
bnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLnk9KHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50
NCBvcGVyYXRvci55PSh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci55PShpbnQy
LCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IueT0oaW50MywgaW50KTsKLW5hdGl2ZSBpbnQ0
IG9wZXJhdG9yLnk9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLnk9KGZsb2F0
MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci55PShmbG9hdDMsIGZsb2F0KTsKLW5h
dGl2ZSBmbG9hdDQgb3BlcmF0b3IueT0oZmxvYXQ0LCBmbG9hdCk7Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56eHp6ICovCi1ib29sNCBvcGVyYXRvci56eHp6KGJvb2wzIHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenh6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56
eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh6eihpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iuenh6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci56eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHl6dyAqLwotYm9vbDQgb3BlcmF0b3IueHl6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHl6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5encoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3l3ICov
Ci1ib29sNCBvcGVyYXRvci56d3l3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp3eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l3KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5dyAqLwotYm9vbDMgb3BlcmF0
b3IueHl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh5dyhpbnQ0IHYp
IHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
IG9wZXJhdG9yLnh5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6d3cgKi8K
LWJvb2w0IG9wZXJhdG9yLnp6d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iuenp3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6d3coaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56end3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3ICovCi1ib29sMyBvcGVyYXRv
ci56eXcoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3Iuenl3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenl3KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3Iuenl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgY2xhbXAgKi8KLW5hdGl2ZSB1
aW50IGNsYW1wKHVpbnQsIHVpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQyIGNsYW1wKHVpbnQyLCB1
aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQzIGNsYW1wKHVpbnQzLCB1aW50MywgdWludDMpOwot
bmF0aXZlIHVpbnQ0IGNsYW1wKHVpbnQ0LCB1aW50NCwgdWludDQpOwotbmF0aXZlIGludCBjbGFt
cChpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBpbnQyIGNsYW1wKGludDIsIGludDIsIGludDIpOwot
bmF0aXZlIGludDMgY2xhbXAoaW50MywgaW50MywgaW50Myk7Ci1uYXRpdmUgaW50NCBjbGFtcChp
bnQ0LCBpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBmbG9hdCBjbGFtcChmbG9hdCwgZmxvYXQsIGZsb2F0
KTsKLW5hdGl2ZSBmbG9hdDIgY2xhbXAoZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUg
ZmxvYXQzIGNsYW1wKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0NCBjbGFt
cChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBjbGFtcChmbG9hdDJ4
MiwgZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MyBjbGFtcChmbG9hdDJ4Mywg
ZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4NCBjbGFtcChmbG9hdDJ4NCwgZmxv
YXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBjbGFtcChmbG9hdDN4MiwgZmxvYXQz
eDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MyBjbGFtcChmbG9hdDN4MywgZmxvYXQzeDMs
IGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBjbGFtcChmbG9hdDN4NCwgZmxvYXQzeDQsIGZs
b2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBjbGFtcChmbG9hdDR4MiwgZmxvYXQ0eDIsIGZsb2F0
NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBjbGFtcChmbG9hdDR4MywgZmxvYXQ0eDMsIGZsb2F0NHgz
KTsKLW5hdGl2ZSBmbG9hdDR4NCBjbGFtcChmbG9hdDR4NCwgZmxvYXQ0eDQsIGZsb2F0NHg0KTsK
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnd4
eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h4eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci53eHh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXh3eSAqLwotYm9vbDQgb3BlcmF0b3IueXh3eShib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueXh3eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnl4d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnh3eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54d3kodWlu
dDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50MyBvcGVyYXRvci54d3koaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54d3koZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvcjwgKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yPChpbnQsIGludCk7Ci1u
YXRpdmUgYm9vbCBvcGVyYXRvcjwodWludCwgdWludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjwo
ZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcjwodWludDIsIHVpbnQyKTsKLW5h
dGl2ZSBib29sMyBvcGVyYXRvcjwodWludDMsIHVpbnQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRv
cjwodWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcjwoaW50MiwgaW50Mik7Ci1u
YXRpdmUgYm9vbDMgb3BlcmF0b3I8KGludDMsIGludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9y
PChpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcjwoZmxvYXQyLCBmbG9hdDIpOwot
bmF0aXZlIGJvb2wzIG9wZXJhdG9yPChmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3I8KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPChmbG9hdDJ4
MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8KGZsb2F0MngzLCBmbG9hdDJ4
Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcjwoZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2
ZSBib29sM3gyIG9wZXJhdG9yPChmbG9hdDN4MiwgZmxvYXQzeDIpOwotbmF0aXZlIGJvb2wzeDMg
b3BlcmF0b3I8KGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgYm9vbDN4NCBvcGVyYXRvcjwo
ZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPChmbG9hdDR4Miwg
ZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I8KGZsb2F0NHgzLCBmbG9hdDR4Myk7
Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcjwoZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5dyAqLwotYm9vbDMgb3BlcmF0b3Iud3l3KGJvb2w0IHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQz
IG9wZXJhdG9yLnd5dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd5dyhm
bG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eXcgKi8KLWJvb2w0IG9wZXJhdG9y
Lnp6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp5dyh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXcoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56enl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh6ICovCi1ib29sMyBvcGVyYXRvci56eHooYm9vbDMgdikg
ewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMg
b3BlcmF0b3Iuenh6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eih1aW50MyB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eHoo
dWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci56eHooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenh6KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
enh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl3enggKi8KLWJvb2w0IG9wZXJhdG9yLnl3engoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueXd6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3p4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh4eSAq
LwotYm9vbDQgb3BlcmF0b3Iuenh4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci56eHh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eHkodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh4eSh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenh4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eHkoZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4eShmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGlzbmFuICovCi1uYXRpdmUgYm9vbCBp
c25hbihmbG9hdCk7Ci0KLWJvb2wyIGlzbmFuKGZsb2F0MiB4KSB7Ci0gICAgYm9vbDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzbmFuKHhb
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBpc25hbihmbG9hdDMgeCkgewotICAg
IGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc25hbih4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBpc25hbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc25hbih4WzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgaXNuYW4oZmxvYXQ0IHgpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNuYW4oeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXNuYW4o
eFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHh3dyAqLwotYm9vbDQgb3BlcmF0b3IueHh3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eHd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHh3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4d3coZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3k9ICov
Ci1ib29sNCBvcGVyYXRvci54d3k9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3k9
KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci54d3k9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBBbGxN
ZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyAqLwotbmF0aXZlIHZvaWQgQWxsTWVtb3J5QmFycmll
cldpdGhHcm91cFN5bmMoKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4PSAqLwot
Ym9vbDIgb3BlcmF0b3IueXg9KGJvb2wyIHYsIGJvb2wyIGMpIHsKLSAgICBib29sMiByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eD0oYm9vbDMgdiwgYm9vbDIgYykgewotICAg
IGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4PShib29sNCB2LCBi
b29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iu
eXg9KHVpbnQyIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MiByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci55eD0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eD0oaW50MiB2LCBpbnQy
IGMpIHsKLSAgICBpbnQyIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXg9KGlu
dDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl4PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG9wZXJhdG9yLnl4PShmbG9hdDIgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDIgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4PShmbG9hdDMgdiwgZmxvYXQyIGMp
IHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4PShm
bG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3JeICovCi1ib29sIG9wZXJhdG9yXihib29sIGEsIGJv
b2wgYikgewotICAgIGlmIChhKQotICAgICAgICByZXR1cm4gIWI7Ci0gICAgcmV0dXJuIGI7Ci19
Ci1uYXRpdmUgaW50IG9wZXJhdG9yXihpbnQsIGludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcl4o
dWludCwgdWludCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enl3ICovCi1ib29s
NCBvcGVyYXRvci55enl3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6
eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enl3KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnh3
d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3eih1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci54d3d6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgaXNpbmYgKi8KLW5hdGl2ZSBib29sIGlzaW5mKGZsb2F0KTsKLWJvb2wyIGlzaW5m
KGZsb2F0MiB4KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzaW5mKHhb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBpc2luZihmbG9hdDMgeCkgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBpc2luZih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBpc2luZih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgaXNpbmYo
ZmxvYXQ0IHgpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNpbmYoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gaXNpbmYoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNpbmYo
eFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXNpbmYoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfCAqLwotYm9vbCBvcGVyYXRvcnwoYm9v
bCBhLCBib29sIGIpIHsKLSAgICByZXR1cm4gYSB8fCBiOwotfQotbmF0aXZlIGludCBvcGVyYXRv
cnwoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3J8KHVpbnQsIHVpbnQpOwotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5ICovCi1ib29sMyBvcGVyYXRvci56d3koYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3Iuend5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuend5KGludDQgdikgewotICAgIGludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuend5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4eCAqLwotYm9vbDQgb3BlcmF0
b3IueXp4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55enh4KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6eHgodWludDMgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3IueXp4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnl6eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4eChpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6eHgoZmxvYXQzIHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXggKi8KLWJvb2w0IG9wZXJhdG9yLnp5eXgo
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl5eChib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56
eXl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXgoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnp5eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56eXd5ICovCi1ib29sNCBvcGVyYXRvci56eXd5KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3kodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56eXd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenl3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl3eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl3eXgoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueXd5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl3eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3l4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4eCAq
LwotYm9vbDQgb3BlcmF0b3IueXh4eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci55eHh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4eHgoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh4eCh1aW50MiB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHh4
KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eHgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXh4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl4eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh4
eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHh4KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl5eiAqLwot
Ym9vbDQgb3BlcmF0b3IueHl5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci54eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eXoodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHl5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eXooZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl5eihmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eXcgKi8KLWJvb2w0IG9w
ZXJhdG9yLnh4eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5dyh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXcoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3p4eChi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enh4KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56eHd6ICovCi1ib29sNCBvcGVyYXRvci56eHd6KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56eHd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh3
eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd4eXogKi8KLWJvb2w0IG9wZXJhdG9yLnd4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iud3h5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4
eXooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHl6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5eSAqLwotYm9v
bDQgb3BlcmF0b3IueHd5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
d3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd5eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53end3ICovCi1ib29sNCBvcGVyYXRvci53
end3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6d3codWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53end3KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iud3p3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIGRlZ3JlZXMgKi8KLWZsb2F0IGRlZ3JlZXMoZmxvYXQgeCkgewotICAgIHJldHVy
biB4ICogMTgwIC8gMy4xNDE1OTsKLX0KLWZsb2F0MiBkZWdyZWVzKGZsb2F0MiB4KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGRlZ3JlZXMoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZWdy
ZWVzKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZWdy
ZWVzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gZGVncmVlcyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRlZ3JlZXMo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRlZ3JlZXMo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBk
ZWdyZWVzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRlZ3JlZXMoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGRlZ3JlZXMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0Mngy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZWdyZWVzKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMo
eFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGRlZ3JlZXMoZmxvYXQy
eDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVz
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVz
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVz
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRlZ3JlZXMoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0
M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVl
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVncmVl
cyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGVncmVlcyhmbG9h
dDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRlZ3Jl
ZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3Jl
ZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3Jl
ZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBkZWdyZWVzKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZWdy
ZWVzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZWdy
ZWVzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZWdy
ZWVzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGRlZ3JlZXMoZmxvYXQ0eDIgeCkgewotICAgIGZs
b2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVn
cmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NHgzIGRlZ3JlZXMoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRl
Z3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRl
Z3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRl
Z3JlZXMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGVncmVlcyhmbG9hdDR4NCB4KSB7Ci0gICAg
ZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBk
ZWdyZWVzKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBk
ZWdyZWVzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5eSAq
LwotYm9vbDMgb3BlcmF0b3IueXl5KGJvb2wyIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl5eShib29sMyB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVy
YXRvci55eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl5KHVpbnQyIHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eSh1aW50
MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci55eXkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eXkoaW50MiB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl5
KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnl5eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5eShmbG9hdDIgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVy
YXRvci55eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3p6eSAqLwotYm9vbDQgb3BlcmF0b3Iud3p6eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iud3p6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6enko
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
end6ICovCi1ib29sNCBvcGVyYXRvci56end6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp6d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56end6
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp3eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eXkgKi8KLWJvb2w0
IG9wZXJhdG9yLnp6eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp5
eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enl5KHVpbnQzIHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXkodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56enl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6
eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enl5KGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBTYW1wbGUgKi8KLW5hdGl2ZSB1aW50IFNhbXBsZShU
ZXh0dXJlMUQ8dWludD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IFNh
bXBsZShUZXh0dXJlMURBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5h
dGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkQ8dWludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlv
bik7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkRBcnJh
eTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IFNhbXBsZShU
ZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNl
dCk7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTNEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24pOwotbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUzRDx1aW50Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVy
ZUN1YmU8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgU2Ft
cGxlKFRleHR1cmUxRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSB1
aW50MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRp
b24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8dWludDI+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8dWludDI+LCBzYW1w
bGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZl
IHVpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2Nh
dGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlM0Q8dWludDI+
LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJl
M0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2
ZSB1aW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24pOwotbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMUQ8dWludDM+LCBzYW1wbGVyLCBmbG9h
dCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUxREFycmF5PHVpbnQzPiwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTJE
PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUo
VGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7
Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50MyBT
YW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2
ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
LCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQzPiwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTFE
PHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IFNhbXBsZShU
ZXh0dXJlMURBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUg
dWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7
Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxl
KFRleHR1cmUyREFycmF5PHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUzRDx1aW50ND4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUzRDx1aW50ND4sIHNh
bXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwotbmF0aXZlIHVpbnQ0IFNhbXBs
ZShUZXh0dXJlQ3ViZTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUg
aW50IFNhbXBsZShUZXh0dXJlMUQ8aW50Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0
aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTJEPGludD4sIHNhbXBsZXIsIGZs
b2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTJE
QXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgU2FtcGxl
KFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZz
ZXQpOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTNEPGludD4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlM0Q8aW50Piwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlQ3Vi
ZTxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRl
eHR1cmUxRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGludDIgU2Ft
cGxlKFRleHR1cmUxREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0
aXZlIGludDIgU2FtcGxlKFRleHR1cmUyRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyREFycmF5
PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRl
eHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0
KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlM0Q8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbik7Ci1uYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTNEPGludDI+LCBzYW1wbGVyLCBm
bG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJl
Q3ViZTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBs
ZShUZXh0dXJlMUQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQz
IFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsK
LW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEPGludDM+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkRB
cnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBs
ZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTNEPGludDM+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24pOwotbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUzRDxpbnQzPiwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4
dHVyZUN1YmU8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBT
YW1wbGUoVGV4dHVyZTFEPGludDQ+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUg
aW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlv
bik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyRDxpbnQ0Piwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBT
YW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MiBvZmZzZXQpOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUzRDxpbnQ0Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlM0Q8aW50ND4sIHNh
bXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwotbmF0aXZlIGludDQgU2FtcGxl
KFRleHR1cmVDdWJlPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZs
b2F0IFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQy
IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0
Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTNE
PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUo
VGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7
Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUxRDxmbG9hdDI+LCBzYW1w
bGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMURBcnJh
eTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MiBTYW1w
bGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUg
ZmxvYXQyIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9u
LCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNl
dCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQyPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDI+LCBz
YW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdDIgU2Ft
cGxlKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRp
dmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRp
b24pOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyRDxmbG9h
dDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4
dHVyZTJEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwot
bmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0
MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlQ3ViZTxm
bG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBTYW1wbGUo
VGV4dHVyZTFEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQ0Piwgc2FtcGxlciwgZmxv
YXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdDQgU2Ft
cGxlKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUz
RDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBTYW1w
bGUoVGV4dHVyZTNEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZz
ZXQpOwotbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQp
OwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0
aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eD0gKi8KLWJvb2w0
IG9wZXJhdG9yLnp3eD0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eD0odWludDQg
diwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7
Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend4PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAg
ICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnp3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6
eSAqLwotYm9vbDMgb3BlcmF0b3Iuenp5KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnp6eShib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci56enkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenp5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenp5KGlu
dDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQzIG9wZXJhdG9yLnp6eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp6eShmbG9hdDMgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRv
ci56enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXd5ICovCi1ib29sNCBv
cGVyYXRvci53eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5d3ko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXd5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHggKi8KLWJvb2w0IG9wZXJhdG9yLnd4eHgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h4eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci53eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgc2luaCAqLwotbmF0aXZlIGZsb2F0IHNpbmgoZmxvYXQpOwotZmxvYXQyIHNpbmgoZmxv
YXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNpbmgoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIHNpbmgoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBzaW5oKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgc2luaChmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gc2luaCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgc2luaChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNp
bmgoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHNpbmgoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2lu
aCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgc2luaChmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5o
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
c2luaChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBz
aW5oKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNp
bmgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHNpbmgoZmxvYXQz
eDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2lu
aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHNpbmgoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IHNpbmgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgc2luaChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
c2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgc2luaChmbG9hdDR4MyB4KSB7
Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luaCh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4NCBzaW5oKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2lu
aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IHNpbmgoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IHNpbmgoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gc2luaCh4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR5ICovCi1uYXRpdmUgZmxv
YXQgZGR5KGZsb2F0KTsKLWZsb2F0MiBkZHkoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZHkoZmxvYXQzIHgpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBk
ZHkoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgZGR5KGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHkoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGRkeSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBkZHkoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDMgZGR5KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGRkeShm
bG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRk
eSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBkZHkoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRk
eShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZGR5KHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBkZHkoZmxvYXQz
eDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGR5KGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBkZHkoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGRkeShm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRk
eSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBkZHkoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGRk
eShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0p
OwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBk
ZHkoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5KHhbM11bMl0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHkoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGRkeSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKLSAgICByZXN1bHRbM11bM10gPSBkZHkoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj0gKi8KLW5hdGl2ZSBib29sIG9wZXJh
dG9yPj0oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+PSh1aW50LCB1aW50KTsKLW5h
dGl2ZSBib29sIG9wZXJhdG9yPj0oZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cj49KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I+PSh1aW50MywgdWludDMp
OwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPj0odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBv
cGVyYXRvcj49KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0oaW50MywgaW50
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+PShpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBv
cGVyYXRvcj49KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj49KGZsb2F0
MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj49KGZsb2F0NCwgZmxvYXQ0KTsKLW5h
dGl2ZSBib29sMngyIG9wZXJhdG9yPj0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29s
MngzIG9wZXJhdG9yPj0oZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBib29sMng0IG9wZXJh
dG9yPj0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPj0oZmxv
YXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPj0oZmxvYXQzeDMsIGZs
b2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPj0oZmxvYXQzeDQsIGZsb2F0M3g0KTsK
LW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPj0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBi
b29sNHgzIG9wZXJhdG9yPj0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29sNHg0IG9w
ZXJhdG9yPj0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIGRzdCAq
LwotdWludDQgZHN0KHVpbnQ0IHNyYzAsIHVpbnQ0IHNyYzEpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSAxOwotICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OwotICAg
IHJlc3VsdC56ID0gc3JjMC56OwotICAgIHJlc3VsdC53ID0gc3JjMS53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IGRzdChpbnQ0IHNyYzAsIGludDQgc3JjMSkgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gMTsKLSAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsK
LSAgICByZXN1bHQueiA9IHNyYzAuejsKLSAgICByZXN1bHQudyA9IHNyYzEudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRzdChmbG9hdDQgc3JjMCwgZmxvYXQ0IHNyYzEpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gMTsKLSAgICByZXN1bHQueSA9IHNyYzAu
eSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAuejsKLSAgICByZXN1bHQudyA9IHNyYzEu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci54eXo9ICovCi1ib29sMyBvcGVyYXRvci54eXo9KGJvb2wzIHYsIGJvb2wzIGMpIHsKLSAgICBi
b29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eXo9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54eXo9KHVpbnQzIHYsIHVp
bnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54eXo9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh5
ej0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6PShpbnQ0IHYsIGludDMgYykgewotICAg
IGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9w
ZXJhdG9yLnh5ej0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0Lnog
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXo9KGZsb2F0
NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0g
Yy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHh3ICovCi1ib29s
NCBvcGVyYXRvci55eHh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4
eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHh3KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eSAqLwotYm9vbDMgb3BlcmF0b3Iud3h5
KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQzIG9wZXJhdG9yLnd4eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd4eShpbnQ0IHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJh
dG9yLnd4eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGRvdCAqLwotdWludCBkb3QodWludCBh
LCB1aW50IGIpIHsKLSAgICByZXR1cm4gYSAqIGI7Ci19Ci11aW50IGRvdCh1aW50MiBhLCB1aW50
MiBiKSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0g
KiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50MyBhLCB1aW50MyBiKSB7Ci0gICAgdWludCByZXN1bHQg
PSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50NCBhLCB1aW50NCBiKSB7Ci0gICAg
dWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
Ml0gKiBiWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbM10gKiBiWzNdOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQgZG90KGludCBhLCBpbnQgYikgewotICAgIHJldHVybiBhICogYjsK
LX0KLWludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKLSAgICBpbnQgcmVzdWx0ID0gMDsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFd
ICogYlsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50IGRvdChpbnQzIGEsIGludDMgYikg
ewotICAgIGludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQgZG90KGludDQgYSwg
aW50NCBiKSB7Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsw
XSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJb
M107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IGRvdChmbG9hdCBhLCBmbG9hdCBiKSB7
Ci0gICAgcmV0dXJuIGEgKiBiOwotfQotZmxvYXQgZG90KGZsb2F0MiBhLCBmbG9hdDIgYikgewot
ICAgIGZsb2F0IHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0IGRvdChmbG9hdDMgYSwgZmxvYXQzIGIpIHsKLSAgICBmbG9hdCByZXN1bHQgPSAw
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBkb3QoZmxvYXQ0IGEsIGZsb2F0NCBiKSB7Ci0gICAg
ZmxvYXQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzJdICogYlsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzNdICogYlszXTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHl3PSAqLwot
Ym9vbDQgb3BlcmF0b3Iuenh5dz0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnp4eXc9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp4eXc9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3Vs
dC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iuenh5dz0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAg
cmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5dyAqLwotYm9vbDMgb3BlcmF0b3Iu
eXl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5dyhpbnQ0IHYpIHsK
LSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9w
ZXJhdG9yLnl5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eD0gKi8KLWJv
b2w0IG9wZXJhdG9yLnl3eD0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eD0odWlu
dDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd4PShpbnQ0IHYsIGludDMgYykgewotICAgIGlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnl3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnh6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnh6eHgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDQgb3BlcmF0b3IueHp4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
enh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eHgodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh4KGludDMgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh6eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54
enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHgoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp3PSAq
LwotYm9vbDQgb3BlcmF0b3IueXh6dz0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAg
cmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl4enc9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4enc9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXh6dz0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eiAqLwotYm9vbDMgb3BlcmF0
b3Iud3h6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd4eihpbnQ0IHYp
IHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
IG9wZXJhdG9yLnd4eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3enkgKi8K
LWJvb2w0IG9wZXJhdG9yLnd3enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3d6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3enkoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3p5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4eiAqLwotYm9vbDQgb3BlcmF0
b3IueHd4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3h6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnh3eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3p6ICovCi1ib29sNCBvcGVyYXRvci53d3p6KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3enoodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci53d3p6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3Iud3d6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp4eHggKi8KLWJvb2w0IG9wZXJhdG9yLnp4eHgoYm9vbDMgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDQgb3BlcmF0b3Iuenh4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56eHh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eHgo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh4KGludDMgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci56eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4
eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhc2Zsb2F0
ICovCi1uYXRpdmUgZmxvYXQgYXNmbG9hdChpbnQpOwotZmxvYXQyIGFzZmxvYXQoaW50MiB4KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBhc2Zsb2F0KGludDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBhc2Zs
b2F0KGludDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9h
dCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNmbG9hdCh4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotbmF0aXZlIGZsb2F0IGFzZmxvYXQodWludCk7Ci1mbG9hdDIgYXNmbG9h
dCh1aW50MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2Zsb2F0
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBhc2Zsb2F0KHVpbnQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhc2Zsb2F0KHhb
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBhc2Zsb2F0KGZsb2F0IHgpIHsKLSAg
ICByZXR1cm4geDsKLX0KLWZsb2F0MiBhc2Zsb2F0KGZsb2F0MiB4KSB7Ci0gICAgcmV0dXJuIHg7
Ci19Ci1mbG9hdDMgYXNmbG9hdChmbG9hdDMgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQ0
IGFzZmxvYXQoZmxvYXQ0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0MngyIGFzZmxvYXQo
ZmxvYXQyeDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQyeDMgYXNmbG9hdChmbG9hdDJ4
MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDJ4NCBhc2Zsb2F0KGZsb2F0Mng0IHgpIHsK
LSAgICByZXR1cm4geDsKLX0KLWZsb2F0M3gyIGFzZmxvYXQoZmxvYXQzeDIgeCkgewotICAgIHJl
dHVybiB4OwotfQotZmxvYXQzeDMgYXNmbG9hdChmbG9hdDN4MyB4KSB7Ci0gICAgcmV0dXJuIHg7
Ci19Ci1mbG9hdDN4NCBhc2Zsb2F0KGZsb2F0M3g0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZs
b2F0NHgyIGFzZmxvYXQoZmxvYXQ0eDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQ0eDMg
YXNmbG9hdChmbG9hdDR4MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDR4NCBhc2Zsb2F0
KGZsb2F0NHg0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iuend5eCAqLwotYm9vbDQgb3BlcmF0b3Iuend5eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci56d3l4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuend5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eXgoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBpc25vcm1hbCAqLwot
bmF0aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQpOwotCi1ib29sMiBpc25vcm1hbChmbG9hdDIgeCkg
ewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc25vcm1hbCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBpc25vcm1hbCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDMgaXNub3JtYWwoZmxvYXQzIHgpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gaXNub3JtYWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IGlzbm9ybWFsKGZsb2F0NCB4KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGlzbm9ybWFsKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzbm9ybWFsKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGlzbm9ybWFsKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGlzbm9ybWFsKHhbM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9j
a2VkRXhjaGFuZ2UgKi8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2Vk
RXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNl
IHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19p
bnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2Uo
ZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3Jv
dXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2Vk
RXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVp
bnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91
cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0
b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueHp4ICovCi1ib29sMyBvcGVyYXRvci54engoYm9vbDMgdikgewotICAgIGJvb2wz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueHp4
KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQzIG9wZXJhdG9yLnh6eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54engodWludDQgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci54engoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHp4KGludDQgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHp4KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnh6eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIEdldERpbWVuc2lvbnMg
Ki8KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZp
Y2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2Ug
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+
LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQot
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBX
aWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIGRldmlj
ZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCBkZXZpY2UgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0K
LQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgdGhyZWFkIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0
aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQot
Ci0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0K
LQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCB0aHJlYWQg
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4s
IHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZp
Y2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8Zmxv
YXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0K
LQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9h
dDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZs
b2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9h
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0
aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
Q3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXcoYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd5dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54d3l3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IrICovCi1uYXRpdmUgaW50IG9wZXJhdG9yKyhpbnQsIGludCk7Ci1uYXRpdmUgdWlu
dCBvcGVyYXRvcisodWludCwgdWludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IrKGZsb2F0LCBm
bG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3IrKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvcisodWludDIs
IHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50MywgdWludDMpOwotbmF0aXZlIHVp
bnQzIG9wZXJhdG9yKyh1aW50LCB1aW50Myk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IrKHVpbnQz
LCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludDQsIHVpbnQ0KTsKLW5hdGl2ZSB1
aW50NCBvcGVyYXRvcisodWludCwgdWludDQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1aW50
NCwgdWludCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50MiwgaW50Mik7Ci1uYXRpdmUgaW50
MiBvcGVyYXRvcisoaW50LCBpbnQyKTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQyLCBpbnQp
OwotbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludDMpOwotbmF0aXZlIGludDMgb3BlcmF0
b3IrKGludCwgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvcisoaW50MywgaW50KTsKLW5hdGl2
ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQs
IGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IrKGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQy
IG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9h
dCwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0MiwgZmxvYXQpOwotbmF0
aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0MyBvcGVy
YXRvcisoZmxvYXQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yKyhmbG9hdDMsIGZs
b2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBm
bG9hdDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvciso
ZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBmbG9h
dDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4Mik7Ci1uYXRp
dmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3Ir
KGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0MngzLCBm
bG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1u
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3IrKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Ir
KGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0LCBm
bG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0M3gyLCBmbG9hdCk7Ci1u
YXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxv
YXQzeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3IrKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0
LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4NCk7
Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0LCBmbG9hdCk7Ci1uYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDIgb3Bl
cmF0b3IrKGZsb2F0LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0
NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzLCBmbG9hdDR4
Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3IrKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZs
b2F0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0LCBmbG9h
dCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRv
cisodWludDMpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1aW50NCk7Ci1uYXRpdmUgaW50MiBv
cGVyYXRvcisoaW50Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRvcisoaW50Myk7Ci1uYXRpdmUgaW50
NCBvcGVyYXRvcisoaW50NCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIpOwotbmF0
aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZs
b2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9h
dDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMpOwotbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKyhmbG9h
dDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9h
dDN4MyBvcGVyYXRvcisoZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhmbG9h
dDN4NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9h
dDR4MyBvcGVyYXRvcisoZmxvYXQ0eDMpOwotbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9h
dDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHggKi8KLWJvb2wzIG9wZXJh
dG9yLnp4eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eHgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenh4KHVpbnQz
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnp4eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eChpbnQzIHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHgo
aW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci56eHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh4KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh5eCAqLwotYm9vbDQgb3BlcmF0b3IueHh5eChib29s
MiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHl4KGJvb2wzIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHh5eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl4
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eXgodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh4eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eChp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXgoZmxvYXQyIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eHl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueHp6dyAqLwotYm9vbDQgb3BlcmF0b3IueHp6dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp3KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueHp6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnh6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXd6PSAqLwotYm9vbDQgb3BlcmF0b3IueHl3ej0oYm9vbDQgdiwgYm9vbDQgYykg
ewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0
LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5d3o9KHVpbnQ0IHYsIHVpbnQ0IGMp
IHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5d3o9KGludDQgdiwgaW50NCBjKSB7
Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3ej0oZmxvYXQ0IHYsIGZsb2F0NCBj
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVz
dWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHcg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd4eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3h4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHcoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHh3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p5eCAqLwotYm9vbDQgb3Bl
cmF0b3Iud3p5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl4KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eChpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBmcmFjICovCi1mbG9hdCBmcmFjKGZsb2F0IHgpIHsKLSAgICByZXR1
cm4geCAtIGZsb29yKHgpOwotfQotZmxvYXQyIGZyYWMoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZnJh
Yyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGZyYWMoZmxvYXQzIHgpIHsK
LSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmcmFjKHhbMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZnJhYyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmcmFjKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZnJhYyh4
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgZnJhYyhmbG9hdDJ4MiB4KSB7
Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
cmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZyYWMoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0Mngz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZy
YWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZnJhYyhmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJh
Yyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgZnJhYyhmbG9hdDN4MiB4KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFj
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBmcmFjKGZsb2F0M3gzIHgpIHsKLSAg
ICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBm
cmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZyYWMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZy
YWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgZnJhYyhmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGZyYWMo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBmcmFjKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBm
cmFjKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGZy
YWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZyYWMoeFsyXVsz
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBmcmFjKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzNdID0gZnJhYyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgc3RvcmUgKi8KLW5hdGl2ZSB2b2lkIHN0b3JlKGRldmljZSBhdG9t
aWNfaW50KiwgaW50KTsKLW5hdGl2ZSB2b2lkIHN0b3JlKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQpOwotbmF0aXZlIHZvaWQgc3RvcmUodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCk7Ci1u
YXRpdmUgdm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQpOwotCi0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3cgKi8KLWJvb2wzIG9wZXJhdG9yLnp3dyhib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci56d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56d3coaW50NCB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56
d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enp6ICovCi1ib29sNCBvcGVy
YXRvci55enp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6enooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eih1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueXp6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enp6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6eihmbG9hdDMgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgcmVmcmFjdCAqLwotZmxvYXQgcmVmcmFjdChmbG9hdCBpLCBm
bG9hdCBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdCByZXN1bHQ7Ci0gICAgZmxvYXQgayA9IDEg
LSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7Ci0gICAgaWYgKGsgPCAw
KQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRv
dChuLCBpKSArIHNxcnQoaykpICogbjsKLX0KLWZsb2F0MiByZWZyYWN0KGZsb2F0MiBpLCBmbG9h
dDIgbiwgZmxvYXQgZXRhKSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBmbG9hdCBrID0gMSAt
IGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKLSAgICBpZiAoayA8IDAp
Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90
KG4sIGkpICsgc3FydChrKSkgKiBuOwotfQotZmxvYXQzIHJlZnJhY3QoZmxvYXQzIGksIGZsb2F0
MyBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIGZsb2F0IGsgPSAxIC0g
ZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOwotICAgIGlmIChrIDwgMCkK
LSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3Qo
biwgaSkgKyBzcXJ0KGspKSAqIG47Ci19Ci1mbG9hdDQgcmVmcmFjdChmbG9hdDQgaSwgZmxvYXQ0
IG4sIGZsb2F0IGV0YSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgZmxvYXQgayA9IDEgLSBl
dGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7Ci0gICAgaWYgKGsgPCAwKQot
ICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChu
LCBpKSArIHNxcnQoaykpICogbjsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enh5dyAqLwotYm9vbDQgb3BlcmF0b3Iuenh5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh5
dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXcoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53encgKi8KLWJvb2wz
IG9wZXJhdG9yLnd6dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53encodWludDQgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53enco
aW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci53encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
d3p6ICovCi1ib29sNCBvcGVyYXRvci56d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp3enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3p6
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend6eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGxvZzEwICovCi1mbG9hdCBsb2cxMChm
bG9hdCB4KSB7Ci0gICAgcmV0dXJuIGxvZyh4KSAvIGxvZyhmbG9hdCgxMCkpOwotfQotZmxvYXQy
IGxvZzEwKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBs
b2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIGxvZzEwKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IGxvZzEwKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsKLSAgICByZXN1bHRb
Ml0gPSBsb2cxMCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBsb2cxMCh4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbG9nMTAoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0Mngy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4
WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbG9nMTAoZmxvYXQzeDIg
eCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbG9nMTAoZmxv
YXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cx
MCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2cxMCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgbG9nMTAoZmxv
YXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cx
MCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4
WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbG9nMTAoZmxvYXQ0eDIg
eCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQg
bG9nMTAoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBs
b2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSBsb2cxMCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAg
ICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cx
MCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBsb2cxMCh4WzNdWzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IvICovCi1uYXRpdmUg
aW50IG9wZXJhdG9yLyhpbnQsIGludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvci8odWludCwgdWlu
dCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIg
b3BlcmF0b3IvKHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQyLCB1
aW50KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvci8odWludCwgdWludDIpOwotbmF0aXZlIHVpbnQz
IG9wZXJhdG9yLyh1aW50MywgdWludDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50Mywg
dWludCk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IvKHVpbnQsIHVpbnQzKTsKLW5hdGl2ZSB1aW50
NCBvcGVyYXRvci8odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludDQs
IHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLyh1aW50LCB1aW50NCk7Ci1uYXRpdmUgaW50
MiBvcGVyYXRvci8oaW50MiwgaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci8oaW50MiwgaW50
KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLyhpbnQsIGludDIpOwotbmF0aXZlIGludDMgb3BlcmF0
b3IvKGludDMsIGludDMpOwotbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMsIGludCk7Ci1uYXRp
dmUgaW50MyBvcGVyYXRvci8oaW50LCBpbnQzKTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0
LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQpOwotbmF0aXZlIGludDQg
b3BlcmF0b3IvKGludCwgaW50NCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZs
b2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDIpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8o
ZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDQg
b3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0
NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci8oZmxvYXQsIGZsb2F0NCk7Ci1uYXRp
dmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQy
eDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3Iv
KGZsb2F0LCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBm
bG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdCk7Ci1u
YXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0
b3IvKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0LCBm
bG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdDN4Mik7
Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdCk7Ci1uYXRpdmUgZmxv
YXQzeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3IvKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0
M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Myk7
Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUg
ZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0
NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0NHgyLCBmbG9h
dCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4Mik7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZs
b2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9h
dDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54d3p4ICovCi1ib29sNCBvcGVyYXRvci54d3p4KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54d3p4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6
eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp4d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenh3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4
d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHd3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6eCAqLwotYm9v
bDQgb3BlcmF0b3Iud3l6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53
eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l6eChpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eSAqLwotYm9vbDIgb3BlcmF0b3Iud3ko
Ym9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iud3ko
dWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci53eShp
bnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnd5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3p5eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p5eihib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iud3p5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eXoo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBkZHlfZmluZSAq
LwotZmxvYXQgZGR5X2ZpbmUoZmxvYXQgeCkgewotICAgIHJldHVybiBkZHkoeCk7Ci19Ci1mbG9h
dDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGRkeV9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR5X2ZpbmUoZmxvYXQzIHgpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeV9maW5lKHhbMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZGR5X2ZpbmUoZmxvYXQ0IHgpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeV9maW5lKHhbMl0pOwotICAg
IHJlc3VsdFszXSA9IGRkeV9maW5lKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZHlfZmluZShmbG9hdDJ4NCB4
KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5l
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4MiB4KSB7Ci0gICAg
ZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBk
ZHlfZmluZShmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5l
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9m
aW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsy
XVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZHlf
ZmluZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5l
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9m
aW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7Ci0gICAg
ZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsy
XVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5l
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGRkeV9m
aW5lKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci54eXp4ICovCi1ib29sNCBvcGVyYXRvci54eXp4KGJvb2wzIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp4
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6eChpbnQzIHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci54eXp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueHl6eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54
eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3l4PSAqLwotYm9vbDQgb3BlcmF0b3Iud3l4PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAg
Ym9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3l4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXg9KGludDQgdiwgaW50
MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJl
c3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iud3l4PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAg
ICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3p5eSAqLwotYm9vbDQgb3BlcmF0b3Iud3p5eShib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3p5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6
eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55d3ogKi8KLWJvb2wzIG9wZXJhdG9yLnl3eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3oodWludDQg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci55d3ooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBhbnkgKi8KLWJvb2wgYW55KGJvb2wgeCkgewotICAgIHJldHVybiB4OwotfQotYm9vbCBh
bnkoYm9vbDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sIGFueShib29sMyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsxXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbCBhbnkoYm9vbDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkodWludCB4KSB7Ci0g
ICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYW55KHVpbnQyIHgpIHsKLSAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wg
YW55KHVpbnQzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sIGFueSh1aW50NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wg
YW55KGludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYW55KGludDIgeCkgewot
ICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbCBhbnkoaW50MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoaW50NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBm
YWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2wgYW55KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geCAhPSAwOwotfQotYm9vbCBh
bnkoZmxvYXQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0MyB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQ0IHgpIHsK
LSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXSAhPSAw
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQyeDIgeCkgewotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFd
ICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShmbG9hdDJ4MyB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbCBhbnkoZmxvYXQyeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bCBhbnkoZmxvYXQzeDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsw
XVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0M3gzIHgpIHsKLSAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sIGFueShmbG9hdDN4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQ0
eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XVsxXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQ0eDMgeCkg
ewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0gMCk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NHg0IHgpIHsKLSAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFszXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnko
Ym9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4MyB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsy
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbCBhbnkoYm9vbDN4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9v
bDN4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDN4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBm
YWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsz
XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDR4MiB4KSB7Ci0gICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDR4MyB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDR4NCB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsz
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsyXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsz
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVszXTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh3dyAqLwotYm9vbDQgb3BlcmF0
b3IueXh3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd3KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnl4d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eT0gKi8KLWJvb2wzIG9wZXJhdG9yLnp5PShib29sMyB2
LCBib29sMiBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsK
LSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0
b3Iuenk9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBvcGVyYXRvci56eT0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0g
ICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eT0oaW50MyB2LCBp
bnQyIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAg
cmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenk9
KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0g
Yy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3Iuenk9KGZsb2F0MyB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenk9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci53eXogKi8KLWJvb2wzIG9wZXJhdG9yLnd5eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eXoodWludDQg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci53eXooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eHc9ICovCi1ib29sNCBvcGVyYXRvci55eHc9KGJvb2w0IHYsIGJvb2wz
IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJl
c3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55eHc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4dz0o
aW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXh6ICovCi1ib29sNCBvcGVyYXRvci53eXh6KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5eHoodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci53eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iud3l4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5h
bWVkIGRkeV9jb2Fyc2UgKi8KLWZsb2F0IGRkeV9jb2Fyc2UoZmxvYXQgeCkgewotICAgIHJldHVy
biBkZHkoeCk7Ci19Ci1mbG9hdDIgZGR5X2NvYXJzZShmbG9hdDIgeCkgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR5X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBkZHlfY29hcnNlKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR5X2Nv
YXJzZShmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR5
X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHlfY29hcnNlKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGRkeV9jb2Fyc2UoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBkZHlfY29hcnNlKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBkZHlfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBkZHlf
Y29hcnNlKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHlfY29hcnNl
KGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29h
cnNlKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZHlfY29hcnNl
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29h
cnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBkZHlfY29hcnNlKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBk
ZHlfY29hcnNlKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29h
cnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsy
XVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGRkeV9jb2Fyc2UoZmxvYXQz
eDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBkZHlfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9j
b2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4KSB7
Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9j
b2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5
X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgp
IHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNl
KHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZHlfY29hcnNlKGZs
b2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5
X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNl
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBk
ZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fy
c2UoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGRkeV9jb2Fyc2Uo
ZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBk
ZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fy
c2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGRkeV9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5X2Nv
YXJzZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNlKHhb
M11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54eXp6ICovCi1ib29sNCBvcGVyYXRvci54eXp6KGJvb2wzIHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2w0IG9wZXJhdG9yLnh5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHl6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6eihpbnQzIHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eXp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueHl6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp6KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IrKyAq
LwotdWludCBvcGVyYXRvcisrKHVpbnQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgKyAxOwot
fQotaW50IG9wZXJhdG9yKysoaW50IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlICsgMTsKLX0K
LWZsb2F0IG9wZXJhdG9yKysoZmxvYXQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgKyAxOwot
fQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRBbmQgKi8KLW5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFk
IGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY191aW50Kiwg
dWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFu
ZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWlu
dCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJl
YWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7
Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50
LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkQW5kKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCop
OwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6eD0gKi8KLWJvb2w0IG9wZXJhdG9y
Lnd5eng9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owot
ICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53eXp4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
LSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53eXp4PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAg
ICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnd5eng9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56
OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci54eHd4ICovCi1ib29sNCBvcGVyYXRvci54eHd4KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4d3godWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eHd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueHh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh3d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3goYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueHd3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnh3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3d4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IuenkgKi8K
LWJvb2wyIG9wZXJhdG9yLnp5KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2wyIG9wZXJhdG9yLnp5KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQzIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDIgb3BlcmF0b3IuenkoaW50MyB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDIgb3BlcmF0b3IuenkoaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MiBvcGVyYXRvci56eShmbG9hdDMgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MiBvcGVyYXRvci56eShmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnp5
eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl5dyh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56eXl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHd6eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3enk9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54Owot
ICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3p5PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9
IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p5PShpbnQ0IHYs
IGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3enk9KGZsb2F0NCB2
LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55
ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvcn4gKi8KLWJvb2wgb3BlcmF0b3J+KGJvb2wgdmFsdWUpIHsKLSAgICByZXR1cm4gIXZhbHVl
OwotfQotbmF0aXZlIGludCBvcGVyYXRvcn4oaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yfih1
aW50KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGRkeCAqLwotbmF0aXZlIGZsb2F0IGRkeChmbG9h
dCk7Ci1mbG9hdDIgZGR4KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR4KGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGRkeCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IGRkeChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHgo
eFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZGR4KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZHgoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGRkeChmbG9h
dDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhb
MV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4
KHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBkZHgoZmxvYXQzeDIg
eCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKLSAg
ICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0M3g0IGRkeChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGRkeCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhb
Ml1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkg
ewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4
KHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZHgoZmxvYXQ0eDMg
eCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZGR4KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBkZHgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDQgZGR4KGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZGR4KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsyXVsz
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzNdID0gZGR4KHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enl4ICovCi1ib29sNCBvcGVyYXRvci56enl4KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6eXgoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iuenp5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eChp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56enl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHd6eiAqLwotYm9vbDQgb3BlcmF0b3IueHd6eihib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHd6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3
enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci53eXd4ICovCi1ib29sNCBvcGVyYXRvci53eXd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnd5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53
eXd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eChmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkTWF4ICovCi1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJl
YWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQq
LCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE1heChkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQs
IHRocmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3Jv
dXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBk
ZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRv
bWljX2ludCosIGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgo
dGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZE1heCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJl
YWRncm91cCBpbnQqKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvc2ggKi8KLW5hdGl2ZSBmbG9h
dCBjb3NoKGZsb2F0KTsKLWZsb2F0MiBjb3NoKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvc2goeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBjb3NoKGZsb2F0MyB4KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGNvc2goeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGNvc2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY29zaCh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBjb3NoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGNvc2goeFszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGNvc2goZmxvYXQyeDIgeCkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBjb3NoKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewotICAgIGZs
b2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgY29zaChmbG9hdDN4MyB4KSB7Ci0gICAgZmxv
YXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29z
aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGNvc2goeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgy
IGNvc2goZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NHgzIGNvc2goZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2go
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBj
b3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gY29zaCh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zaChm
bG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNv
c2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gY29zaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29z
aCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwotICAgIHJlc3Vs
dFszXVszXSA9IGNvc2goeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIGRkeF9jb2Fyc2UgKi8KLWZsb2F0IGRkeF9jb2Fyc2UoZmxvYXQgeCkgewot
ICAgIHJldHVybiBkZHgoeCk7CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBX
aWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Piwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGludD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKworCituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWQgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgZGV2
aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKworCisKKworCisKKworCisKKworCisK
KworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCog
V2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9h
dD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQq
IFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxm
bG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CisKKworCisKKworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQz
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworCisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+
LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
Q3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJl
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKyAqLwor
bmF0aXZlIGludCBvcGVyYXRvcisoaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3IrKHVp
bnQsIHVpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQpOworbmF0aXZl
IHVpbnQyIG9wZXJhdG9yKyh1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKyh1
aW50LCB1aW50Mik7CituYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyLCB1aW50KTsKK25hdGl2
ZSB1aW50MyBvcGVyYXRvcisodWludDMsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvciso
dWludCwgdWludDMpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50MywgdWludCk7CituYXRp
dmUgdWludDQgb3BlcmF0b3IrKHVpbnQ0LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3Ir
KHVpbnQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludDQsIHVpbnQpOworbmF0
aXZlIGludDIgb3BlcmF0b3IrKGludDIsIGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3IrKGlu
dCwgaW50Mik7CituYXRpdmUgaW50MiBvcGVyYXRvcisoaW50MiwgaW50KTsKK25hdGl2ZSBpbnQz
IG9wZXJhdG9yKyhpbnQzLCBpbnQzKTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQsIGludDMp
OworbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludCk7CituYXRpdmUgaW50NCBvcGVyYXRv
cisoaW50NCwgaW50NCk7CituYXRpdmUgaW50NCBvcGVyYXRvcisoaW50LCBpbnQ0KTsKK25hdGl2
ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxv
YXQyLCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0Mik7Citu
YXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDMgb3Bl
cmF0b3IrKGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IrKGZsb2F0LCBm
bG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9y
KyhmbG9hdCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCwgZmxvYXQp
OworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yKyhmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZl
IGZsb2F0MngyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0MngyIG9w
ZXJhdG9yKyhmbG9hdDJ4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9h
dDJ4MywgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQy
eDMpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9hdDJ4MywgZmxvYXQpOworbmF0aXZl
IGZsb2F0Mng0IG9wZXJhdG9yKyhmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0
IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKyhm
bG9hdDJ4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4MiwgZmxv
YXQzeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQzeDIpOworbmF0
aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gz
IG9wZXJhdG9yKyhmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9y
KyhmbG9hdCwgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKyhmbG9hdDN4Mywg
ZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhmbG9hdDN4NCwgZmxvYXQzeDQpOwor
bmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0
M3g0IG9wZXJhdG9yKyhmbG9hdDN4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9y
KyhmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhmbG9hdCwg
ZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhmbG9hdDR4MiwgZmxvYXQpOwor
bmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yKyhmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGZs
b2F0NHgzIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJh
dG9yKyhmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4
NCwgZmxvYXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQ0eDQp
OworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4NCwgZmxvYXQpOworbmF0aXZlIHVp
bnQyIG9wZXJhdG9yKyh1aW50Mik7CituYXRpdmUgdWludDMgb3BlcmF0b3IrKHVpbnQzKTsKK25h
dGl2ZSB1aW50NCBvcGVyYXRvcisodWludDQpOworbmF0aXZlIGludDIgb3BlcmF0b3IrKGludDIp
OworbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMpOworbmF0aXZlIGludDQgb3BlcmF0b3IrKGlu
dDQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDMgb3Bl
cmF0b3IrKGZsb2F0Myk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQpOworbmF0aXZl
IGZsb2F0MngyIG9wZXJhdG9yKyhmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3Ir
KGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQpOworbmF0aXZl
IGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3Ir
KGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvcisoZmxvYXQzeDQpOworbmF0aXZl
IGZsb2F0NHgyIG9wZXJhdG9yKyhmbG9hdDR4Mik7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3Ir
KGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQpOworCisvKiBG
dW5jdGlvbnMgbmFtZWQgZnJhYyAqLworZmxvYXQgZnJhYyhmbG9hdCB4KSB7CisgICAgcmV0dXJu
IHggLSBmbG9vcih4KTsKIH0KLWZsb2F0MiBkZHhfY29hcnNlKGZsb2F0MiB4KSB7CitmbG9hdDIg
ZnJhYyhmbG9hdDIgeCkgewogICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4
X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOworICAgIHJl
c3VsdFswXSA9IGZyYWMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIGRkeF9jb2Fyc2UoZmxvYXQzIHgpIHsKK2Zsb2F0MyBm
cmFjKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHhf
Y29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9jb2Fyc2UoeFsxXSk7Ci0gICAgcmVz
dWx0WzJdID0gZGR4X2NvYXJzZSh4WzJdKTsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZnJhYyh4WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGRkeF9jb2Fyc2UoZmxvYXQ0IHgpIHsKK2Zs
b2F0NCBmcmFjKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBkZHhfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9jb2Fyc2UoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gZGR4X2NvYXJzZSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBkZHhfY29h
cnNlKHhbM10pOworICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
ZnJhYyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmcmFjKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGZyYWMoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGRkeF9jb2Fyc2Uo
ZmxvYXQyeDIgeCkgeworZmxvYXQyeDIgZnJhYyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhf
Y29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBm
cmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQy
eDMgZGR4X2NvYXJzZShmbG9hdDJ4MyB4KSB7CitmbG9hdDJ4MyBmcmFjKGZsb2F0MngzIHgpIHsK
ICAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2Nv
YXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGZyYWMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IGRk
eF9jb2Fyc2UoZmxvYXQyeDQgeCkgeworZmxvYXQyeDQgZnJhYyhmbG9hdDJ4NCB4KSB7CiAgICAg
ZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2Uo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGRkeF9jb2Fyc2UoZmxvYXQzeDIgeCkgewor
ZmxvYXQzeDIgZnJhYyhmbG9hdDN4MiB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNl
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MyBkZHhfY29hcnNlKGZsb2F0M3gzIHgpIHsKK2Zsb2F0
M3gzIGZyYWMoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2Nv
YXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CitmbG9hdDN4NCBm
cmFjKGZsb2F0M3g0IHgpIHsKICAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhf
Y29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2Uo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRk
eF9jb2Fyc2UoeFsyXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBm
cmFjKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1b
Ml0pOworICAgIHJlc3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkgeworZmxvYXQ0eDIgZnJhYyhm
bG9hdDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRk
eF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAg
IHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
ZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJh
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGZyYWMoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIGRkeF9jb2Fy
c2UoZmxvYXQ0eDMgeCkgeworZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fy
c2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IGRkeF9jb2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3Vs
dFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBmcmFjKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFj
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCBkZHhfY29hcnNlKGZs
b2F0NHg0IHgpIHsKK2Zsb2F0NHg0IGZyYWMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2Nv
YXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhf
Y29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2Uo
eFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKLSAgICBy
ZXN1bHRbM11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOworICAgIHJlc3VsdFswXVswXSA9IGZy
YWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZnJhYyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJh
Yyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJlc3Vs
dFszXVszXSA9IGZyYWMoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyogRnVu
Y3Rpb25zIG5hbWVkIHN0b3JlICovCituYXRpdmUgdm9pZCBzdG9yZShkZXZpY2UgYXRvbWljX2lu
dCosIGludCk7CituYXRpdmUgdm9pZCBzdG9yZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50KTsK
K25hdGl2ZSB2b2lkIHN0b3JlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQpOworbmF0aXZl
IHZvaWQgc3RvcmUodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50KTsKKworLyogRnVuY3Rp
b25zIG5hbWVkIHJlZnJhY3QgKi8KK2Zsb2F0IHJlZnJhY3QoZmxvYXQgaSwgZmxvYXQgbiwgZmxv
YXQgZXRhKSB7CisgICAgZmxvYXQgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRh
ICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBz
cXJ0KGspKSAqIG47Cit9CitmbG9hdDIgcmVmcmFjdChmbG9hdDIgaSwgZmxvYXQyIG4sIGZsb2F0
IGV0YSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEg
KiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAwKQorICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNx
cnQoaykpICogbjsKK30KK2Zsb2F0MyByZWZyYWN0KGZsb2F0MyBpLCBmbG9hdDMgbiwgZmxvYXQg
ZXRhKSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAq
ICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAoayA8IDApCisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3Fy
dChrKSkgKiBuOworfQorZmxvYXQ0IHJlZnJhY3QoZmxvYXQ0IGksIGZsb2F0NCBuLCBmbG9hdCBl
dGEpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICog
KDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0
KGspKSAqIG47Cit9CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cxMCAqLworZmxvYXQgbG9nMTAo
ZmxvYXQgeCkgeworICAgIHJldHVybiBsb2coeCkgLyBsb2coZmxvYXQoMTApKTsKK30KK2Zsb2F0
MiBsb2cxMChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bG9nMTAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4ej0gKi8KLWJvb2w0IG9w
ZXJhdG9yLnd4ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4ej0odWludDQgdiwg
dWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3Iud3h6PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4
ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Citm
bG9hdDMgbG9nMTAoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzEwKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGxvZzEwKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBmaXJzdGJpdGhpZ2ggKi8KLXVpbnQgZmlyc3RiaXRoaWdoKHVpbnQgeCkgewotICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAzMSkpICE9IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAzMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAyOSkpICE9IDApCi0gICAgICAgIHJldHVybiAyOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAyOCkpICE9IDApCi0gICAgICAgIHJldHVybiAzOwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyNykpICE9IDApCi0gICAgICAgIHJldHVybiA0OwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyNikpICE9IDApCi0gICAgICAgIHJldHVybiA1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyNSkpICE9IDApCi0gICAgICAgIHJldHVybiA2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAy
NCkpICE9IDApCi0gICAgICAgIHJldHVybiA3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykp
ICE9IDApCi0gICAgICAgIHJldHVybiA4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9
IDApCi0gICAgICAgIHJldHVybiA5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMSkpICE9IDAp
Ci0gICAgICAgIHJldHVybiAxMDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQot
ICAgICAgICByZXR1cm4gMTE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKLSAg
ICAgICAgcmV0dXJuIDEyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOCkpICE9IDApCi0gICAg
ICAgIHJldHVybiAxMzsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMTQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDE1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNSkpICE9IDApCi0gICAgICAgIHJl
dHVybiAxNjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMTc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDE4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMikpICE9IDApCi0gICAgICAgIHJldHVybiAx
OTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjA7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIxOwot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCA5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIyOwotICAg
IGlmICgoeCAmIHVpbnQoMSA8PCA4KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIzOwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCA3KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI0OwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCA2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI1OwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA1KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI2OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI3OwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAx
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDMwOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDMxOwotICAgIHJldHVybiAzMjsKK2Zsb2F0NCBsb2cxMChm
bG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbG9nMTAoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gbG9nMTAo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gbG9nMTAoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQgZmlyc3RiaXRoaWdoKGludCB4KSB7Ci0gICAgcmV0dXJuIGZpcnN0Yml0aGlnaCh1
aW50KHgpKTsKK2Zsb2F0MngyIGxvZzEwKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQyIGZpcnN0Yml0aGlnaCh1aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhp
Z2goeFsxXSk7CitmbG9hdDJ4MyBsb2cxMChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50MyBmaXJzdGJpdGhpZ2godWludDMgeCkgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4
WzJdKTsKK2Zsb2F0Mng0IGxvZzEwKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IGZpcnN0Yml0aGlnaCh1aW50NCB4KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmly
c3RiaXRoaWdoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0aGlnaCh4WzNdKTsKK2Zs
b2F0M3gyIGxvZzEwKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQyIGZpcnN0Yml0aGlnaChpbnQyIHgpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0
aGlnaCh4WzFdKTsKK2Zsb2F0M3gzIGxvZzEwKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIGZpcnN0Yml0aGlnaChpbnQzIHgpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGZpcnN0Yml0aGlnaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7
CitmbG9hdDN4NCBsb2cxMChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEw
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGxvZzEwKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBmaXJzdGJpdGhpZ2goaW50NCB4KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9
IGZpcnN0Yml0aGlnaCh4WzNdKTsKK2Zsb2F0NHgyIGxvZzEwKGZsb2F0NHgyIHgpIHsKKyAgICBm
bG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIGxvZzEw
KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gbG9nMTAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9n
MTAoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGxvZzEwKGZsb2F0
NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9n
MTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzNdID0gbG9nMTAoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6enkgKi8KLWJvb2w0IG9wZXJhdG9y
Lnh6enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eShib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp5KHVpbnQzIHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh6enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLyAqLworbmF0aXZlIGludCBvcGVyYXRvci8oaW50LCBpbnQpOworbmF0
aXZlIHVpbnQgb3BlcmF0b3IvKHVpbnQsIHVpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yLyhm
bG9hdCwgZmxvYXQpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yLyh1aW50MiwgdWludDIpOworbmF0
aXZlIHVpbnQyIG9wZXJhdG9yLyh1aW50MiwgdWludCk7CituYXRpdmUgdWludDIgb3BlcmF0b3Iv
KHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvci8odWludDMsIHVpbnQzKTsKK25h
dGl2ZSB1aW50MyBvcGVyYXRvci8odWludDMsIHVpbnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9y
Lyh1aW50LCB1aW50Myk7CituYXRpdmUgdWludDQgb3BlcmF0b3IvKHVpbnQ0LCB1aW50NCk7Citu
YXRpdmUgdWludDQgb3BlcmF0b3IvKHVpbnQ0LCB1aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRv
ci8odWludCwgdWludDQpOworbmF0aXZlIGludDIgb3BlcmF0b3IvKGludDIsIGludDIpOworbmF0
aXZlIGludDIgb3BlcmF0b3IvKGludDIsIGludCk7CituYXRpdmUgaW50MiBvcGVyYXRvci8oaW50
LCBpbnQyKTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yLyhpbnQzLCBpbnQzKTsKK25hdGl2ZSBpbnQz
IG9wZXJhdG9yLyhpbnQzLCBpbnQpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludCwgaW50Myk7
CituYXRpdmUgaW50NCBvcGVyYXRvci8oaW50NCwgaW50NCk7CituYXRpdmUgaW50NCBvcGVyYXRv
ci8oaW50NCwgaW50KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQsIGludDQpOworbmF0aXZl
IGZsb2F0MiBvcGVyYXRvci8oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRv
ci8oZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQy
KTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IvKGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBmbG9h
dDMgb3BlcmF0b3IvKGZsb2F0MywgZmxvYXQpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxv
YXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLyhmbG9hdDQsIGZsb2F0NCk7Citu
YXRpdmUgZmxvYXQ0IG9wZXJhdG9yLyhmbG9hdDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDQgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdDJ4
MiwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdDJ4MiwgZmxvYXQp
OworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZs
b2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0MngzIG9w
ZXJhdG9yLyhmbG9hdDJ4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLyhmbG9h
dCwgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdDJ4NCwgZmxvYXQy
eDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdDJ4NCwgZmxvYXQpOworbmF0aXZl
IGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0M3gyIG9w
ZXJhdG9yLyhmbG9hdDN4MiwgZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhm
bG9hdDN4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQz
eDIpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0
aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdDN4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gz
IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLyhm
bG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdDN4NCwg
ZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzeDQpOworbmF0
aXZlIGZsb2F0NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9y
LyhmbG9hdCwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4Mywg
ZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4MywgZmxvYXQpOwor
bmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0
NHg0IG9wZXJhdG9yLyhmbG9hdDR4NCwgZmxvYXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJh
dG9yLyhmbG9hdDR4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLyhmbG9hdCwg
ZmxvYXQ0eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2ZpbmUgKi8KK2Zsb2F0IGRkeV9m
aW5lKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZGR5KHgpOwogfQotaW50NCBvcGVyYXRvci54enp5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owor
ZmxvYXQyIGRkeV9maW5lKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enp5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGRkeV9maW5l
KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfZmlu
ZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBkZHlfZmluZSh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9y
Lnh6enkoZmxvYXQzIHYpIHsKK2Zsb2F0NCBkZHlfZmluZShmbG9hdDQgeCkgewogICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdID0gZGR5
X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2ZpbmUoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gZGR5X2ZpbmUoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZGR5X2ZpbmUoeFszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54enp5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MngyIGRk
eV9maW5lKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3enggKi8KLWJvb2w0IG9wZXJhdG9yLnp3engoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0MngzIGRkeV9maW5lKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5
X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3engodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IGRk
eV9maW5lKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gZGR5X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2Zp
bmUoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuend6eChp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0M3gyIGRkeV9maW5lKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5
X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56d3p4KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gz
IGRkeV9maW5lKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2Zp
bmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5
X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5encg
Ki8KLWJvb2w0IG9wZXJhdG9yLnl5encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3g0IGRkeV9maW5lKGZsb2F0M3g0IHgpIHsK
KyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2ZpbmUoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2ZpbmUoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZGR5X2ZpbmUoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnl5encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgyIGRkeV9maW5lKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2ZpbmUoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2ZpbmUoeFsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIGRkeV9maW5lKGZsb2F0NHgz
IHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Zp
bmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2ZpbmUoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2ZpbmUoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IGRkeV9maW5lKGZsb2F0NHg0
IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2Zp
bmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5
X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2ZpbmUoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
ZGR5X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gZGR5X2ZpbmUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZGR5X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2ZpbmUoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2ZpbmUoeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzNdID0gZGR5X2ZpbmUoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnh3eHcoYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGFueSAqLworYm9vbCBhbnkoYm9vbCB4
KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11aW50NCBvcGVyYXRvci54d3h3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Citib29sIGFueShib29s
MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDQgb3BlcmF0b3IueHd4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55KGJvb2wzIHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd4dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Citib29sIGFueShib29s
NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCByY3AgKi8KLWZsb2F0IHJjcChmbG9h
dCB4KSB7Ci0gICAgcmV0dXJuIDEgLyB4OworYm9vbCBhbnkodWludCB4KSB7CisgICAgcmV0dXJu
IHggIT0gMDsKIH0KLWZsb2F0MiByY3AoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSByY3AoeFsxXSk7Citi
b29sIGFueSh1aW50MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9
IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgcmNwKGZsb2F0MyB4KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gcmNwKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsKK2Jvb2wgYW55KHVpbnQz
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDQgcmNwKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBy
Y3AoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHJj
cCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSByY3AoeFszXSk7Citib29sIGFueSh1aW50NCB4KSB7
CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0g
MCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7Ci0g
ICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OworYm9vbCBhbnkoaW50IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOwogfQotZmxvYXQyeDMg
cmNwKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByY3AoeFsxXVsyXSk7Citib29sIGFueShpbnQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZh
bHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IHJj
cChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSByY3AoeFsxXVszXSk7Citib29sIGFueShpbnQzIHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiByY3AoZmxvYXQzeDIg
eCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFd
KTsKK2Jvb2wgYW55KGludDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4
MyByY3AoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJd
WzJdKTsKK2Jvb2wgYW55KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBh
bnkoZmxvYXQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworYm9vbCBhbnkoZmxvYXQzIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiByY3AoZmxvYXQ0
eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gcmNwKHhbM11bMV0pOworYm9vbCBhbnkoZmxvYXQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXSAhPSAwKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0eDMgcmNwKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJj
cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNw
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByY3Ao
eFszXVsyXSk7Citib29sIGFueShmbG9hdDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IHJjcChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gcmNwKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11b
Ml0pOwotICAgIHJlc3VsdFszXVszXSA9IHJjcCh4WzNdWzNdKTsKK2Jvb2wgYW55KGZsb2F0Mngz
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHp4ICovCi1ib29sNCBv
cGVyYXRvci53eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Citib29sIGFueShmbG9hdDJ4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBm
YWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eHp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citib29sIGFueShmbG9hdDN4MiB4KSB7CisgICAg
Ym9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci53eHp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OworYm9vbCBhbnkoZmxvYXQzeDMgeCkgeworICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci53eHp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Jvb2wgYW55KGZsb2F0M3g0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enkgKi8KLWJvb2wzIG9wZXJhdG9yLnd6
eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OworYm9vbCBhbnkoZmxvYXQ0eDIg
eCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsz
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iud3p5KHVpbnQ0
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Citib29sIGFueShmbG9hdDR4MyB4KSB7Cisg
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci53enkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Citib29sIGFueShmbG9hdDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
M10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM11bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci53
enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OworYm9vbCBhbnkoYm9vbDJ4
MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh3ICovCi1i
b29sMyBvcGVyYXRvci56eHcoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jv
b2wgYW55KGJvb2wyeDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnp4
dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworYm9vbCBhbnkoYm9vbDJ4NCB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56eHcoaW50NCB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Citib29sIGFueShib29sM3gyIHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJldHVy
biByZXN1bHQ7Cit9Citib29sIGFueShib29sM3gzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZh
bHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iu
enh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jvb2wgYW55KGJvb2wz
eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1b
MV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnp4eXko
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
K2Jvb2wgYW55KGJvb2w0eDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0
IG9wZXJhdG9yLnp4eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKK2Jvb2wgYW55KGJvb2w0eDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0g
ZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMl1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4eXkodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Jvb2wgYW55
KGJvb2w0eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbM11bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bM107CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bM107CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4eXkodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2NvYXJzZSAqLworZmxvYXQgZGR5X2NvYXJz
ZShmbG9hdCB4KSB7CisgICAgcmV0dXJuIGRkeSh4KTsKIH0KLWludDQgb3BlcmF0b3Iuenh5eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zs
b2F0MiBkZHlfY29hcnNlKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh5eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBkZHlf
Y29hcnNlKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBk
ZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnp4eXkoZmxvYXQzIHYpIHsKK2Zsb2F0NCBkZHlfY29hcnNlKGZsb2F0NCB4
KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICBy
ZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBkZHlfY29hcnNlKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iuenh5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDJ4MiBkZHlfY29hcnNlKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXl5eSAqLwotYm9vbDQgb3BlcmF0b3IueXl5eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4
MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fy
c2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eXl5KGJvb2wzIHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4NCBkZHlfY29hcnNlKGZs
b2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5
X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNl
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBk
ZHlfY29hcnNlKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRv
ci55eXl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CitmbG9hdDN4MiBkZHlfY29hcnNlKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9j
b2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnl5eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0M3gzIGRkeV9jb2Fyc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueXl5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRk
eV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2NvYXJz
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhbM11b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eXl5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4
MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlf
Y29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnl5eXkoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgpIHsKKyAg
ICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJz
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29h
cnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl5eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHg0IGRkeV9jb2Fy
c2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9j
b2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5
X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNl
KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5eXkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKysgKi8KK3VpbnQg
b3BlcmF0b3IrKyh1aW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKIH0KLWZsb2F0
NCBvcGVyYXRvci55eXl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG9wZXJhdG9yKysoaW50
IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXl5
KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgb3BlcmF0b3IrKyhmbG9hdCB2YWx1ZSkgewor
ICAgIHJldHVybiB2YWx1ZSArIDE7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl5eShmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkQW5kICovCituYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQg
dWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY19pbnQqLCBp
bnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9t
aWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFu
ZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZGdyb3VwIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAg
YXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZp
Y2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWlj
X2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhy
ZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRn
cm91cCBpbnQqKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfiAqLworYm9vbCBvcGVy
YXRvcn4oYm9vbCB2YWx1ZSkgeworICAgIHJldHVybiAhdmFsdWU7CiB9CituYXRpdmUgaW50IG9w
ZXJhdG9yfihpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3J+KHVpbnQpOwogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXp3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnl6d3g9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0g
Yy53OworLyogRnVuY3Rpb25zIG5hbWVkIGRkeCAqLworbmF0aXZlIGZsb2F0IGRkeChmbG9hdCk7
CitmbG9hdDIgZGR4KGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBkZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55end4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKK2Zsb2F0MyBkZHgo
ZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4KHhbMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl6d3g9KGludDQgdiwgaW50
NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJl
c3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53Owor
ZmxvYXQ0IGRkeChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZGR4KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBkZHgoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZGR4KHhbM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXp3eD0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7CitmbG9hdDJ4MiBk
ZHgoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp6eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK30KK2Zsb2F0MngzIGRkeChmbG9hdDJ4MyB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci56enh5KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4NCBk
ZHgoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci56enh5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7CitmbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3Iuenp4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKKyAg
ICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDQgb3BlcmF0b3Iuenp4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRkeChmbG9hdDN4NCB4KSB7CisgICAg
ZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHgoeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnp6eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eShmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBkZHgoZmxvYXQ0
eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQgZGR4KGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBkZHgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR4KHhbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBmd2lkdGggKi8KKy8qIEZ1
bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZE1heCAqLworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRN
YXgoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lk
IEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Citu
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZp
Y2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQq
LCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkTWF4KGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwg
dGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0
b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBp
bnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgo
dGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CiAKLWZsb2F0
IGZ3aWR0aChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGFicyhkZHgoeCkpICsgYWJzKGRkeSh4KSk7
Ci19Ci1mbG9hdDIgZndpZHRoKGZsb2F0MiB4KSB7CisvKiBGdW5jdGlvbnMgbmFtZWQgY29zaCAq
LworbmF0aXZlIGZsb2F0IGNvc2goZmxvYXQpOworZmxvYXQyIGNvc2goZmxvYXQyIHgpIHsKICAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZ3aWR0aCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBjb3NoKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgZndp
ZHRoKGZsb2F0MyB4KSB7CitmbG9hdDMgY29zaChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZ3aWR0
aCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsyXSk7CisgICAgcmVzdWx0WzBdID0g
Y29zaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGNvc2goeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBmd2lkdGgoZmxvYXQ0
IHgpIHsKK2Zsb2F0NCBjb3NoKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZndpZHRoKHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmd2lkdGgoeFsz
XSk7CisgICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IGNvc2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gY29zaCh4
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDIgZndpZHRoKGZsb2F0MngyIHgp
IHsKK2Zsb2F0MngyIGNvc2goZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndp
ZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgZndpZHRoKGZsb2F0MngzIHgpIHsKK2Zs
b2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewogICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
MF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3No
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQg
ZndpZHRoKGZsb2F0Mng0IHgpIHsKK2Zsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgewogICAgIGZs
b2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gY29zaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZndp
ZHRoKGZsb2F0M3gyIHgpIHsKK2Zsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2go
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQzeDMgZndpZHRoKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIGNvc2go
ZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBm
d2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmd2lk
dGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgZndpZHRoKGZsb2F0M3g0IHgpIHsKK2Zs
b2F0M3g0IGNvc2goZmxvYXQzeDQgeCkgewogICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBmd2lkdGgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10p
OwotICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBmd2lkdGgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBj
b3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGNvc2goeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zaCh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgZndpZHRoKGZsb2F0NHgyIHgpIHsKK2Zs
b2F0NHgyIGNvc2goZmxvYXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBmd2lkdGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgZndpZHRoKGZsb2F0NHgzIHgpIHsKK2Zsb2F0
NHgzIGNvc2goZmxvYXQ0eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBmd2lkdGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBm
d2lkdGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3No
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
Y29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsKK2Zsb2F0
NHg0IGNvc2goZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBmd2lkdGgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBm
d2lkdGgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmd2lk
dGgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBmd2lkdGgo
eFszXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBj
b3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAg
IHJlc3VsdFszXVsyXSA9IGNvc2goeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGNvc2goeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gY29zaCh4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
PSAqLwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yLno9KGJvb2wzLCBib29sKTsKLW5hdGl2ZSBib29s
NCBvcGVyYXRvci56PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3Iuej0odWlu
dDMsIHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLno9KHVpbnQ0LCB1aW50KTsKLW5hdGl2
ZSBpbnQzIG9wZXJhdG9yLno9KGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci56PShp
bnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci56PShmbG9hdDMsIGZsb2F0KTsKLW5h
dGl2ZSBmbG9hdDQgb3BlcmF0b3Iuej0oZmxvYXQ0LCBmbG9hdCk7Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54PSAqLwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yLng9KGJvb2wyLCBib29s
KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvci54PShib29sMywgYm9vbCk7Ci1uYXRpdmUgYm9vbDQg
b3BlcmF0b3IueD0oYm9vbDQsIGJvb2wpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLng9KHVpbnQy
LCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci54PSh1aW50MywgdWludCk7Ci1uYXRpdmUg
dWludDQgb3BlcmF0b3IueD0odWludDQsIHVpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueD0o
aW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLng9KGludDMsIGludCk7Ci1uYXRpdmUg
aW50NCBvcGVyYXRvci54PShpbnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54PShm
bG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IueD0oZmxvYXQzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLng9KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHk9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueHk9KGJvb2wy
LCBib29sMik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3IueHk9KGJvb2wzLCBib29sMik7Ci1uYXRp
dmUgYm9vbDQgb3BlcmF0b3IueHk9KGJvb2w0LCBib29sMik7Ci1uYXRpdmUgdWludDIgb3BlcmF0
b3IueHk9KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IueHk9KHVpbnQzLCB1
aW50Mik7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IueHk9KHVpbnQ0LCB1aW50Mik7Ci1uYXRpdmUg
aW50MiBvcGVyYXRvci54eT0oaW50MiwgaW50Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRvci54eT0o
aW50MywgaW50Mik7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci54eT0oaW50NCwgaW50Mik7Ci1uYXRp
dmUgZmxvYXQyIG9wZXJhdG9yLnh5PShmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzIG9w
ZXJhdG9yLnh5PShmbG9hdDMsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLnh5PShm
bG9hdDQsIGZsb2F0Mik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHcgKi8KLWJv
b2wzIG9wZXJhdG9yLnl4dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eHcodWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVk
IGRkeF9jb2Fyc2UgKi8KK2Zsb2F0IGRkeF9jb2Fyc2UoZmxvYXQgeCkgeworICAgIHJldHVybiBk
ZHgoeCk7CiB9Ci1pbnQzIG9wZXJhdG9yLnl4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYudzsKK2Zsb2F0MiBkZHhfY29hcnNlKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBkZHhfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9j
b2Fyc2UoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci55eHco
ZmxvYXQ0IHYpIHsKK2Zsb2F0MyBkZHhfY29hcnNlKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueHh3eSAqLwotYm9vbDQgb3BlcmF0b3IueHh3eShib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworICAgIHJlc3VsdFswXSA9IGRk
eF9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBkZHhfY29hcnNlKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci54eHd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7CitmbG9hdDQgZGR4X2NvYXJzZShmbG9hdDQgeCkgeworICAgIGZsb2F0
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBkZHhfY29hcnNlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7
CisgICAgcmVzdWx0WzNdID0gZGR4X2NvYXJzZSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54eHd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7Cisg
ICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fy
c2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHd5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Zsb2F0MngzIGRkeF9jb2Fyc2UoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2NvYXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXcgKi8KLWJvb2wyIG9wZXJhdG9yLnl3KGJvb2w0IHYpIHsKLSAg
ICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
CitmbG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2Uo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRk
eF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci55dyh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OworZmxvYXQzeDIgZGR4
X2NvYXJzZShmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJz
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnl3KGludDQgdikgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OworZmxvYXQzeDMgZGR4X2NvYXJzZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNl
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBk
ZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDIgb3BlcmF0b3IueXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OworZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9j
b2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4
X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNl
KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56eHd4ICovCi1ib29sNCBvcGVyYXRvci56eHd4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MiBkZHhfY29hcnNl
KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHhfY29hcnNlKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci56eHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDR4MyBkZHhfY29hcnNlKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRk
eF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJz
ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0
eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29h
cnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9j
b2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4
WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4
X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBkZHhfY29hcnNlKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eChmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGZpcnN0Yml0aGlnaCAqLwordWludCBm
aXJzdGJpdGhpZ2godWludCB4KSB7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDY7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDc7Cisg
ICAgaWYgKCh4ICYgdWludCgxIDw8IDIzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDg7CisgICAg
aWYgKCh4ICYgdWludCgxIDw8IDIyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDk7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEwOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAyMCkpICE9IDApCisgICAgICAgIHJldHVybiAxMTsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMTkpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTI7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDE4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEzOworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAxNykpICE9IDApCisgICAgICAgIHJldHVybiAxNDsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMTYpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTU7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDE1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE2OworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAxNCkpICE9IDApCisgICAgICAgIHJldHVybiAxNzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MTMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTg7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEy
KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMSkp
ICE9IDApCisgICAgICAgIHJldHVybiAyMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTApKSAh
PSAwKQorICAgICAgICByZXR1cm4gMjE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMjM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMjQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMjU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMjY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMjc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAhPSAwKQorICAgICAgICByZXR1cm4g
Mjg7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjk7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMzA7Cisg
ICAgaWYgKCh4ICYgdWludCgxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gMzE7CisgICAg
cmV0dXJuIDMyOwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5eSAqLwotYm9v
bDQgb3BlcmF0b3IueXp5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit1aW50IGZpcnN0Yml0aGlnaChp
bnQgeCkgeworICAgIHJldHVybiBmaXJzdGJpdGhpZ2godWludCh4KSk7CiB9Ci1ib29sNCBvcGVy
YXRvci55enl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Cit1aW50MiBmaXJzdGJpdGhpZ2godWludDIgeCkgeworICAgIHVpbnQyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55enl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Cit1aW50MyBmaXJzdGJpdGhpZ2godWludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmly
c3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXp5eSh1aW50NCB2KSB7Cit1aW50
NCBmaXJzdGJpdGhpZ2godWludDQgeCkgewogICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enl5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eXkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl6eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmly
c3RiaXRoaWdoKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0aGlnaCh4WzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4ICov
Ci1ib29sMyBvcGVyYXRvci53d3goYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsK
K3VpbnQyIGZpcnN0Yml0aGlnaChpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGln
aCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iud3d4KHVpbnQ0
IHYpIHsKK3VpbnQzIGZpcnN0Yml0aGlnaChpbnQzIHgpIHsKICAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3d4KGludDQgdikgewot
ICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3Iud3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5eCAqLwotYm9v
bDQgb3BlcmF0b3IueHd5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3Ri
aXRoaWdoKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54d3l4
KHVpbnQ0IHYpIHsKK3VpbnQ0IGZpcnN0Yml0aGlnaChpbnQ0IHgpIHsKICAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHd5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3
eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di54OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0aGlnaCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h4ICovCi1ib29sMyBvcGVyYXRv
ci53eHgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3Iud3h4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCByY3AgKi8KK2Zs
b2F0IHJjcChmbG9hdCB4KSB7CisgICAgcmV0dXJuIDEgLyB4OwogfQotaW50MyBvcGVyYXRvci53
eHgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDIgcmNwKGZsb2F0MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gcmNwKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3Bl
cmF0b3Iud3h4KGZsb2F0NCB2KSB7CitmbG9hdDMgcmNwKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueHl5eCAqLwotYm9vbDQgb3BlcmF0b3IueHl5eChib29sMiB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnh5eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5
eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXl4KHVpbnQzIHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54eXl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl5eChpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IHJjcCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByY3AoeFsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl4KGZsb2F0NCB2KSB7CitmbG9hdDQg
cmNwKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueXd4eCAqLwotYm9vbDQgb3BlcmF0b3IueXd4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55d3h4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXd4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKKyAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmNwKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSByY3AoeFszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55d3h4KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mngy
IHJjcChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3d5dyAqLwotYm9vbDQgb3BlcmF0b3Iud3d5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDMgcmNwKGZsb2F0MngzIHgp
IHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd3eXcodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0Mng0IHJj
cChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3Iud3d5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYudzsKK2Zsb2F0M3gyIHJjcChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBy
Y3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iud3d5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4MyByY3AoZmxvYXQzeDMgeCkgeworICAg
IGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5eD0gKi8KLWJvb2w0IG9wZXJh
dG9yLnp3eXg9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56
OwotICAgIHJlc3VsdC54ID0gYy53OworZmxvYXQzeDQgcmNwKGZsb2F0M3g0IHgpIHsKKyAgICBm
bG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
cmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSByY3AoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnp3eXg9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0g
Yy56OwotICAgIHJlc3VsdC54ID0gYy53OworZmxvYXQ0eDIgcmNwKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4WzFd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3l4PShpbnQ0IHYs
IGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueCA9IGMu
dzsKK2Zsb2F0NHgzIHJjcChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuend5eD0oZmxvYXQ0
IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7CitmbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBy
Y3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHJj
cCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eT0gKi8KLWJvb2wzIG9wZXJhdG9yLnh6
eT0oYm9vbDMgdiwgYm9vbDMgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7CisvKiBG
dW5jdGlvbnMgbmFtZWQgZndpZHRoICovCisKK2Zsb2F0IGZ3aWR0aChmbG9hdCB4KSB7CisgICAg
cmV0dXJuIGFicyhkZHgoeCkpICsgYWJzKGRkeSh4KSk7Cit9CitmbG9hdDIgZndpZHRoKGZsb2F0
MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gZndpZHRoKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1i
b29sNCBvcGVyYXRvci54enk9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3Vs
dC55ID0gYy56OworZmxvYXQzIGZ3aWR0aChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQzIG9wZXJhdG9yLnh6eT0odWludDMgdiwgdWludDMgYykgewotICAgIHVpbnQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAg
cmVzdWx0LnkgPSBjLno7CitmbG9hdDQgZndpZHRoKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZndp
ZHRoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBmd2lkdGgoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh6
eT0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7CitmbG9h
dDJ4MiBmd2lkdGgoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3Bl
cmF0b3IueHp5PShpbnQzIHYsIGludDMgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsK
K2Zsb2F0MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lk
dGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7
Ci0gICAgcmVzdWx0LnkgPSBjLno7CitmbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3
aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDMgb3BlcmF0b3IueHp5PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1
bHQueSA9IGMuejsKK2Zsb2F0M3gyIGZ3aWR0aChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp5PShmbG9hdDQgdiwg
ZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsK
LSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0M3gzIGZ3aWR0
aChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3
aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXl3ICovCi1ib29sNCBvcGVyYXRvci54eXl3KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Citm
bG9hdDN4NCBmd2lkdGgoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRo
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHl5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDIgZndpZHRoKGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
d2lkdGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci54eXl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDMgZndpZHRoKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0
IGZ3aWR0aChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZndpZHRoKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGZ3aWR0aCh4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisKIC8qIEZ1bmN0aW9ucyBuYW1lZCBs
ZXJwICovCiBmbG9hdCBsZXJwKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHMpIHsKICAgICByZXR1
cm4geCAqICgxIC0gcykgKyB5ICogczsKQEAgLTM3MjQyLDExNyArMTc2NzEsMTE3IEBAIGZsb2F0
NCBsZXJwKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHoKIGZsb2F0MngyIGxlcnAoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IGZsb2F0MngzIGxlcnAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewogICAg
IGZsb2F0MngzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1b
MF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICBy
ZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogZmxvYXQyeDQgbGVycChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7
CiAgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwg
eVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelsw
XVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
ZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxlcnAo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0
M3gyIGxlcnAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikgewogICAgIGZsb2F0
M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsx
XSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQzeDMgbGVycChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CiAgICAg
ZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVy
cCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsy
XSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3g0IGxl
cnAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewogICAgIGZsb2F0M3g0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxl
cnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11b
MF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFd
WzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwog
ICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiBmbG9hdDR4MiBsZXJwKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgy
IHopIHsKICAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
bGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
ZmxvYXQ0eDMgbGVycChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CiAgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJl
c3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9
IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVy
cCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsy
XSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5
WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwg
elszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IGxlcnAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQg
eSwgZmxvYXQ0eDQgeikgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0g
PSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxl
cnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1b
M10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFd
WzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1
bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
ZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxlcnAo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0s
IHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsy
XVsyXSwgelsyXVsyXSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJd
LCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsK
ICAgICByZXN1bHRbM11bM10gPSBsZXJwKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNzM3MCwxMjQgKzE3Nzk5LDMgQEAgZmxvYXQgZGlzdGFu
Y2UoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CiBmbG9hdCBkaXN0YW5jZShmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKICAgICByZXR1cm4gbGVuZ3RoKHggLSB5KTsKIH0KLQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl6eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl6eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp5enoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5enooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnp5enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enl6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLncgKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yLncoYm9vbDQpOwotbmF0aXZlIHVpbnQgb3Bl
cmF0b3Iudyh1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLncoaW50NCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IudyhmbG9hdDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4
eiAqLwotYm9vbDQgb3BlcmF0b3Iud3d4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci53d3h6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eihp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3eHooZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eSAqLwotbmF0aXZlIGJv
b2wyIG9wZXJhdG9yLnh5KGJvb2wyKTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvci54eShib29sMyk7
Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueHkoYm9vbDQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9y
Lnh5KHVpbnQyKTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvci54eSh1aW50Myk7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3IueHkodWludDQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueHkoaW50Mik7Ci1u
YXRpdmUgaW50MiBvcGVyYXRvci54eShpbnQzKTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5KGlu
dDQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDIpOwotbmF0aXZlIGZsb2F0MiBv
cGVyYXRvci54eShmbG9hdDMpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDQpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExp
YnJhcnlVdGlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFu
ZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBA
QCBwcml2YXRlOgogICAgICAgICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAg
fQogCi0gICAgdm9pZCB2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5h
bWVzLmFkZChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwot
ICAgICAgICBtX2Z1bmN0aW9uTmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0
ZXJGdW5jdGlvbk5hbWUoKSk7Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2
aXNpdChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3Ry
aW5nPiBtX2Z1bmN0aW9uTmFtZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRo
ZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRv
ckxlbmd0aC5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0
b3JMZW5ndGguaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFycmF5
VHlwZS5oIgotI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgotI2luY2x1ZGUgIldITFNMVHlwZVJl
ZmVyZW5jZS5oIgotI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLW5hbWVzcGFjZSBXSExTTCB7Ci0KLWNsYXNzIEZpbmRBcnJheVR5cGVzIDogcHVibGlj
IFZpc2l0b3IgewotcHVibGljOgotICAgIHZpcnR1YWwgfkZpbmRBcnJheVR5cGVzKCkgPSBkZWZh
dWx0OwotCi0gICAgdm9pZCB2aXNpdChBU1Q6OkFycmF5VHlwZSYgYXJyYXlUeXBlKSBvdmVycmlk
ZQotICAgIHsKLSAgICAgICAgbV9hcnJheVR5cGVzLmFwcGVuZChhcnJheVR5cGUpOwotICAgICAg
ICBWaXNpdG9yOjp2aXNpdChhcnJheVR5cGUpOwotICAgIH0KLQotICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPEFTVDo6QXJyYXlUeXBlPj4gdGFrZUFycmF5VHlwZXMoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIFdURk1vdmUobV9hcnJheVR5cGVzKTsKLSAgICB9Ci0KLXByaXZhdGU6
Ci0gICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8QVNUOjpBcnJheVR5cGU+PiBtX2Fy
cmF5VHlwZXM7Ci19OwotCi1FeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3Bl
cmF0b3JMZW5ndGgoUHJvZ3JhbSYgcHJvZ3JhbSkKLXsKLSAgICBGaW5kQXJyYXlUeXBlcyBmaW5k
QXJyYXlUeXBlczsKLSAgICBmaW5kQXJyYXlUeXBlcy5jaGVja0Vycm9yQW5kVmlzaXQocHJvZ3Jh
bSk7Ci0gICAgYXV0byBhcnJheVR5cGVzID0gZmluZEFycmF5VHlwZXMudGFrZUFycmF5VHlwZXMo
KTsKLQotICAgIGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0KLSAgICBmb3IgKGF1dG8mIGFycmF5
VHlwZSA6IGFycmF5VHlwZXMpIHsKLSAgICAgICAgYXV0byBsb2NhdGlvbiA9IGFycmF5VHlwZS5n
ZXQoKS5jb2RlTG9jYXRpb24oKTsKLSAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9uLCBBU1Q6OlF1
YWxpZmllcnMoKSwgJmFycmF5VHlwZS5nZXQoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIp
OwotICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAg
IHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAg
ICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2so
KSwgV1RGOjpudWxsb3B0LCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIHByb2dy
YW0uaW50cmluc2ljcygpLnVpbnRUeXBlKCkpLCAib3BlcmF0b3IubGVuZ3RoIl9zdHIsIFdURk1v
dmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFy
ZExpYnJhcnkpKTsKLSAgICAgICAgaWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24pKSkKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChF
cnJvcigiQ2Fubm90IHN5bnRoZXNpemUgb3BlcmF0b3IubGVuZ3RoIGZvciBhcnJheSB0eXBlLiIp
KTsKLSAgICB9Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV0hMU0wKLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguY3BwCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xT
eW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5n
dGguaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5oCShub25leGlzdGVudCkK
QEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxF
KFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXJyb3IuaCIKLSNpbmNsdWRlIDx3dGYvRXhwZWN0
ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1jbGFz
cyBQcm9ncmFtOwotCi1FeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3BlcmF0
b3JMZW5ndGgoUHJvZ3JhbSYpOwotCi19Ci0KLX0KLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVB
cnJheU9wZXJhdG9yTGVuZ3RoLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMj
IC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVt
ZXJhdGlvbkZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDE1ICs1Niw2IEBAIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplRW51bWVyYXQK
ICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6
VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3Ry
aW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xh
cmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92
ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVt
ZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9zdHIsIFdURk1vdmUo
cGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExp
YnJhcnkpKTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVj
dGVkKEVycm9yKCJDYW5ub3QgY3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBlbnVtIHR5cGUuIikp
OwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xh
cmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9u
LCBBU1Q6OlF1YWxpZmllcnMoKSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBl
bnVtZXJhdGlvbkRlZmluaXRpb24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAg
ICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgICAg
ICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAgICAg
ICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVC
bG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLCAib3Bl
cmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9y
LCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAgICBpZiAoIXByb2dy
YW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBjb3B5IGNv
bnN0cnVjdG9yIGZvciBlbnVtIHR5cGUuIikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRo
ZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nl
c3NvcnMuY3BwCShub25leGlzdGVudCkKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nl
c3NvcnMuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFkZHJlc3NT
cGFjZS5oIgotI2luY2x1ZGUgIldITFNMUG9pbnRlclR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFBy
b2dyYW0uaCIKLSNpbmNsdWRlICJXSExTTFJlZmVyZW5jZVR5cGUuaCIKLSNpbmNsdWRlICJXSExT
TFR5cGVSZWZlcmVuY2UuaCIKLSNpbmNsdWRlICJXSExTTFZhcmlhYmxlRGVjbGFyYXRpb24uaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1FeHBlY3RlZDx2
b2lkLCBFcnJvcj4gc3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJiBwcm9ncmFt
KQotewotICAgIGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgZm9yIChhdXRvJiBzdHJ1Y3R1
cmVEZWZpbml0aW9uIDogcHJvZ3JhbS5zdHJ1Y3R1cmVEZWZpbml0aW9ucygpKSB7Ci0gICAgICAg
IGZvciAoYXV0byYgc3RydWN0dXJlRWxlbWVudCA6IHN0cnVjdHVyZURlZmluaXRpb24tPnN0cnVj
dHVyZUVsZW1lbnRzKCkpIHsKLSAgICAgICAgICAgIC8vIFRoZSBhbmRlcjogb3BlcmF0b3ImLmZp
ZWxkCi0gICAgICAgICAgICBhdXRvIGNyZWF0ZUFuZGVyID0gWyZdKEFTVDo6QWRkcmVzc1NwYWNl
IGFkZHJlc3NTcGFjZSkgLT4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIHsKLSAgICAg
ICAgICAgICAgICBhdXRvIGFyZ3VtZW50VHlwZSA9IEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShz
dHJ1Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJl
ZmVyZW5jZTo6d3JhcChzdHJ1Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBzdHJ1Y3R1cmVE
ZWZpbml0aW9uKSk7Ci0gICAgICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KHN0cnVjdHVyZUVsZW1lbnQu
Y29kZUxvY2F0aW9uKCksIEFTVDo6UXVhbGlmaWVycygpLCBXVEZNb3ZlKGFyZ3VtZW50VHlwZSks
IFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLSAgICAgICAgICAgICAgICBBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgICAgICAgICAgcGFyYW1ldGVycy5h
cHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICAgICAgYXV0
byByZXR1cm5UeXBlID0gQVNUOjpQb2ludGVyVHlwZTo6Y3JlYXRlKHN0cnVjdHVyZUVsZW1lbnQu
Y29kZUxvY2F0aW9uKCksIGFkZHJlc3NTcGFjZSwgc3RydWN0dXJlRWxlbWVudC50eXBlKCkpOwot
ICAgICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihzdHJ1Y3R1cmVFbGVtZW50
LmNvZGVMb2NhdGlvbigpLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgV1RG
TW92ZShyZXR1cm5UeXBlKSwgbWFrZVN0cmluZygib3BlcmF0b3ImLiIsIHN0cnVjdHVyZUVsZW1l
bnQubmFtZSgpKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFy
c2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwotICAgICAgICAgICAgICAgIHJldHVybiBuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uOwotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlmICgh
cHJvZ3JhbS5hcHBlbmQoY3JlYXRlQW5kZXIoQVNUOjpBZGRyZXNzU3BhY2U6OkNvbnN0YW50KSkK
LSAgICAgICAgICAgICAgICB8fCAhcHJvZ3JhbS5hcHBlbmQoY3JlYXRlQW5kZXIoQVNUOjpBZGRy
ZXNzU3BhY2U6OkRldmljZSkpCi0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBwZW5kKGNy
ZWF0ZUFuZGVyKEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWRncm91cCkpCi0gICAgICAgICAgICAg
ICAgfHwgIXByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJl
YWQpKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbiBu
b3QgY3JlYXRlIGFuZGVyIikpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiB7IH07Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdITFNMCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHUFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1
Y3R1cmVBY2Nlc3NvcnMuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmgJKG5v
bmV4aXN0ZW50KQpAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xFcnJvci5oIgotI2luY2x1ZGUg
PHd0Zi9FeHBlY3RlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBXSExT
TCB7Ci0KLWNsYXNzIFByb2dyYW07Ci0KLUV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXpl
U3RydWN0dXJlQWNjZXNzb3JzKFByb2dyYW0mKTsKLQotfQotCi19Ci0KLSNlbmRpZgoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xT
eW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMVmlzaXRvci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
Miw4ICsxOTIsNiBAQCB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6Q29uc3RhbnRFeHByZXNzCiAg
ICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh1bnNpZ25lZEludGVnZXJMaXRlcmFsKTsKICAgICB9
LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoZmxvYXRMaXRlcmFsKTsKLSAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYg
bnVsbExpdGVyYWwpIHsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxMaXRlcmFsKTsK
ICAgICB9LCBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGJvb2xlYW5MaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpF
bnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgewpAQCAt
MjM4LDExICsyMzYsNiBAQCB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBm
CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0ZXJhbC50eXBlKCkpOwogfQogCi12b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewotICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbC50eXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6
OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmKQogewogfQpAQCAtMjY4LDEyICsyNjEsNiBAQCB2
b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVHlwCiAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGZsb2F0TGl0ZXJhbFR5cGUucHJlZmVycmVkVHlwZSgpKTsKIH0KIAotdm9pZCBWaXNp
dG9yOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYgbnVsbExpdGVyYWxUeXBlKQotewotICAg
IGlmIChudWxsTGl0ZXJhbFR5cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KG51bGxMaXRlcmFsVHlwZS5yZXNvbHZlZFR5cGUoKSk7Ci19Ci0KIHZvaWQg
VmlzaXRvcjo6dmlzaXQoQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKQogewogfQpAQCAt
Mzk5LDkgKzM4Niw2IEBAIHZvaWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHAK
ICAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6TWFrZVBvaW50ZXI6CiAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVzc2lvbj4oZXhw
cmVzc2lvbikpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2lu
ZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6
Ok51bGxMaXRlcmFsPihleHByZXNzaW9uKSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgQVNU
OjpFeHByZXNzaW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3du
Y2FzdDxBU1Q6OkRvdEV4cHJlc3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAgYnJlYWs7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZp
c2l0b3IuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDYgQEAg
Y2xhc3MgU3RhZ2VJbk91dFNlbWFudGljOwogY2xhc3MgSW50ZWdlckxpdGVyYWw7CiBjbGFzcyBV
bnNpZ25lZEludGVnZXJMaXRlcmFsOwogY2xhc3MgRmxvYXRMaXRlcmFsOwotY2xhc3MgTnVsbExp
dGVyYWw7CiBjbGFzcyBCb29sZWFuTGl0ZXJhbDsKIGNsYXNzIEVudW1lcmF0aW9uTWVtYmVyTGl0
ZXJhbDsKIGNsYXNzIE51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0ZTsKQEAgLTEzOCwxMiArMTM3
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJh
bCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwm
KTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKTsKLSAgICB2aXJ0
dWFsIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNp
dChBU1Q6OkJvb2xlYW5MaXRlcmFsJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50
ZWdlckxpdGVyYWxUeXBlJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExp
dGVyYWxUeXBlJik7Ci0gICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBl
Jik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFs
Jik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25BdHRyaWJ1dGUmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUmKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTEFTVC5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaAkod29ya2luZyBjb3B5KQpAQCAtNjksOCArNjksNiBA
QAogI2luY2x1ZGUgIldITFNMTmFtZWRUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24u
aCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuaCIKICNpbmNsdWRlICJXSExTTE51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0ZS5o
IgogI2luY2x1ZGUgIldITFNMUG9pbnRlclR5cGUuaCIKICNpbmNsdWRlICJXSExTTFByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbi5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMQ29uc3RhbnRFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29uc3RhbnRFeHByZXNzaW9u
LmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw2IEBACiAjaW5jbHVkZSAiV0hMU0xFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuaCIKICNp
bmNsdWRlICJXSExTTEZsb2F0TGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVy
YWwuaCIKLSNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xVbnNp
Z25lZEludGVnZXJMaXRlcmFsLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNs
dWRlIDx3dGYvVmFyaWFudC5oPgpAQCAtNjMsMTEgKzYyLDYgQEAgcHVibGljOgogICAgIHsKICAg
ICB9CiAKLSAgICBDb25zdGFudEV4cHJlc3Npb24oTnVsbExpdGVyYWwmJiBudWxsTGl0ZXJhbCkK
LSAgICAgICAgOiBtX3ZhcmlhbnQoV1RGTW92ZShudWxsTGl0ZXJhbCkpCi0gICAgewotICAgIH0K
LQogICAgIENvbnN0YW50RXhwcmVzc2lvbihCb29sZWFuTGl0ZXJhbCYmIGJvb2xlYW5MaXRlcmFs
KQogICAgICAgICA6IG1fdmFyaWFudChXVEZNb3ZlKGJvb2xlYW5MaXRlcmFsKSkKICAgICB7CkBA
IC05MCwxMiArODQsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gV1RGOjpnZXQ8SW50ZWdl
ckxpdGVyYWw+KG1fdmFyaWFudCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZp
c2l0b3I+IGF1dG8gdmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RG
Ojp2aXNpdCh2aXNpdG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBOdWxsTGl0ZXJhbCwgQm9vbGVhbkxp
dGVyYWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVmlzaXRvcj4gYXV0byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSAtPiBkZWNs
dHlwZShXVEY6OnZpc2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRl
cmFsLCBVbnNpZ25lZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIEJvb2xlYW5MaXRlcmFs
LCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+Jj4oKSkpCiAgICAgewogICAgICAgICByZXR1cm4g
V1RGOjp2aXNpdCh2aXNpdG9yLCBtX3ZhcmlhbnQpOwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0
IC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50
ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgTnVsbExp
dGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+Jj4oKSkpCisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQoY29uc3QgVmlzaXRvciYg
dmlzaXRvcikgY29uc3QgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBzdGQ6OmRlY2x2
YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwgRmxvYXRM
aXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIFdURjo6dmlzaXQodmlzaXRvciwgbV92YXJpYW50KTsKICAg
ICB9CkBAIC0xMDgsOCArMTAyLDYgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHVuc2ln
bmVkSW50ZWdlckxpdGVyYWwuY2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0
ZXJhbCYgZmxvYXRMaXRlcmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAg
cmV0dXJuIGZsb2F0TGl0ZXJhbC5jbG9uZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExp
dGVyYWwmIG51bGxMaXRlcmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewotICAgICAgICAgICAg
cmV0dXJuIG51bGxMaXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFu
TGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIC0+IENvbnN0YW50RXhwcmVzc2lvbiB7CiAgICAgICAg
ICAgICByZXR1cm4gYm9vbGVhbkxpdGVyYWwuY2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0
IEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsKSAtPiBD
b25zdGFudEV4cHJlc3Npb24gewpAQCAtMTI3LDggKzExOSw2IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIHZhbHVlID0gdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBb
Jl0oY29uc3QgRmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVl
ID0gZmxvYXRMaXRlcmFsLnZhbHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0ZXJh
bCYpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8TnVsbExp
dGVyYWw+KG90aGVyLm1fdmFyaWFudCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0
ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVy
bmF0aXZlPEJvb2xlYW5MaXRlcmFsPihvdGhlci5tX3ZhcmlhbnQpKSB7CiAgICAgICAgICAgICAg
ICAgY29uc3QgYXV0byYgb3RoZXJCb29sZWFuTGl0ZXJhbCA9IFdURjo6Z2V0PEJvb2xlYW5MaXRl
cmFsPihvdGhlci5tX3ZhcmlhbnQpOwpAQCAtMTUyLDggKzE0Miw2IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIHJlc3VsdCA9IHZhbHVlID09IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKTsK
ICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSB7CiAgICAg
ICAgICAgICByZXN1bHQgPSB2YWx1ZSA9PSBmbG9hdExpdGVyYWwudmFsdWUoKTsKLSAgICAgICAg
fSwgWyZdKGNvbnN0IE51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7
CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgICAgIHJl
c3VsdCA9IGZhbHNlOwogICAgICAgICB9LCBbJl0oY29uc3QgRW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsJikgewpAQCAtMTY5LDcgKzE1Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgIEludGVnZXJMaXRl
cmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFsLAogICAgICAgICBGbG9hdExpdGVy
YWwsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBCb29sZWFuTGl0ZXJhbCwKICAgICAg
ICAgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsCiAgICAgICAgID4gbV92YXJpYW50OwpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTERvdEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBQcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24obG9jYXRpb24sIEtpbmQ6OkRvdCwgV1RGTW92ZShiYXNlKSkKICAgICAgICAg
LCBtX2ZpZWxkTmFtZShXVEZNb3ZlKGZpZWxkTmFtZSkpCiAgICAgeworICAgICAgICBVTlVTRURf
UEFSQU0obV9wYWRkaW5nKTsKICAgICB9CiAKICAgICB+RG90RXhwcmVzc2lvbigpID0gZGVmYXVs
dDsKQEAgLTUyLDI1ICs1MywxMSBAQCBwdWJsaWM6CiAgICAgRG90RXhwcmVzc2lvbihjb25zdCBE
b3RFeHByZXNzaW9uJikgPSBkZWxldGU7CiAgICAgRG90RXhwcmVzc2lvbihEb3RFeHByZXNzaW9u
JiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1fZmllbGROYW1l
KTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSwgIj0i
KTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yJi4iLCBtX2ZpZWxkTmFtZSk7Ci0g
ICAgfQotCiAgICAgU3RyaW5nJiBmaWVsZE5hbWUoKSB7IHJldHVybiBtX2ZpZWxkTmFtZTsgfQog
CiBwcml2YXRlOgogICAgIFN0cmluZyBtX2ZpZWxkTmFtZTsKKyAgICBjaGFyIG1fcGFkZGluZ1sx
Ml07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3Bw
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsOSArNzIsNiBA
QCB2b2lkIEV4cHJlc3Npb246OmRlc3Ryb3koRXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBFeHBy
ZXNzaW9uOjpLaW5kOjpNYWtlUG9pbnRlcjoKICAgICAgICAgZGVsZXRlICZkb3duY2FzdDxNYWtl
UG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IEV4cHJlc3Npb246OktpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICBkZWxldGUgJmRvd25jYXN0
PE51bGxMaXRlcmFsPihleHByZXNzaW9uKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHBy
ZXNzaW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8RG90RXhwcmVzc2lv
bj4oZXhwcmVzc2lvbik7CiAgICAgICAgIGJyZWFrOwpAQCAtMTM4LDkgKzEzNSw2IEBAIHZvaWQg
RXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYgZXgKICAgICBjYXNlIEV4cHJlc3Npb246
OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAgICBkb3duY2FzdDxNYWtlUG9pbnRlckV4cHJlc3Np
b24+KGV4cHJlc3Npb24pLn5NYWtlUG9pbnRlckV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZG93bmNh
c3Q8TnVsbExpdGVyYWw+KGV4cHJlc3Npb24pLn5OdWxsTGl0ZXJhbCgpOwotICAgICAgICBicmVh
azsKICAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6OkRvdDoKICAgICAgICAgZG93bmNhc3Q8RG90
RXhwcmVzc2lvbj4oZXhwcmVzc2lvbikufkRvdEV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7
CkBAIC0xNjgsMzMgKzE2Miw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lv
biYgZXgKICAgICB9CiB9CiAKLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRl
ckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlz
KSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJG
dW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAg
ICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlv
bk5hbWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcg
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewot
ICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2Fz
dDxEb3RFeHByZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlz
PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhF
eHByZXNzaW9uPigqdGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6
YW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigq
dGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5k
ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0
aW9uTmFtZSgpOwotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8g
bmFtZXNwYWNlIEFTVAogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Np
b24uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw2
IEBAIHB1YmxpYzoKICAgICAgICAgTG9naWNhbE5vdCwKICAgICAgICAgTWFrZUFycmF5UmVmZXJl
bmNlLAogICAgICAgICBNYWtlUG9pbnRlciwKLSAgICAgICAgTnVsbExpdGVyYWwsCiAgICAgICAg
IFJlYWRNb2RpZnlXcml0ZSwKICAgICAgICAgVGVybmFyeSwKICAgICAgICAgVW5zaWduZWRJbnRl
Z2VyTGl0ZXJhbCwKQEAgLTExOSw4ICsxMTgsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBp
ZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gY29uc3RfY2FzdDxFeHByZXNzaW9uKj4odGhpcyktPm1h
eWJlUmVzb2x2ZWRUeXBlKCkpCiAgICAgICAgICAgICBvdGhlci5zZXRUeXBlKCpyZXNvbHZlZFR5
cGUpOwotICAgICAgICBpZiAoYXV0byogdHlwZUFubm90YXRpb24gPSBtYXliZVR5cGVBbm5vdGF0
aW9uKCkpCi0gICAgICAgICAgICBvdGhlci5zZXRUeXBlQW5ub3RhdGlvbihUeXBlQW5ub3RhdGlv
bigqdHlwZUFubm90YXRpb24pKTsKICAgICB9CiAKICAgICBLaW5kIGtpbmQoKSBjb25zdCAgeyBy
ZXR1cm4gbV9raW5kOyB9CkBAIC0xMzgsNyArMTM1LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNM
b2dpY2FsTm90RXhwcmVzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dp
Y2FsTm90OyB9CiAgICAgYm9vbCBpc01ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25z
dCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9v
bCBpc01ha2VQb2ludGVyRXhwcmVzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5k
OjpNYWtlUG9pbnRlcjsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJu
IGtpbmQoKSA9PSBLaW5kOjpOdWxsTGl0ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4
RXhwcmVzc2lvbigpOyB9CiAgICAgYm9vbCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBj
b25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9v
bCBpc1Rlcm5hcnlFeHByZXNzaW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRl
cm5hcnk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTEluZGV4RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRl
eEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgog
ICAgIEluZGV4RXhwcmVzc2lvbihjb25zdCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAg
ICBJbmRleEV4cHJlc3Npb24oSW5kZXhFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0
cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJv
cGVyYXRvcltdIl9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQot
Ci0gICAgU3RyaW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJl
dHVybiAib3BlcmF0b3ImW10iX3N0cjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4
cHJlc3Npb24oKSB7IHJldHVybiBtX2luZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+
IHRha2VJbmRleCgpIHsgcmV0dXJuIFdURk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0
aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1
YmxpYzoKICAgICB1bnNpZ25lZCBudW1iZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIG1hdHJpeERpbWVuc2lvbigxKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lv
bigyKTsKICAgICB9CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRy
aXhEaW1lbnNpb24oMSk7CisgICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFy
Z3VtZW50KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0
dXJuIFdURjo6Z2V0PFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0p
OworICAgIH0KKworICAgIHVuc2lnbmVkIHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKGlzVmVjdG9yKCkpOworICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4
cHJlc3Npb24+KHR5cGVBcmd1bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOwor
ICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgewor
ICAgICAgICBBU1NFUlQoaXNNYXRyaXgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8
QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2
b2lkIHNldElzSW50KCkgeyBtX2lzSW50ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJh
bC5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2lu
Y2x1ZGUgIldITFNMRXhwcmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBl
LmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1uYW1lc3BhY2UgV0hMU0wgewotCi1uYW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVy
YWwgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAg
ICAgICA6IEV4cHJlc3Npb24obG9jYXRpb24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAg
ICB9Ci0KLSAgICB+TnVsbExpdGVyYWwoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChj
b25zdCBOdWxsTGl0ZXJhbCYpID0gZGVsZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFs
JiYpID0gZGVmYXVsdDsKLQotICAgIE51bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExp
dGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFs
JiYpID0gZGVmYXVsdDsKLQotICAgIE51bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1f
dHlwZTsgfQotCi0gICAgTnVsbExpdGVyYWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAg
YXV0byByZXN1bHQgPSBOdWxsTGl0ZXJhbChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChh
dXRvKiByZXNvbHZlZFR5cGUgPSBtX3R5cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAg
ICAgIHJlc3VsdC5tX3R5cGUucmVzb2x2ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigq
cmVzb2x2ZWRUeXBlKSk7Ci0gICAgICAgIGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlw
ZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRf
REVMRVRFKE51bGxMaXRlcmFsKQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJF
U1NJT04oTnVsbExpdGVyYWwsIGlzTnVsbExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xO
dWxsTGl0ZXJhbC5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46
a2V5d29yZHMKIyMgLTEgKzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5j
cHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNM
TnVsbExpdGVyYWxUeXBlLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hM
U0xSZWZlcmVuY2VUeXBlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdI
TFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNv
bHZlKGNvbnN0IFR5cGUmIHR5cGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4o
dHlwZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRv
d25jYXN0PFVubmFtZWRUeXBlPih0eXBlKTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVu
bmFtZWRUeXBlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQot
Ci11bnNpZ25lZCBOdWxsTGl0ZXJhbFR5cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRU
eXBlJikgY29uc3QKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0K
LX0KLQotfQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMTnVsbExpdGVyYWxUeXBlLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5j
bHVkZSAiV0hMU0xSZXNvbHZhYmxlVHlwZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNl
IEFTVCB7Ci0KLWNsYXNzIE51bGxMaXRlcmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxl
VHlwZSB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExp
dGVyYWxUeXBlKCkKLSAgICAgICAgOiBSZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkK
LSAgICB7IH0KLQotICAgIH5OdWxsTGl0ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxs
TGl0ZXJhbFR5cGUoY29uc3QgTnVsbExpdGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExp
dGVyYWxUeXBlKE51bGxMaXRlcmFsVHlwZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJh
bFR5cGUmIG9wZXJhdG9yPShjb25zdCBOdWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBO
dWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0Owot
Ci0gICAgYm9vbCBjYW5SZXNvbHZlKGNvbnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBj
b252ZXJzaW9uQ29zdChjb25zdCBVbm5hbWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsK
LQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUo
TnVsbExpdGVyYWxUeXBlKQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVs
bExpdGVyYWxUeXBlLCBpc051bGxMaXRlcmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNo
YW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51
bGxMaXRlcmFsVHlwZS5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSAr
MCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBz
dm46a2V5d29yZHMKIyMgLTEgKzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUzLDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKGNvbnN0IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRl
OwogICAgIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24m
JikgPSBkZWZhdWx0OwogCi0gICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Owot
ICAgIFN0cmluZyBzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJG
dW5jdGlvbk5hbWUoKSBjb25zdDsKLQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1
bmN0aW9uKCkgeyByZXR1cm4gbV9nZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFy
YXRpb24qIGFuZGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBG
dW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJl
YWRBbmRlckZ1bmN0aW9uOyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rp
b24oKSB7IHJldHVybiBtX3NldHRlckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1
bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAg
ICAgbV9nZXR0ZXJGdW5jdGlvbiA9IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQg
c2V0QW5kZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAg
IHsKLSAgICAgICAgbV9hbmRlckZ1bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAg
ICB2b2lkIHNldFRocmVhZEFuZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFk
QW5kZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRo
cmVhZEFuZGVyRnVuY3Rpb247Ci0gICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihG
dW5jdGlvbkRlY2xhcmF0aW9uKiBzZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0
dGVyRnVuY3Rpb24gPSBzZXR0ZXJGdW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBi
YXNlKCkgeyByZXR1cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNl
UmVmZXJlbmNlKCkgeyByZXR1cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+
IHRha2VCYXNlKCkgeyByZXR1cm4gV1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAg
VW5pcXVlUmVmPEV4cHJlc3Npb24+IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBt
X2dldHRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1f
YW5kZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3Ro
cmVhZEFuZGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiog
bV9zZXR0ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5
ICs3MSw2IEBAIHZvaWQgVHlwZTo6ZGVzdHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6
SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxU
eXBlPih0eXBlKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoK
LSAgICAgICAgZGVsZXRlICZkb3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAg
ICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAg
IGRlbGV0ZSAmZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAg
ICAgICBicmVhazsKQEAgLTExNSw5ICsxMTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUm
IHR5cGUpCiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8
SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgS2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51
bGxMaXRlcmFsVHlwZT4odHlwZSkufk51bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsK
ICAgICBjYXNlIEtpbmQ6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0
PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bFR5cGUoKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZh
YmxlVHlwZTo6Y2FuUmVzb2x2ZShjb25zdCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Rmxv
YXRMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJ
bnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlw
ZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoK
LSAgICAgICAgcmV0dXJuIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29s
dmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5S
ZXNvbHZlKHR5cGUpOwogICAgIGRlZmF1bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQg
UmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNpb25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
RmxvYXRMaXRlcmFsVHlwZT4oKnRoaXMpLmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2Ug
S2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0
ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51
bGxMaXRlcmFsOgotICAgICAgICByZXR1cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhp
cykuY29udmVyc2lvbkNvc3QodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJM
aXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5
cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29zdCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUu
aAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1Ymxp
YzoKICAgICAgICAgLy8gUmVzb2x2YWJsZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAg
ICAgICAgSW50ZWdlckxpdGVyYWwsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNp
Z25lZEludGVnZXJMaXRlcmFsLAogICAgIH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc0Zsb2F0TGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6RmxvYXRMaXRlcmFsOyB9CiAgICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNv
bnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wg
aXNOdWxsTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExp
dGVyYWw7IH0KICAgICBib29sIGlzVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7
IHJldHVybiBraW5kKCkgPT0gS2luZDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAg
VHlwZSYgdW5pZnlOb2RlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNw
cAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcg
KzYzLDU3IEBAIHN0YXRpYyB2b2lkIGRlY2xhcmVGdW5jdGlvbihTdHJpbmdCdWlsZGUKICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogfQogCitzdHJ1Y3QgVmFyaWFibGUgeworICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgbmFtZTsKKyAgICBNYW5nbGVkVHlwZU5hbWUgdHlwZTsKK307
CisKIGNsYXNzIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAg
ICBjbGFzcyBIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IgOiBwdWJsaWMgVmlzaXRvciB7CisgICAg
ICAgIHB1YmxpYzoKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yKEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlciYgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAgICAgICAgOiBm
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAg
ICB7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24m
IGNhbGxFeHByZXNzaW9uKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8
VmFyaWFibGU+IHZhcmlhYmxlczsKKyAgICAgICAgICAgIHNpemVfdCBzaXplID0gY2FsbEV4cHJl
c3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpOworICAgICAgICAgICAgYm9vbCBpc1ZvaWQgPSBtYXRj
aGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXIubV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOworICAgICAgICAgICAgaWYgKCFpc1ZvaWQpCisg
ICAgICAgICAgICAgICAgKytzaXplOworICAgICAgICAgICAgdmFyaWFibGVzLnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkoc2l6ZSk7CisKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBj
YWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUo
YXJndW1lbnQtPnJlc29sdmVkVHlwZSgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIG5hbWUgPSBm
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAg
ICAgICAgICAgICAgdmFyaWFibGVzLnVuY2hlY2tlZEFwcGVuZChWYXJpYWJsZSB7IG5hbWUsIHR5
cGUgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghaXNWb2lkKQorICAgICAg
ICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCkpIH0pOworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmY2FsbEV4cHJl
c3Npb24sIFdURk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0
KGNhbGxFeHByZXNzaW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpS
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpIG92ZXJyaWRlCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFZlY3RvcjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAg
ICAgdmFyaWFibGVzLmFwcGVuZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5n
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCkudHlw
ZSgpKSB9KTsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlX
cml0ZS5uZXdWYWx1ZSgpLnR5cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZy
ZWFkTW9kaWZ5V3JpdGUsIFdURk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0
b3I6OnZpc2l0KHJlYWRNb2RpZnlXcml0ZSk7CisgICAgICAgIH0KKworICAgICAgICBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjsKKyAgICAgICAgSGFz
aE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiB0b0hvaXN0OworICAgIH07
CisKIHB1YmxpYzoKICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoU3RyaW5nQnVpbGRlciYg
c3RyaW5nQnVpbGRlciwgSW50cmluc2ljcyYgaW50cmluc2ljcywgVHlwZU5hbWVyJiB0eXBlTmFt
ZXIsIEhhc2hNYXA8QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFt
ZT4mIGZ1bmN0aW9uTWFwcGluZywgTGF5b3V0JiBsYXlvdXQpCiAgICAgICAgIDogbV9zdHJpbmdC
dWlsZGVyKHN0cmluZ0J1aWxkZXIpCkBAIC0xMDAsMTQgKzE1MCwxMiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2
aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZp
c2l0KEFTVDo6RmxvYXRMaXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51
bGxMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFs
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJh
bCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAgICB2b2lk
IHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNzaWdubWVu
dEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Np
b24mKSBvdmVycmlkZTsKQEAgLTEzMSw2NSArMTc5LDYgQEAgcHJvdGVjdGVkOgogCiAgICAgTWFu
Z2xlZFZhcmlhYmxlTmFtZSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7IHJldHVybiB7IG1f
dmFyaWFibGVDb3VudCsrIH07IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFiaWxpdHkgOiB1aW50
OF90IHsKLSAgICAgICAgTm90TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0gICAgfTsKLQotICAg
IHN0cnVjdCBTdGFja0l0ZW0gewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwot
ICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAgICAgTnVsbGFiaWxp
dHkgdmFsdWVOdWxsYWJpbGl0eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVmdFZhbHVlTnVsbGFi
aWxpdHk7Ci0gICAgICAgIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5l
cmF0ZUxlZnRWYWx1ZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFsdWUgewotICAgICAg
ICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0eSBudWxsYWJp
bGl0eTsKLSAgICB9OwotCi0gICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50IGRhdGEgZmxvdyBz
dGVwIHdoZXJlIHdlIGNhbiB0YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBsdmFsdWUKLSAgICAv
LyBhbmQgdHJhbnNmZXIgaXQgaW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gcnZhbHVlLiBUaGlz
IGlzIGNvbnZleWVkIGluIE1ha2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8vIGFuZCBEZXJlZmVy
ZW5jZUV4cHJlc3Npb24uIE1ha2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRyeSB0byBwcm9kdWNl
IHJ2YWx1ZXMgd2hpY2ggYXJlCi0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJlZmVyZW5jZUV4cHJl
c3Npb24gd2lsbCB0YWtlIGEgbm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8gcHJvZHVjZQotICAg
IC8vIGEgbm9uLW51bGwgbHZhbHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxs
YWJpbGl0eShBU1Q6OkV4cHJlc3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBOdWxs
YWJpbGl0eSBudWxsYWJpbGl0eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBwZW5kKHsgV1RG
TW92ZSh2YWx1ZSksIHsgfSwgbnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIHsg
fSB9KTsKLSAgICB9Ci0KLSAgICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNUOjpFeHByZXNzaW9u
JiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAgIHsKLSAgICAgICAg
YXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBXVEZNb3ZlKHZhbHVl
KSwgTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRMZWZ0
VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZh
bHVlLCBNYW5nbGVkVmFyaWFibGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxp
dHksIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1
ZSA9IHsgfSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVzc2lvbiwgZXhwcmVz
c2lvbi50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0gICAgICAgIEFTU0VS
VChsZWZ0VmFsdWUgfHwgZ2VuZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBtX3N0YWNrLmFwcGVu
ZCh7IFdURk1vdmUodmFsdWUpLCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxhYmlsaXR5OjpDYW5C
ZU51bGwsIG51bGxhYmlsaXR5LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVlKSB9KTsKLSAgICB9
Ci0KLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fc3RhY2sudGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0KLSAgICBTdGFja1Zh
bHVlIHRha2VMYXN0VmFsdWVBbmROdWxsYWJpbGl0eSgpCi0gICAgewotICAgICAgICBhdXRvIGxh
c3QgPSBtX3N0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QudmFsdWUsIGxh
c3QudmFsdWVOdWxsYWJpbGl0eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFsdWUgdGFrZUxhc3RM
ZWZ0VmFsdWUoKQotICAgIHsKLSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgp
OwotICAgICAgICBpZiAoIWxhc3QubGVmdFZhbHVlKQotICAgICAgICAgICAgbGFzdC5sZWZ0VmFs
dWUgPSBsYXN0LmdlbmVyYXRlTGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QubGVm
dFZhbHVlLCBsYXN0LmxlZnRWYWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCiAgICAgZW51bSBj
bGFzcyBCcmVha0NvbnRleHQgewogICAgICAgICBMb29wLAogICAgICAgICBTd2l0Y2gKQEAgLTIw
MywxMiArMTkyLDEyIEBAIHByb3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiosIE1hbmdsZWRGdW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFwcGluZzsKICAgICBI
YXNoTWFwPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJpYWJsZU5hbWU+IG1f
dmFyaWFibGVNYXBwaW5nOwogCi0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9zdGFjazsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8RW50cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5UG9pbnRTY2FmZm9s
ZGluZzsKICAgICBMYXlvdXQmIG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1fdmFyaWFibGVDb3Vu
dCB7IDAgfTsKICAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2JyZWFrT3V0T2ZD
dXJyZW50TG9vcEVhcmx5VmFyaWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9pbmRlbnQgeyAw
IH07CisgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiBtX2hv
aXN0ZWRWYXJpYWJsZXM7CiB9OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsyMDcsMjAgQEAg
dm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9u
RGVmaW5pdGlvbikKIHsKKworICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9y
IGNvbGxlY3RvcigqdGhpcyk7CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2aXNpdChmdW5j
dGlvbkRlZmluaXRpb24pOworICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBXVEZNb3ZlKGNv
bGxlY3Rvci50b0hvaXN0KTsKKyAgICB9CisKKyAgICBhdXRvIGRlZmluZUhvaXN0ZWRWYXJpYWJs
ZXMgPSBbJl0geworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6IG1faG9pc3RlZFZh
cmlhYmxlcy52YWx1ZXMoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvIHZhcmlhYmxlIDogdmVj
dG9yKQorICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHZh
cmlhYmxlLnR5cGUsICcgJywgdmFyaWFibGUubmFtZSwgIjtcbiIpOworICAgICAgICB9CisgICAg
fTsKKwogICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlv
bkRlZmluaXRpb24pOwogICAgIEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5l
bmQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBA
IC0yMzgsOCArMjQxLDEwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1QKICAgICAgICAgICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFk
ZCgmZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZv
bGRpbmctPnBhcmFtZXRlclZhcmlhYmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRf
VU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBkZWZpbmVIb2lzdGVkVmFyaWFibGVzKCk7CisKICAgICAgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgICAg
ICBBU1NFUlQobV9zdGFjay5pc0VtcHR5KCkpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIn1cblxuIik7CiAKQEAgLTI0OCwxNyArMjUzLDIyIEBAIHZvaWQgRnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQ
b2ludFNjYWZmb2xkaW5nID09IG51bGxwdHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZp
bml0aW9uLnR5cGUoKSksICcgJywgaXRlcmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
OyArK2kpIHsKLSAgICAgICAgICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlv
bi5wYXJhbWV0ZXJzKClbaV07CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVy
ID0gZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8g
cGFyYW1ldGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAg
YXV0byBhZGRSZXN1bHQgPSBtX3ZhcmlhYmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1l
dGVyTmFtZSk7CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0
LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0
ZXJOYW1lKTsKICAgICAgICAgfQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4i
KTsKKworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKworICAgICAgICBk
ZWZpbmVIb2lzdGVkVmFyaWFibGVzKCk7CisKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1
bmN0aW9uRGVmaW5pdGlvbi5ibG9jaygpKTsKLSAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0
eSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgifVxuIik7CiAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7CiAgICAgfQogfQpAQCAtMzA5LDggKzMxOSw5IEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVu
dCYgZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50KTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZWZmZWN0ZnVsRXhwcmVz
c2lvblN0YXRlbWVudC5lZmZlY3RmdWxFeHByZXNzaW9uKCkpOwotICAgIHRha2VMYXN0VmFsdWUo
KTsgLy8gVGhlIHN0YXRlbWVudCBpcyBhbHJlYWR5IGVmZmVjdGZ1bCwgc28gd2UgZG9uJ3QgbmVl
ZCB0byBkbyBhbnl0aGluZyB3aXRoIHRoZSByZXN1bHQuCisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiO1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1Q6OkZhbGx0aHJvdWdoJikKQEAgLTMzMCwxMCArMzQxLDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0TG9vcCgKICAgICAgICAgSW5kZW50YXRpb25TY29wZSB3aGlsZVNj
b3BlKG1faW5kZW50KTsKIAogICAgICAgICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09IExv
b3BDb25kaXRpb25Mb2NhdGlvbjo6QmVmb3JlQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7
CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1f
aW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRp
dGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwK
LSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAgICAg
ICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0K
IAogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiZG8ge1xuIik7CkBA
IC0zNTAsMTcgKzM2MywxOCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExv
b3AoCiAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOwogCiAgICAgICAgIGlm
IChpbmNyZW1lbnQpIHsKKyAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIigiKTsK
ICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqaW5jcmVtZW50KTsKLSAgICAgICAgICAg
IC8vIEV4cHJlc3Npb24gcmVzdWx0cyBnZXQgcHVzaGVkIHRvIG1fc3RhY2suIFdlIGRvbid0IHVz
ZSB0aGUgcmVzdWx0Ci0gICAgICAgICAgICAvLyBvZiBpbmNyZW1lbnQsIHNvIHdlIGRpc3BlbnNl
IG9mIHRoYXQgbm93LgotICAgICAgICAgICAgdGFrZUxhc3RWYWx1ZSgpOworICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGxvb3BDb25kaXRpb25Mb2NhdGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkFmdGVyQm9k
eSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICgh
IiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAg
ICBicmVhaztcbiIpOworICAgICAgICAgICAgICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAi
ICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM5MCwxMiArNDA0LDE1IEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SWZTdGF0ZW1lbnQmIGlmU3RhdGVtZW50KQog
eworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJpZiAoIik7CiAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmNvbmRpdGlvbmFsKCkpOwotICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJpZiAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7XG4i
KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIHtcbiIpOworCiAgICAgewogICAgICAg
ICBJbmRlbnRhdGlvblNjb3BlIGlmU2NvcGUobV9pbmRlbnQpOwogICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoaWZTdGF0ZW1lbnQuYm9keSgpKTsKICAgICB9CisKICAgICBpZiAoaWZTdGF0ZW1l
bnQuZWxzZUJvZHkoKSkgewogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50
LCAifSBlbHNlIHtcbiIpOwogICAgICAgICB7CkBAIC00MDMsMjkgKzQyMCwzNCBAQCB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQoKmlmU3RhdGVtZW50LmVsc2VCb2R5KCkpOwogICAgICAgICB9CiAgICAgfQorCiAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgIn1cbiIpOwogfQogCiB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpSZXR1cm4mIHJldHVyblN0YXRlbWVu
dCkKIHsKICAgICBpZiAocmV0dXJuU3RhdGVtZW50LnZhbHVlKCkpIHsKKyAgICAgICAgYXV0byB0
ZW1wUmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOyAKKyAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JU
eXBlKHJldHVyblN0YXRlbWVudC52YWx1ZSgpLT5yZXNvbHZlZFR5cGUoKSksICcgJywgdGVtcFJl
dHVybk5hbWUsICIgPSAiKTsgCiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqcmV0dXJuU3Rh
dGVtZW50LnZhbHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsK
IAogICAgICAgICBpZiAobV9lbnRyeVBvaW50U2NhZmZvbGRpbmcpIHsKICAgICAgICAgICAgIGF1
dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAg
ICBtX2VudHJ5UG9pbnRTY2FmZm9sZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0YWtl
TGFzdFZhbHVlKCksIHZhcmlhYmxlTmFtZSwgbV9pbmRlbnQpOworICAgICAgICAgICAgbV9lbnRy
eVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1fc3RyaW5nQnVpbGRlciwgdGVtcFJldHVybk5h
bWUsIHZhcmlhYmxlTmFtZSwgbV9pbmRlbnQpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAi
cmV0dXJuICIsIHRha2VMYXN0VmFsdWUoKSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCwgInJldHVybiAiLCB0ZW1wUmV0dXJuTmFtZSwgIjtcbiIp
OwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAi
cmV0dXJuO1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChB
U1Q6OlN3aXRjaFN0YXRlbWVudCYgc3dpdGNoU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJzd2l0Y2ggKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChzd2l0Y2hTdGF0ZW1lbnQudmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgi
KSB7Iik7CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgi
LCB0YWtlTGFzdFZhbHVlKCksICIpIHsiKTsKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2Nv
cGUgc3dpdGNoU2NvcGUobV9pbmRlbnQpOwogICAgICAgICBmb3IgKGF1dG8mIHN3aXRjaENhc2Ug
OiBzd2l0Y2hTdGF0ZW1lbnQuc3dpdGNoQ2FzZXMoKSkKQEAgLTQ1NCw1OSArNDc2LDM0IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmIGludGVnZXJMaXRlcmFs
KQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5
cGUoaW50ZWdlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBz
dGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVl
KCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShpbnRlZ2VyTGl0ZXJhbCwgdmFyaWFi
bGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5n
bGVkVHlwZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxp
dGVyYWwmIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUg
PSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLnJl
c29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5n
bGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xl
ZFR5cGVOYW1lLCAiPigiLCB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5h
bWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRU
eXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQog
CiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwm
IGZsb2F0TGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZh
cmlhYmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKGZsb2F0TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxl
TmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRl
cmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShmbG9hdExpdGVyYWws
IHZhcmlhYmxlTmFtZSk7Ci19Ci0KLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBhdXRvJiB1bmlmeU5vZGUg
PSBudWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBhdXRvJiB1bm5h
bWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgYm9v
bCBpc0FycmF5UmVmZXJlbmNlVHlwZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5h
bWVkVHlwZSk7Ci0KLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZShudWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFy
aWFibGVOYW1lLCAiID0gIik7Ci0gICAgaWYgKGlzQXJyYXlSZWZlcmVuY2VUeXBlKQotICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ7IG51bGxwdHIsIDAgfTtcbiIpOwotICAgIGVsc2UK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobnVsbExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExp
dGVyYWwudmFsdWUoKSwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewotICAgIGF1dG8g
dmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5n
bGVkVHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYm9vbGVhbkxpdGVy
YWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQs
IG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBt
YW5nbGVkVHlwZU5hbWUsICI+KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAi
ZmFsc2UiLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoYm9vbGVhbkxpdGVyYWwsIHZh
cmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8Iiwg
bWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRydWUiIDog
ImZhbHNlIiwgIikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwp
CiB7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmlu
aXRpb24oKSk7CiAgICAgQVNTRVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlv
bkRlZmluaXRpb24oKSk7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwot
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAn
LCB2YXJpYWJsZU5hbWUsICIgPSAiLCBtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yRW51bWVyYXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJh
bC5lbnVtZXJhdGlvbk1lbWJlcigpKSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZW51
bWVyYXRpb25NZW1iZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
ckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25N
ZW1iZXIoKSkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpFeHByZXNzaW9uJiBleHByZXNzaW9uKQpAQCAtNTE0LDUwICs1MTEsOTQgQEAgdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJl
c3Npb24pOwogfQogCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpE
b3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxv
d2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQo
KS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZG90RXhwcmVz
c2lvbiwgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkpOwotfQotCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYgZ2xvYmFs
VmFyaWFibGVSZWZlcmVuY2UpCiB7Ci0gICAgYXV0byB2YWx1ZU5hbWUgPSBnZW5lcmF0ZU5leHRW
YXJpYWJsZU5hbWUoKTsKLSAgICBNYW5nbGVkVHlwZU5hbWUgbWFuZ2xlZFR5cGVOYW1lID0gbV90
eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLnJlc29s
dmVkVHlwZSgpKTsKLQotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJpYWJsZVJlZmVy
ZW5jZS5iYXNlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgc3RydWN0VmFyaWFibGUgPSB0
YWtlTGFzdFZhbHVlKCk7Ci0KICAgICBNYW5nbGVkU3RydWN0dXJlRWxlbWVudE5hbWUgbWFuZ2xl
ZEZpZWxkTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudChn
bG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5zdHJ1Y3RGaWVsZCgpKTsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVm
ZXJlbmNlLmJhc2UoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS0+IiwgbWFuZ2xl
ZEZpZWxkTmFtZSk7Cit9CiAKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBt
X2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhbHVlTmFtZSwgIiA9ICIsIHN0cnVjdFZh
cmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7Cit2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQor
eworICAgIGF1dG8mIHR5cGUgPSBkb3RFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51
bmlmeU5vZGUoKTsKIAotICAgIGFwcGVuZExlZnRWYWx1ZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5j
ZSwgdmFsdWVOYW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywg
bWFuZ2xlZFR5cGVOYW1lLCBzdHJ1Y3RWYXJpYWJsZSwgbWFuZ2xlZEZpZWxkTmFtZV0gewotICAg
ICAgICAgICAgYXV0byBwb2ludGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwot
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2lu
ZGVudCwgInRocmVhZCAiLCBtYW5nbGVkVHlwZU5hbWUsICIqICIsIHBvaW50ZXJOYW1lLCAiID0g
JiIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7Ci0gICAg
ICAgICAgICByZXR1cm4gcG9pbnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIGlmIChpczxBU1Q6
OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZURl
ZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpOworICAg
ICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGRv
dEV4cHJlc3Npb24uZmllbGROYW1lKCkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVu
dCk7CisgICAgICAgIGF1dG8gZWxlbWVudE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQpOworCisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJl
c3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVt
ZW50TmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgU3RyaW5nIGVsZW1lbnROYW1lID0gZG90
RXhwcmVzc2lvbi5maWVsZE5hbWUoKTsKKyAgICAgICAgaWYgKGVsZW1lbnROYW1lID09ICJsZW5n
dGgiICYmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJh
eVR5cGU+KHR5cGUpIHx8IChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYg
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpKSkg
eworICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgewor
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikubGVuZ3RoIik7CisgICAgICAgICAgICB9
IGVsc2UgaWYgKGlzPEFTVDo6QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51bUVsZW1l
bnRzKCksICIpIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlz
aXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIiwgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUp
LnZlY3RvclNpemUoKSwgIikiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpLiIsIGVsZW1lbnROYW1lKTsKKyAgICAgICAgfQorICAgIH0KIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNz
aW9uJiBpbmRleEV4cHJlc3Npb24pCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBh
bHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24s
IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0KKyAgICAvLyBGSVhNRTogTWFrZSBpdCBz
byB0aGF0IGV2YWx1YXRpbmcgaW5kZXggYW5kIGJhc2UgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVm
ZmVjdHMgdHdpY2U6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMTI1MQorCisgICAgYXV0byYgdHlwZSA9IGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVz
b2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih0eXBlKSkgeworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5wb2ludGVyWygiKTsKKyAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPCAoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKS5sZW5ndGggPyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVz
c2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiA6IDBdIik7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikuZGF0YSgpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIikgPCAiLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwg
IiA/ICIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4
RXhwcmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDogMF0iKTsK
KyAgICB9IGVsc2UgaWYgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgewor
ICAgICAgICBhdXRvJiBuYXRpdmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KHR5cGUpOworICAgICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBpZiAobmF0aXZl
VHlwZS5pc01hdHJpeCgpKQorICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZN
YXRyaXhDb2x1bW5zKCk7CisgICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkK
KyAgICAgICAgICAgIHNpemUgPSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotdm9pZCBGdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
JiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93
ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
LgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5k
ZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilb
KCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhw
cmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDwgIiwgc2l6ZSwg
IikgPyAoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5k
ZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogMF0i
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVj
bGFyYXRpb24mIHZhcmlhYmxlRGVjbGFyYXRpb24pCkBAIC01NjgsMTgxICs2MDksMTg5IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZp
ZXJzLgogICAgIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1l
LCAiID0gIik7CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlv
bi5pbml0aWFsaXplcigpKTsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVu
dCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5
cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7
CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVk
TmFtZUZvclR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5h
bWUsICIgPSB7IH07XG4iKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogewor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
YXNzaWdubWVudEV4cHJlc3Npb24ubGVmdCgpKTsKLSAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVs
bGFiaWxpdHldID0gdGFrZUxhc3RMZWZ0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOwogICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChhc3NpZ25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIFty
aWdodE5hbWUsIHJpZ2h0TnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5
KCk7Ci0KLSAgICBpZiAobnVsbGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkKLSAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYg
KCIsIHBvaW50ZXJOYW1lLCAiKVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICoiLCBw
b2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGVsc2UKLSAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIs
IHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHko
YXNzaWdubWVudEV4cHJlc3Npb24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlcjo6dmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7Cisg
ICAgYXV0byBpdGVyID0gbV9ob2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7Cisg
ICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQoY2Fs
bEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpIDw9IHZhcmlhYmxlcy5zaXplKCkpOwogICAg
IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0
byYgYXJndW1lbnQgOiBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVj
a0Vycm9yQW5kVmlzaXQoYXJndW1lbnQpOwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0
YWtlTGFzdFZhbHVlKCkpOwotICAgIH0KIAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxs
RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgcmV0dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAg
ICAgICByZXR1cm5OYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtc
biIpOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZTsKKyAgICBpZiAoIW1hdGNo
ZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgp
KSkKKyAgICAgICAgcmVzdWx0TmFtZSA9IHZhcmlhYmxlcy5sYXN0KCkubmFtZTsKKworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNh
bGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQor
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1l
bnROYW1lcy5hcHBlbmQodmFyaWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKHZhcmlhYmxlc1tpXS5uYW1lLCAiID0gIik7CisgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKVtpXSk7CiAgICAgfQogCi0gICAgaWYg
KGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rp
b24oKSkpIHsKLSAgICAgICAgYXV0byBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUgPSBbdGhpc10o
KSAtPiBNYW5nbGVkVmFyaWFibGVOYW1lIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLT5nZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgfTsKKyAgICBpZiAoY2FsbEV4cHJlc3Np
b24uYXJndW1lbnRzKCkuc2l6ZSgpKQorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIpOwogCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgICAgIGlu
bGluZU5hdGl2ZUZ1bmN0aW9uKG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgcmV0dXJuTmFt
ZSwgYXJndW1lbnROYW1lcywgbV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgV1RGTW92ZShnZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUpLCBtX2luZGVudCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJ1xuJyk7CisgICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpIHsKKyAgICAgICAgaW5saW5lTmF0aXZlRnVu
Y3Rpb24obV9zdHJpbmdCdWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCByZXN1bHRO
YW1lLCBtX2ludHJpbnNpY3MsIG1fdHlwZU5hbWVyLCBtX2luZGVudCk7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0
byBpdGVyYXRvciA9IG1fZnVuY3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0
aW9uKCkpOwogICAgICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5k
KCkpOwotICAgICAgICBpZiAoIWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQocmV0dXJuTmFtZSwgIiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KGl0ZXJhdG9yLT52YWx1ZSwgJygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBh
cmd1bWVudE5hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAg
IGlmIChpKQogICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0g
ICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAg
ICAgIH0KLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1
ZShjYWxsRXhwcmVzc2lvbiwgcmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpD
b21tYUV4cHJlc3Npb24mIGNvbW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVk
VmFyaWFibGVOYW1lPiByZXN1bHQ7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOwor
ICAgIGJvb2wgcmFuT25jZSA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNv
bW1hRXhwcmVzc2lvbi5saXN0KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsK
ICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQg
PSB0YWtlTGFzdFZhbHVlKCk7CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUoY29tbWFFeHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogewor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0
KGRlcmVmZXJlbmNlRXhwcmVzc2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRl
ciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0
byByZXN1bHRWYWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVz
dWx0VHlwZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJl
c3Npb24ucmVzb2x2ZWRUeXBlKCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmls
aXR5OjpDYW5CZU51bGwpIHsKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlu
cHV0UG9pbnRlciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwg
InsgfTtcbiIpOwotICAgIH0gZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCByZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAg
IGFwcGVuZExlZnRWYWx1ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1
dFBvaW50ZXIsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7
CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxF
eHByZXNzaW9uJiBsb2dpY2FsRXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIoKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0
KCkpOwotICAgIGF1dG8gbGVmdCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5k
VmlzaXQobG9naWNhbEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VM
YXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUobG9naWNhbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxl
TmFtZSwgIiA9ICIsIGxlZnQpOwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgp
KSB7CiAgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVm
YXVsdDoKLSAgICAgICAgQVNTRVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6Okxv
Z2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNz
aW9uOjpUeXBlOjpPcjoKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwg
IjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxl
TmFtZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGxvZ2ljYWxFeHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNp
dChBU1Q6OkxvZ2ljYWxOb3RFeHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChs
b2dpY2FsTm90RXhwcmVzc2lvbi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VM
YXN0VmFsdWUoKTsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxl
TmFtZSgpOwotCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNv
bHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsK
LSAgICBhcHBlbmRSaWdodFZhbHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUp
OworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYg
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQo
bWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6
IFRoaXMgbmVlZHMgdG8gYmUgbWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNp
bmcgdGhlIGxhc3QgbGVmdFZhbHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0
ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVz
b2x2ZWRUeXBlKCkpOwogICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZl
cmVuY2VFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBh
dXRvIHB0clZhbHVlID0gdGFrZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJp
YWJsZU5hbWUsICIgPSAiLCBwdHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwg
cHRyVmFsdWUsICIsIDEgfSA6ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xu
Iik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAi
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Np
b24ubGVmdFZhbHVlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIp
OwogICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4
cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZh
bHVlID0gdGFrZUxhc3RMZWZ0VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBl
ID0gZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24u
bGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAi
LCBsVmFsdWUsICItPmRhdGEoKSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIp
OworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIp
OworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lv
bi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCks
ICIsIGFycmF5VHlwZS5udW1FbGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAg
ICBhdXRvIGxWYWx1ZSA9IHRha2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJs
ZU5hbWUsICIgPSB7ICIsIGxWYWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9y
QW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJp
Z2h0VmFsdWUobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJF
eHByZXNzaW9uJiBtYWtlUG9pbnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZCgiJigiKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNz
aW9uLmxlZnRWYWx1ZSgpKTsKLSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtl
TGFzdExlZnRWYWx1ZSgpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFw
cGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJp
YWJsZU5hbWUsIG51bGxhYmlsaXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7
CiB9CiAKLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZUV4cHJlc3Npb24mKQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0
KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAg
IC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAvKgorICAgICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAy
LiBBc3NpZ24gdGhlIHJlc3VsdCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1f
bmV3VmFsdWVFeHByZXNzaW9uCisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3
VmFsdWUKKyAgICAgKiAgNS4gQXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAg
KiAgNi4gRXZhbHVhdGUgbV9yZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUg
cmVzdWx0CisgICAgICovCisKKyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmlu
ZCgmcmVhZE1vZGlmeVdyaXRlKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3Rl
ZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7Cisg
ICAgUkVMRUFTRV9BU1NFUlQodmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRW
YXJpYWJsZU5hbWUgb2xkVmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1h
bmdsZWRWYXJpYWJsZU5hbWUgbmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOwor
CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwg
b2xkVmFsdWVWYXJpYWJsZSk7CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5
V3JpdGUubmV3VmFsdWUoKSwgbmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcoJyk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFy
aWFibGUsICIgPSAiKTsKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxl
ZnRWYWx1ZSgpKTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVW
YXJpYWJsZSwgIiA9ICIpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUu
bmV3VmFsdWVFeHByZXNzaW9uKCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBl
dmFsdWF0aW5nIGxlZnQgdmFsdWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQor
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0
KHJlYWRNb2RpZnlXcml0ZS5sZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiID0gIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlz
aXQocmVhZE1vZGlmeVdyaXRlLnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpUZXJuYXJ5RXhwcmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5
RXhwcmVzc2lvbi5wcmVkaWNhdGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUo
KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JB
bmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJv
ZHkgPSB0YWtlTGFzdFZhbHVlKCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgi
KTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Np
b24oKSk7Ci0gICAgYXV0byBlbHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8g
dmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRl
cm5hcnlFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAi
LCBjaGVjaywgIiA/ICIsIGJvZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUodGVybmFyeUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpWYXJpYWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03
NTIsMTMgKzgwMSw3IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QK
ICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAg
TWFuZ2xlZFZhcmlhYmxlTmFtZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAg
ICBhcHBlbmRMZWZ0VmFsdWUodmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBO
dWxsYWJpbGl0eTo6Tm90TnVsbCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwg
dmFyaWFibGVOYW1lXSB7Ci0gICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVO
ZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCAidGhyZWFkICIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJs
ZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZh
cmlhYmxlTmFtZSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAg
ICAgICB9KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAK
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3Ry
aW5nKEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMs
OSArODE2LDYgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAg
ICAgICBbJl0oQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0s
Ci0gICAgICAgIFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgibnVsbHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpC
b29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFu
TGl0ZXJhbC52YWx1ZSgpKQogICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
InRydWUiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJ
KHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEs
NyArNDEsNyBAQCBuYW1lc3BhY2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVt
cE1ldGFsQ29kZSA9IGZhbHNlOwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2co
KQorc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBT
dHJpbmdWaWV3IHsKICAgICAgICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3
ICs1MywxNzEgQEAgc3RhdGljIFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAg
IlxuIgogICAgICAgICAidXNpbmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisg
ICAgICAgICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAg
ICAgICAic3RydWN0IFdTTE1hdHJpeFxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIHZl
YzxULCBSb3dzPiBjb2x1bW5zW0NvbHNdO1xuIgorICAgICAgICAiICAgIHByaXZhdGU6XG4iCisg
ICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorICAgICAgICAi
ICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29s
LCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFIuLi4+KVxuIgorICAgICAgICAiICAgIHtcbiIKKyAg
ICAgICAgIiAgICAgICAgcmV0dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsg
UikgOiBVKCkpLi4ufTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxh
dGUgPGludC4uLiBSPlxuIgorICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRf
ZnVsbF9jb2woaW50IGMsIGluaXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgUi4uLj4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICBy
ZXR1cm4geyooZWxlbXMuYmVnaW4oKSArIGMgKiBSb3dzICsgUikuLi59O1xuIgorICAgICAgICAi
ICAgIH1cbiIKKyAgICAgICAgIiAgICBzdHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisgICAg
ICAgICIgICAgc3RydWN0IGNvbHNfYWxsX3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0
IGVsZW1zX2FsbF90YWcgeyB9O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5c
biIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbHNfaW5pdF90YWcs
IGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxp
bnQsIEMuLi4+KSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29s
cy5zaXplKCkgPyAqKGNvbHMuYmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgor
ICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxh
dGUgPHR5cGVuYW1lLi4uIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1h
dHJpeChjb2xzX2FsbF90YWcsIFUuLi4gY29scykgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAg
IDogY29sdW1uc3sgY29scy4uLiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAg
IH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAg
IiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMp
IHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAg
e1xuIgorICAgICAgICAiICAgICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4u
LiBDPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6
ZXJfbGlzdDxUPiBlbGVtcywgX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4i
CisgICAgICAgICIgICAgICAgIDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21h
a2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtc
biIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxu
IgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywg
aW5pdGlhbGl6ZXJfbGlzdDx2ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGlu
dCwgQy4uLj4pIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3soQyA8IGNv
bHMuc2l6ZSgpID8gKihjb2xzLmJlZ2luKCkgKyBDKSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIK
KyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBs
YXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xN
YXRyaXgoY29sc19hbGxfdGFnLCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAg
ICAgIDogY29sdW1uc3sgY29scy4uLiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAi
ICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxl
bXMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4u
Ln0sIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAg
ICAgICB7XG4iCisgICAgICAgICIgICAgICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8
aW50Li4uIEM+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0
aWFsaXplcl9saXN0PFQ+IGVsZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25z
dGFudFxuIgorICAgICAgICAiICAgICAgICA6IGNvbHVtbnN7YnVpbGRfZnVsbF9jb2woQywgZWxl
bXMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAg
IiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBj
b2xzKSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29sc19pbml0X3Rh
ZygpLCBjb2xzLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAg
ICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0
eXBlbmFtZS4uLiBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgo
VS4uLiB2YWxzKSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29uZGl0
aW9uYWxfdDxzaXplb2YuLi4oVSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBlbGVtc19hbGxfdGFn
PigpLCB2YWxzLi4uKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisg
ICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+
PiBjb2xzKSBjb25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2lu
aXRfdGFnKCksIGNvbHMsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgor
ICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5l
IGV4cGxpY2l0IFdTTE1hdHJpeChUIHZhbCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAg
OiBXU0xNYXRyaXgodmFsLCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIK
KyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBs
YXRlIDx0eXBlbmFtZS4uLiBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xN
YXRyaXgoVS4uLiB2YWxzKSBjb25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJp
eChjb25kaXRpb25hbF90PHNpemVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1z
X2FsbF90YWc+KCksIHZhbHMuLi4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAg
IH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb25zdCB0aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0
aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdl
cl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAi
ICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xN
YXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAg
ICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxp
Y2l0IFdTTE1hdHJpeChjb25zdCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0
KSB0aHJlYWRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50
ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAg
ICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAg
ICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
ZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9t
YWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0
aHJlYWRncm91cCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1
bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIg
ICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8
VSwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1h
dHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAg
ICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xN
YXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3Rh
bnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgor
ICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1h
dHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAg
OiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQp
IGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmlj
ZSBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisgICAgICAgICIg
ICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xz
PigpKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIg
ICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNv
bnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIK
KyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIK
KyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJp
eDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAi
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNp
dCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0
aGF0KSBjb25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFr
ZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisg
ICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgdGhyZWFkIHZlYzxULCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisg
ICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGRldmljZSB2ZWM8VCwgUm93
cz4gJm9wZXJhdG9yW10oaW50IHIpIGRldmljZVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAg
ICAgIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAg
ICAgICAiICAgIGlubGluZSB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50
IHIpIHRocmVhZGdyb3VwXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICBy
ZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5s
aW5lIGNvbnN0IHRocmVhZCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRo
cmVhZFxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJuIGNvbHVt
bnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBjb25zdCBk
ZXZpY2UgdmVjPFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBkZXZpY2VcbiIKKyAg
ICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgor
ICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVj
PFQsIFJvd3M+ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBjb25zdGFudFxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwg
Um93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4iCisgICAgICAgICIg
ICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAg
IiAgICB9XG4iCisgICAgICAgICJ9O1xuIgorCisKICAgICB9OworCiB9CiAKIHN0YXRpYyB2b2lk
IGR1bXBNZXRhbENvZGVJZk5lZWRlZChTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyKQpAQCAt
NjcsNyArMjMxLDcgQEAgc3RhdGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZwog
UmVuZGVyTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNo
ZWRSZW5kZXJTZW1hbnRpY3MmJiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkKIHsK
ICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQobWV0YWxDb2RlUHJvbG9nKCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29k
ZVByb2xvZ3VlKCkpOwogCiAgICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAgICB0
eXBlTmFtZXIuZW1pdE1ldGFsVHlwZXMoc3RyaW5nQnVpbGRlcik7CkBAIC04Miw3ICsyNDYsNyBA
QCBSZW5kZXJNZXRhbENvZGUgZ2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhCiBDb21wdXRlTWV0YWxD
b2RlIGdlbmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRDb21wdXRlU2Vt
YW50aWNzJiYgbWF0Y2hlZFNlbWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5n
QnVpbGRlciBzdHJpbmdCdWlsZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29k
ZVByb2xvZygpKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgp
KTsKIAogICAgIFR5cGVOYW1lciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVt
aXRNZXRhbFR5cGVzKHN0cmluZ0J1aWxkZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xO
YXRpdmVGdW5jdGlvbldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSwxNiArOTUsNiBAQCBzdGF0aWMgaW50IHZlY3Rvckxl
bmd0aChBU1Q6Ok5hdGl2ZVR5cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAotc3Rh
dGljIEFTVDo6TmFtZWRUeXBlJiB2ZWN0b3JJbm5lclR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbikKLXsKLSAgICBpZiAobmF0aXZlVHlwZURlY2xh
cmF0aW9uLnR5cGVBcmd1bWVudHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBuYXRpdmVU
eXBlRGVjbGFyYXRpb247Ci0KLSAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVB
cmd1bWVudHMoKS5zaXplKCkgPT0gMik7Ci0gICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJn
dW1lbnRzKClbMF0pKTsKLSAgICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5j
ZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5
cGUoKTsKLX0KLQogc3RhdGljIGNvbnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdG9yTGVu
Z3RoKQogewogICAgIHN3aXRjaCAodmVjdG9yTGVuZ3RoKSB7CkBAIC0xMjAsNyArMTEwLDcgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdAogICAgIH0KIH0KIAotdm9p
ZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6
Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1h
bmdsZWRWYXJpYWJsZU5hbWUgcmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJs
ZU5hbWU+JiBhcmdzLCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1l
ciwgc3RkOjpmdW5jdGlvbjxNYW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFy
aWFibGVOYW1lLCBJbmRlbnRhdGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0
aW9uKFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbiYgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRW
YXJpYWJsZU5hbWU+JiBhcmdzLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIEludHJp
bnNpY3MmIC8qaW50cmluc2ljcyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50YXRpb248
ND4pCiB7CiAgICAgYXV0byBhc01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5cGUmIHVu
bmFtZWRUeXBlKSAtPiBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAgICBhdXRv
JiByZWFsVHlwZSA9IHVubmFtZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDMzMyArMTI5LDc2
IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0
byBtZXRhbFJldHVyblR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1
cm5UeXBlKTsKIAogICAgICAgICBpZiAoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSkgewotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCByZXR1cm5OYW1lLCAiID0geyB9O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAiIHsgfSIpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAxKSB7CiAgICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0g
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0gICAg
ICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKHBhcmFtZXRlclR5cGUpOwogCiAgICAgICAgICAgICBhdXRvIGlzRW51bWVyYXRp
b25EZWZpbml0aW9uID0gW10gKGF1dG8mIHR5cGUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4g
aXM8QVNUOjpOYW1lZFR5cGU+KHR5cGUpICYmIGlzPEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9u
Pihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odHlwZSkpOwogICAgICAgICAgICAgfTsKICAgICAg
ICAgICAgIGF1dG8mIHVuaWZpZWRSZXR1cm5UeXBlID0gcmV0dXJuVHlwZS51bmlmeU5vZGUoKTsK
ICAgICAgICAgICAgIGlmIChpc0VudW1lcmF0aW9uRGVmaW5pdGlvbih1bmlmaWVkUmV0dXJuVHlw
ZSkgJiYgIWlzRW51bWVyYXRpb25EZWZpbml0aW9uKHBhcmFtZXRlclR5cGUudW5pZnlOb2RlKCkp
KSB7Ci0gICAgICAgICAgICAgICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
IG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgYXJnc1sw
XSwgIjtcbiIpOwogICAgICAgICAgICAgICAgIGF1dG8mIGVudW1lcmF0aW9uRGVmaW5pdGlvbiA9
IGRvd25jYXN0PEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4odW5pZmllZFJldHVyblR5cGUpKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZChpbmRlbnQsICJzd2l0Y2ggKCIsIHZhcmlhYmxlTmFtZSwgIikge1xuIik7Ci0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRj
aFNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzWmVyb0Nhc2UgPSBm
YWxzZTsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJhdGlv
bkRlZmluaXRpb24uZW51bWVyYXRpb25NZW1iZXJzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGhhc1plcm9DYXNlIHw9ICFtZW1iZXIuZ2V0KCkudmFsdWUoKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgImNhc2UgIiwgbWVtYmVyLmdldCgpLnZhbHVlKCksICI6XG4iLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nh
c2UsIGhhc1plcm9DYXNlKTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJkZWZhdWx0OlxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCB2YXJpYWJsZU5hbWUsICIgPSAwO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4o
KCIpOworICAgICAgICAgICAgICAgIGJvb2wgbG9vcGVkT25jZSA9IGZhbHNlOworICAgICAgICAg
ICAgICAgIGJvb2wgaGFzWmVyb0Nhc2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1
dG8mIG1lbWJlciA6IGVudW1lcmF0aW9uRGVmaW5pdGlvbi5lbnVtZXJhdGlvbk1lbWJlcnMoKSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAobG9vcGVkT25jZSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIgfHwgIik7CisgICAgICAgICAgICAgICAgICAg
IGhhc1plcm9DYXNlIHw9ICFtZW1iZXIuZ2V0KCkudmFsdWUoKTsKKyAgICAgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1swXSwgIiA9PSAiLCBtZW1iZXIuZ2V0KCkudmFs
dWUoKSk7CisgICAgICAgICAgICAgICAgICAgIGxvb3BlZE9uY2UgPSB0cnVlOwogICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2
YXJpYWJsZU5hbWUsICIpO1xuIik7CisgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChoYXNa
ZXJvQ2FzZSwgaGFzWmVyb0Nhc2UpOworCisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIikgPyAiLCBhcmdzWzBdLCAiIDogMCkiKTsKICAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpO1xu
Iik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIs
IG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpIik7CiAKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNN
YXRyaXhUeXBlKHJldHVyblR5cGUpKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1Sb3dzID0g
bWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBu
dW1Db2x1bW5zID0gbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gbnVtUm93cyB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gbnVtUm93cyAqIG51bUNvbHVtbnMpOwotCi0gICAgICAgICAgICBhdXRv
IHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiO1xuIik7Ci0KLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWJpZGUg
YnkgdGhlIG1lbW9yeSBsYXlvdXQgd2UgdXNlIGZvciBtYXRyaWNlcyBoZXJlLgotICAgICAgICAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBu
dW1Sb3dzKSB7Ci0gICAgICAgICAgICAgICAgLy8gb3BlcmF0b3IgbWF0cml4TXhOICh2ZWN0b3JO
LCAuLi4sIHZlY3Rvck4pCi0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG51bVJvd3M7ICsraSkgewotICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAw
OyBqIDwgbnVtQ29sdW1uczsgKytqKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCB2YXJpYWJsZU5hbWUsICJbIiwgaiAqIG51bVJvd3MgKyBpLCAi
XSA9ICIsIGFyZ3NbaV0sICJbIiwgaiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIG9wZXJhdG9yIG1hdHJpeE14TiAo
c2NhbGFyLCAuLi4sIHNjYWxhcikKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7
Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVJvd3M7ICsraSkg
ewotICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtQ29sdW1u
czsgKytqKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsIHZhcmlhYmxlTmFtZSwgJ1snLCBqICogbnVtUm93cyArIGksICJdID0gIiwgYXJnc1tp
bmRleF0sICI7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOworICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBhcmdzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYg
KGkpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCcpJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVy
blR5cGVOYW1lLCAiKCIpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVy
blR5cGVOYW1lLCAnKCcpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGlmIChpID4gMCkKKyAgICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIsICIpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
YXJnc1tpXSk7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4i
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1
Y3QgZmllbGQgbmFtZWQgImxlbmd0aCIgdG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRo
b3NlIHNob3VsZG4ndCB0YWtlIHRoaXMgY29kZXBhdGguCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VS
VF9VTlVTRUQoaW50cmluc2ljcywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5
cGUoKSwgaW50cmluc2ljcy51aW50VHlwZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8m
IHBhcmFtZXRlclR5cGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsw
XS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5
cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAg
aWYgKGlzPEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAg
ICAgIGF1dG8mIGFycmF5UGFyYW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1
bm5hbWVkUGFyYW1ldGVyVHlwZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRl
clR5cGUubnVtRWxlbWVudHMoKSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0KLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVk
UGFyYW1ldGVyVHlwZSkpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAg
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3IuIl9zdHIpKSB7Ci0gICAgICAgIGF1dG8gYXBw
ZW5kTWFuZ2xlZEZpZWxkTmFtZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKLSAg
ICAgICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgYXV0byYgbmFt
ZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAg
ICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byYgc3RydWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0
dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKTsKLSAgICAgICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1
cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQo
KnN0cnVjdHVyZUVsZW1lbnQpKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBBU1NFUlQoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5h
bWVkVHlwZSkpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsK
LSAgICAgICAgfTsKLQotICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1l
KCkuZW5kc1dpdGgoIj0iKSkgewotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgICAgIGF1dG8gZmll
bGROYW1lID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVy
YXRvci4iX3N0ci5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUu
c3Vic3RyaW5nKDAsIGZpZWxkTmFtZS5sZW5ndGgoKSAtIDEpOwotCi0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUs
ICcuJyk7Ci0gICAgICAgICAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0g
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwot
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBh
dXRvIGZpZWxkTmFtZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmlu
Zygib3BlcmF0b3IuIl9zdHIubGVuZ3RoKCkpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7
Ci0gICAgICAgIGFwcGVuZE1hbmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIjtcbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9y
Ji4iX3N0cikpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5n
dGgoKSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsK
LQotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwotICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBkb3du
Y2FzdDxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5v
ZGUoKTsKLSAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+
KHVuaWZ5Tm9kZSk7Ci0gICAgICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5h
bWVkVHlwZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3du
Y2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBh
dXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFt
ZSk7Ci0gICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVt
ZW50KCpzdHJ1Y3R1cmVFbGVtZW50KSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKLQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKSA6IG51bGxwdHI7XG4iKTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIpIHsK
LSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNp
emUoKSA9PSAyKTsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigq
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwotCi0g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gKCIsIGFyZ3NbMV0sICIgPCAiLCBhcmdzWzBdLCAiLmxlbmd0aCkgPyAiLCAiICYo
IiwgYXJnc1swXSwgIi5wb2ludGVyWyIsIGFyZ3NbMV0sICJdKSA6IG51bGxwdHI7XG4iKTsKLSAg
ICAgICAgICAgIAotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byB2ZWN0b3JTaXpl
ID0gWyZdICgpIC0+IHVuc2lnbmVkIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRv
d25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBhdXRvJiB2ZWN0b3JUeXBlID0gZG93bmNh
c3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5j
ZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5
cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBl
Lm5hbWUoKSA9PSAidmVjdG9yIik7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBlLnR5cGVBcmd1
bWVudHMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgIHJldHVybiBXVEY6OmdldDxBU1Q6OkNvbnN0
YW50RXhwcmVzc2lvbj4odmVjdG9yVHlwZS50eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRl
cmFsKCkudmFsdWUoKTsKLSAgICB9OwotCi0gICAgYXV0byBnZXRNYXRyaXhUeXBlID0gWyZdICgp
IC0+IEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZl
cmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgcmVzdWx0ID0g
ZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJl
ZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNv
bHZlZFR5cGUoKSkudHlwZSgpKS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVChyZXN1
bHQuaXNNYXRyaXgoKSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLQotICAgIGlm
IChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpIHsKLSAg
ICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSAyKTsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlw
ZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50
eXBlKCkpOwotICAgICAgICBzaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25j
YXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5
cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlm
IChudW1UeXBlQXJndW1lbnRzID09IDMpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5O
YW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1h
dHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51
bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
ZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29w
ZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtc
biIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIs
IG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAg
ICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMF0g
PSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAicmVzdWx0WzFdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVt
YmVyT2ZSb3dzLCAiXTtcbiIpOwotCi0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1u
cyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJyZXN1bHRbMl0gPSAiLCBhcmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJv
d3MgKiAyLCAiXTtcbiIpOwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0g
NCkKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVz
dWx0WzNdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICog
MywgIl07XG4iKTsKLSAgICAKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChp
bmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAy
KTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0g
ICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
bWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0
dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVh
aztcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgInJlc3VsdCA9ICIsIGFyZ3NbMF0sICJbIiwgYXJnc1sxXSwgIl07XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4i
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgIn0gd2hpbGUgKDApO1xuIik7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRv
cltdPSIpIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlw
ZVJlZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50
eXBlKCkpOwotICAgICAgICBzaXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25j
YXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5
cGUoKSkucmVzb2x2ZWRUeXBlKCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlm
IChudW1UeXBlQXJndW1lbnRzID09IDMpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBh
dXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAg
ICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2ln
bmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsK
LSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5u
dW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5k
ZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1l
LCAiIG0gPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBt
ZXRhbFBhcmFtZXRlcjJOYW1lLCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiaWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IG07XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2ld
ID0gIiwgYXJnc1syXSwgIlswXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1b
aSArICIsIG51bWJlck9mUm93cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7Ci0gICAgICAg
ICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAi
XSA9ICIsIGFyZ3NbMl0sICJbMl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZD
b2x1bW5zID49IDQpCi0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIm1baSArICIsIG51bWJlck9mUm93cyAqIDMsICJdID0gIiwgYXJnc1syXSwgIlszXTtc
biIpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9IG07XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9
PSAyKTsKLQotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFy
YW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXIy
TmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0byBtZXRhbFJl
dHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2
ZWN0b3JTaXplKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
ImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2Nv
cGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwg
YXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0
ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmIChpID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJnc1sy
XSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHY7
XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfQotCisgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5pc09wZXJhdG9yKCkpIHsKICAgICAgICAgYXV0byBvcGVyYXRv
ck5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJh
dG9yIl9zdHIubGVuZ3RoKCkpOwotICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
OworCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5z
aXplKCkgPT0gMSkgeworICAgICAgICAgICAgLy8gVGhpcyBpcyBvayB0byBkbyBzaW5jZSB0aGUg
YXJncyB0byB0aGlzIGZ1bmN0aW9uIGFyZSBhbGwgdGVtcHMuCisgICAgICAgICAgICAvLyBTbyB0
aGluZ3MgbGlrZSArKyBhbmQgLS0gYXJlIG9rIHRvIGRvLgorCiAgICAgICAgICAgICBpZiAoYXV0
byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5
cGUoKSkpIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7
XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9u
U2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwg
IiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBvcGVyYXRvck5hbWUsICJ4W2ldO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4i
KTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJp
eENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBv
cGVyYXRvck5hbWUsIGFyZ3NbMF0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5k
ZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1
cm5UeXBlLCAiIHggPSAiLCBhcmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIG9wZXJhdG9yTmFtZSwgIng7XG4iKTsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAifVxuIik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG9wZXJhdG9yTmFtZSwgYXJnc1swXSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNDczLDQ5ICsyMDYsNDAgQEAgdm9p
ZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAoYXV0byog
bGVmdE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMF0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiByaWdodE1hdHJp
eCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClb
MV0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgICAgICAvLyBtYXRyaXggPG9wPiBtYXRyaXgKLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUo
aW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5z
aXplKCk7ICsraSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtp
XSA9ICIsIGFyZ3NbMF0sICJbaV0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07
XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtc
biIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlZnRNYXRyaXgtPm51bWJlck9mTWF0
cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIs
IGFyZ3NbMF0sICdbJywgaSwgIl0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywg
aSwgJ10nKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgLy8gbWF0cml4IDxvcD4gc2NhbGFyCi0gICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAiW2ld
ICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnWycsIGksICJdICIs
IG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4
VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkp
IHsKICAgICAgICAgICAgIEFTU0VSVCghYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSk7CiAgICAgICAgICAgICAvLyBzY2FsYXIg
PG9wPiBtYXRyaXgKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntc
biIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2Nv
cGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsr
aSlcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1sw
XSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgcmlnaHRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFt
ZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3Nb
MV0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IC8vIHNjYWxhciA8b3A+IHNjYWxhcgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gdmVjdG9y
CiAgICAgICAgICAgICAvLyB2ZWN0b3IgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHNjYWxh
ciA8b3A+IHZlY3RvcgogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRv
ck5hbWUsICcgJywgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAgICAgICAgICcoJywgYXJnc1sw
XSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgJyknKTsKICAgICAgICAgfQogCiAg
ICAgICAgIHJldHVybjsKQEAgLTU0OCwzNSArMjcyLDM2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVu
Y3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5uYW1lKCkgPT0gImxlbmd0aCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtYXBGdW5j
dGlvbk5hbWUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAnKCcsIGFyZ3NbMF0s
ICIpO1xuIik7CisgICAgICAgICAgICBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5uYW1lKCkpLCAnKCcsIGFyZ3NbMF0sICcpJyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gInBvdyIg
fHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImF0YW4yIikgewogICAgICAg
ICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09
IDIpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwg
cmV0dXJuTmFtZSwgIiA9ICIsIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLCAiKCIs
IGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIpO1xuIik7CisgICAgICAgICAgICBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgJygnLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAnKScp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ubmFtZSgpID09ICJjbGFtcCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgaWYgKGFzTWF0
cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKLSAgICAgICAgICAg
IGF1dG8gbWV0YWxSZXR1cm5UeXBlID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBt
ZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSkgXG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgeFtpXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3Nb
MV0sICJbaV0sICIsIGFyZ3NbMl0sICJbaV0pOyIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKworICAgICAgICBpZiAoYXV0byogbWF0cml4VHlw
ZSA9IGFzTWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBib29sIHJh
bk9uY2UgPSBmYWxzZTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXRy
aXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygp
OyArK2opIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAg
ICAgcmFuT25jZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAorICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0TmFtZSwgJ1snLCBpLCAiXVsiLCBq
LCAiXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICdbJywgaSwgIl1bIiwgaiwgIl0sICIsIGFyZ3NbMV0s
ICdbJywgaSwgIl1bIiwgaiwgIl0sICIsIGFyZ3NbMl0sICdbJywgaSwgIl1bIiwgaiwgIl0pIik7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiLCByZXN1bHROYW1lLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwg
Iik7XG4iKTsKKyAgICAgICAgICAgICAgICAiY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sx
XSwgIiwgIiwgYXJnc1syXSwgJyknKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtNTg0LDIzICszMDksMjMgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdC
dWlsZGVyJgogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiQWxs
TWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1l
bV9mbGFnczo6bWVtX2RldmljZSk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCk7XG4iLAotICAgICAgICAgICAg
aW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKTtcbiIp
OworICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNl
KSIsCisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJl
YWRncm91cCkiLAorICAgICAgICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjpt
ZW1fdGV4dHVyZSkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91
cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSk7
XG4iKTsKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2Rl
dmljZSkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIp
IHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGlu
ZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xu
Iik7CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJl
YWRncm91cCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjA4LDE1ICszMzMsMTUg
QEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkludGVybG9ja2VkQ29tcGFyZUV4
Y2hhbmdlIikgewogICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSA0KTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgImF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dl
YWtfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIs
IG1lbW9yeV9vcmRlcl9yZWxheGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iLAotICAgICAg
ICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwor
ICAgICAgICAgICAgICAgICIoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVy
X3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSwgIiwKKyAgICAgICAgICAgICAgICAnKics
IGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAzKTsKICAgICAgICAgYXV0byBuYW1lID0gYXRvbWljTmFtZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIkludGVybG9ja2VkIl9zdHIu
bGVuZ3RoKCkpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsICcqJywgYXJnc1syXSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFy
Z3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAg
ICAgICAgICAgJyonLCBhcmdzWzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwg
YXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTYzMCw3ICszNTUsNyBAQCB2b2lkIGlubGluZU5hdGl2
ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3Ro
ID0gdmVjdG9yTGVuZ3RoKHJldHVyblR5cGUpOwogCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5z
YW1wbGUoIiwgYXJnc1sxXSwgIiwgIik7CisgICAgICAgICAgICBhcmdzWzBdLCAiLnNhbXBsZSgi
LCBhcmdzWzFdLCAiLCAiKTsKIAogICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJy
YXkoKSkgewogICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBA
IC02NDIsODEgKzM2Nyw2NiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxk
ZXImCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIik7CiAgICAgICAgIGlmICghdGV4
dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIuIiwgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0g
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJMb2Fk
IikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KCkuc2l6ZSgpID09IDIpOwotICAgICAgICAKKwogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgbG9jYXRpb25UeXBlID0gZG93bmNhc3Q8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkp
OwogICAgICAgICBhdXRvIGxvY2F0aW9uVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKGxvY2F0
aW9uVHlwZSk7CiAgICAgICAgIGF1dG8mIHJldHVyblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24udHlwZSgpLnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gcmV0dXJuVmVj
dG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKHJldHVyblR5cGUpOworICAgICAgICBhdXRvIGxvY2F0
aW9uVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvY2F0aW9uVHlwZSk7
CiAKLSAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKHJldHVyblR5cGUpOwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVu
dCwgImRvIHtcbiIpOwotICAgICAgICB7Ci0gICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNj
b3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJh
eSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7
Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGRpbWVuc2lvbnNbXSA9IHsgIndpZHRoIl9zdHIsICJo
ZWlnaHQiX3N0ciwgImRlcHRoIl9zdHIgfTsKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGF1dG8gc3VmZml4ID0gInh5enciX3N0ci5zdWJzdHJpbmcoaSwgMSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIu
Z2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDAp
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2Nh
dGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KCcsIGFyZ3NbMV0sICIgPSAiKTsKKyAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFy
cmF5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+IDEpOwor
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIs
IGxvY2F0aW9uVHlwZU5hbWUsICcoJyk7CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8
IGxvY2F0aW9uVmVjdG9yTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAg
ICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJzAnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLCAiLCBsb2NhdGlvblR5cGVOYW1lLCAnKCcpOwor
CisgICAgICAgICAgICBTdHJpbmcgZGltZW5zaW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdo
dCJfc3RyLCAiZGVwdGgiX3N0ciB9OworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBs
b2NhdGlvblZlY3Rvckxlbmd0aCAtIDE7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQor
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiaWYgKCIsIGFyZ3NbMV0sICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50
MzJfdD4oIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X2Fy
cmF5X3NpemUoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJl
dHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJn
c1sxXSwgIiA8IDAgfHwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCIsIGFyZ3NbMV0sICIpID49ICIs
IGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi54IDwgMCB8fCBzdGF0
aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIi54KSA+PSAiLCBhcmdzWzBdLCAiLmdldF93
aWR0aCgpKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJl
dHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAo
IiwgYXJnc1sxXSwgIi55IDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwg
Ii55KSA+PSAiLCBhcmdzWzBdLCAiLmdldF9oZWlnaHQoKSkge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5O
YW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVh
aztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiLnogPCAwIHx8IHN0YXRpY19jYXN0PHVp
bnQzMl90PigiLCBhcmdzWzFdLCAiLnopID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpIHtc
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5h
bWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNb
aV0sICIoKSAtIDEiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAorICAgICAgICAgICAgICAgIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSAtIDEp
KSIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVu
Z3RoID09IDEpCisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIs
IGFyZ3NbMV0sICIsIDAsICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkgLSAxKSIpOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1w
KCIsIGFyZ3NbMV0sICIsICIsIGxvY2F0aW9uVHlwZU5hbWUsICIoMCwgMCIpOworICAgICAgICAg
ICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAwIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoIiksICIsIGxvY2F0aW9uVHlwZU5hbWUsICcoJywgYXJnc1swXSwgIi5nZXRf
d2lkdGgoKSAtIDEsICIsIGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgpIC0gMSIpOworICAgICAgICAg
ICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgpIC0gMSIp
OworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1l
LCAiID0gIiwgYXJnc1swXSwgIi5yZWFkKCIpOwotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBl
LmlzVGV4dHVyZUFycmF5KCkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0
b3JMZW5ndGggPiAxKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWlu
dCIsIHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0s
ICcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwg
IiksIHVpbnQoIiwgYXJnc1sxXSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZl
Y3Rvckxlbmd0aCAtIDEsIDEpLCAnKScpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25W
ZWN0b3JMZW5ndGgpLCAnKCcsIGFyZ3NbMV0sICcpJyk7Ci0gICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwotICAgICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4
dHVyZSgpKQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcuJywgInh5enci
X3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOworCisgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIsIGFyZ3NbMF0sICIucmVhZCgiKTsKKworICAgICAgICBpZiAodGV4dHVy
ZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgeworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVj
dG9yTGVuZ3RoID4gMSk7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIs
IHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcu
JywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiks
IHVpbnQoIiwgYXJnc1sxXSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rv
ckxlbmd0aCAtIDEsIDEpLCAnKScpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
KSwgJygnLCBhcmdzWzFdLCAnKScpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScp
OworICAgICAgICBpZiAoIXRleHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCisgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAsIHJldHVy
blZlY3Rvckxlbmd0aCkpOworCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTcyNCwxOCArNDM0LDIwIEBAIHZvaWQgaW5saW5l
TmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5uYW1lKCkgPT0gImxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gYXRvbWlj
X2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7
CisgICAgICAgICAgICAiYXRvbWljX2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5
X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gInN0b3JlIikgewogICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwog
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImF0b21p
Y19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3Jk
ZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAgICAgICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwg
YXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5u
YW1lKCkgPT0gIkdldERpbWVuc2lvbnMiKSB7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisKICAgICAgICAgYXV0byYgdGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAKICAg
ICAgICAgc2l6ZV90IGluZGV4ID0gMTsKQEAgLTc2NywzOCArNDc5LDM1IEBAIHZvaWQgaW5saW5l
TmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgQVNTRVJUKGluZGV4ID09IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAKICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgd2lkdGhO
YW1lLCAiKVxuIiwKLSAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgd2lkdGhOYW1lLCAiID0g
IiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoIik7CisgICAgICAgICAgICAnKicsIHdpZHRoTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCIpOwogICAgICAgICBpZiAoaGFzTWlwTGV2ZWwp
CiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
JyknKTsKIAogICAgICAgICBpZiAoaGVpZ2h0TmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpoZWlnaHROYW1l
LCAiKVxuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpoZWlnaHROYW1lLCAi
ID0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCIpOworICAgICAgICAgICAgICAgICIsICoiLCAq
aGVpZ2h0TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgiKTsKICAgICAgICAgICAg
IGlmIChoYXNNaXBMZXZlbCkKICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChh
cmdzWzFdKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogICAgICAgICB9CiAgICAgICAgIGlm
IChkZXB0aE5hbWUpIHsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGluZGVudCwgImlmICgiLCAqZGVwdGhOYW1lLCAiKVxuIiwKLSAgICAgICAgICAg
ICAgICBpbmRlbnQsICIgICAgKiIsICpkZXB0aE5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9k
ZXB0aCgiKTsKKyAgICAgICAgICAgICAgICAiLCAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3Nb
MF0sICIuZ2V0X2RlcHRoKCIpOwogICAgICAgICAgICAgaWYgKGhhc01pcExldmVsKQogICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGVsZW1lbnRzTmFtZSkgewogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYg
KCIsICplbGVtZW50c05hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAq
IiwgKmVsZW1lbnRzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKTtcbiIp
OworICAgICAgICAgICAgICAgICIsICoiLCAqZWxlbWVudHNOYW1lLCAiID0gIiwgYXJnc1swXSwg
Ii5nZXRfYXJyYXlfc2l6ZSgpIik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKG51bWJlck9mTGV2
ZWxzTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgaW5kZW50LCAiaWYgKCIsICpudW1iZXJPZkxldmVsc05hbWUsICIpXG4iLAotICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFy
Z3NbMF0sICIuZ2V0X251bV9taXBfbGV2ZWxzKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAiLCAq
IiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9taXBfbGV2
ZWxzKCkiKTsKICAgICAgICAgfQorCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgzOCw2NiArNTQ3LDggQEAgdm9pZCBpbmxp
bmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgIH0KIAogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiU3RvcmUiKSB7Ci0gICAgICAgIEFTU0VSVChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAg
ICAgIAotICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKLSAgICAgICAg
YXV0byYgaXRlbVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93
bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7Ci0gICAgICAgIGF1dG8mIGl0ZW1WZWN0b3JJ
bm5lclR5cGUgPSB2ZWN0b3JJbm5lclR5cGUoaXRlbVR5cGUpOwotICAgICAgICBhdXRvIGl0ZW1W
ZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgoaXRlbVR5cGUpOwotICAgICAgICBhdXRvJiBsb2Nh
dGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8
QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzJd
LT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7Ci0gICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5n
dGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsKLQotICAgICAgICBhdXRvIG1ldGFsSW5u
ZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaXRlbVZlY3RvcklubmVy
VHlwZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImRvIHtcbiIpOwotICAgICAg
ICB7Ci0gICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAg
ICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAgU3Ry
aW5nIGRpbWVuc2lvbnNbXSA9IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRoIl9z
dHIgfTsKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9y
TGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0gInh5
enciX3N0ci5zdWJzdHJpbmcoaSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3Nb
Ml0sICIuIiwgc3VmZml4LCAiID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0s
ICIoKSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4i
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6
dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpOwotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJpZiAoIiwgYXJnc1syXSwgJy4nLCBzdWZmaXgsICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfYXJy
YXlfc2l6ZSgpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xu
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZl
Y3Rvckxlbmd0aCA9PSAxKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIg
Pj0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSkgXG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi54ID49ICIsIGFyZ3NbMF0sICIuZ2V0
X3dpZHRoKCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFr
O1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzJdLCAi
LnkgPj0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCkpXG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChs
b2NhdGlvblZlY3Rvckxlbmd0aCA+PSAzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1syXSwgIi56ID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBhcmdzWzBdLCAiLndyaXRlKHZlYzwi
LCBtZXRhbElubmVyVHlwZU5hbWUsICIsIDQ+KCIsIGFyZ3NbMV0pOwotICAgICAgICAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCA0IC0gaXRlbVZlY3Rvckxlbmd0aDsgKytpKQotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDAiKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIpLCAiKTsKLSAgICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVB
cnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4g
MSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JT
dWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgJygnLCBhcmdzWzJdLCAnLicsICJ4eXp3
Il9zdHIuc3Vic3RyaW5nKDAsIGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICIpLCB1aW50KCIs
IGFyZ3NbMl0sICIuIiwgInh5enciX3N0ci5zdWJzdHJpbmcobG9jYXRpb25WZWN0b3JMZW5ndGgg
LSAxLCAxKSwgJyknKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
KSwgJygnLCBhcmdzWzJdLCAnKScpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKLSAgICAgICAgfQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ9IHdoaWxlKDApO1xuIik7Ci0KLSAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBGSVhNRTog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTgxMyBJbXBsZW1lbnQg
dGhpcworICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR2F0aGVyQWxwaGEiKSB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9u
V3JpdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1
bmN0aW9uV3JpdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNl
IE1ldGFsIHsKIAogY2xhc3MgVHlwZU5hbWVyOwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KFN0cmluZ0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBNYW5nbGVk
VmFyaWFibGVOYW1lIHJldHVybk5hbWUsIGNvbnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1l
PiYgYXJndW1lbnROYW1lcywgSW50cmluc2ljcyYsIFR5cGVOYW1lciYsIHN0ZDo6ZnVuY3Rpb248
TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiYmLCBJbmRlbnRhdGlvbjw0Pik7Cit2b2lkIGlubGluZU5h
dGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24mLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMsIE1h
bmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwgSW50cmluc2ljcyYsIFR5cGVOYW1lciYsIElu
ZGVudGF0aW9uPDQ+KTsKIAogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdy
aXRlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDExICszOCw2IEBAIG5hbWVzcGFjZSBXSExTTCB7CiAKIG5hbWVzcGFjZSBNZXRhbCB7
CiAKLWVudW0gY2xhc3MgTWF0cml4VHlwZSA6IHVpbnQ4X3QgewotICAgIEZsb2F0LAotICAgIEJv
b2wKLX07Ci0KIFN0cmluZyB3cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRp
b24mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbikKIHsKICAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0
aW9uLm5hbWUoKSA9PSAidm9pZCIpCkBAIC0xMDEsMzUgKzk2LDE0IEBAIFN0cmluZyB3cml0ZU5h
dGl2ZVR5cGUoQVNUOjpOYXRpdmVUeXBlRGUKICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdHlw
ZVJlZmVyZW5jZS0+dW5pZnlOb2RlKCk7CiAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25j
YXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwogICAgICAgICBhdXRvJiBwYXJhbWV0ZXJU
eXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0g
ICAgICAgIGF1dG8gbWF0cml4VHlwZSA9IChbJl0oKSAtPiBNYXRyaXhUeXBlIHsKKyAgICAgICAg
YXV0byBwcmVmaXggPSAoWyZdIHsKICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJUeXBlLm5hbWUo
KSA9PSAiYm9vbCIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6OkJvb2w7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuICJib29sIjsKICAgICAgICAgICAgIEFTU0VSVChwYXJhbWV0
ZXJUeXBlLm5hbWUoKSA9PSAiZmxvYXQiKTsKLSAgICAgICAgICAgIHJldHVybiBNYXRyaXhUeXBl
OjpGbG9hdDsKKyAgICAgICAgICAgIHJldHVybiAiZmxvYXQiOwogICAgICAgICB9KSgpOwogCi0g
ICAgICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKSk7Ci0gICAgICAg
IGF1dG8mIGNvbnN0YW50RXhwcmVzc2lvbjEgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVz
c2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSk7Ci0gICAgICAg
IGF1dG8mIGludGVnZXJMaXRlcmFsMSA9IGNvbnN0YW50RXhwcmVzc2lvbjEuaW50ZWdlckxpdGVy
YWwoKTsKLSAgICAgICAgdW5zaWduZWQgcm93cyA9IGludGVnZXJMaXRlcmFsMS52YWx1ZSgpOwot
ICAgICAgICBBU1NFUlQocm93cyA9PSAyIHx8IHJvd3MgPT0gMyB8fCByb3dzID09IDQpOwotCi0g
ICAgICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNz
aW9uPihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKSk7Ci0gICAgICAg
IGF1dG8mIGNvbnN0YW50RXhwcmVzc2lvbjIgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVz
c2lvbj4obmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSk7Ci0gICAgICAg
IGF1dG8mIGludGVnZXJMaXRlcmFsMiA9IGNvbnN0YW50RXhwcmVzc2lvbjIuaW50ZWdlckxpdGVy
YWwoKTsKLSAgICAgICAgdW5zaWduZWQgY29sdW1ucyA9IGludGVnZXJMaXRlcmFsMi52YWx1ZSgp
OwotICAgICAgICBBU1NFUlQoY29sdW1ucyA9PSAyIHx8IGNvbHVtbnMgPT0gMyB8fCBjb2x1bW5z
ID09IDQpOwotCi0gICAgICAgIHN3aXRjaCAobWF0cml4VHlwZSkgewotICAgICAgICBjYXNlIE1h
dHJpeFR5cGU6OkZsb2F0OiB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBhbGlnbm1lbnQgPSBjb2x1
bW5zID09IDIgPyA4IDogMTY7Ci0gICAgICAgICAgICBpZiAoY29sdW1ucyA9PSAzKQotICAgICAg
ICAgICAgICAgIGNvbHVtbnMgPSA0OwotICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoImFy
cmF5PGZsb2F0LCAiLCBjb2x1bW5zICogcm93cywgIj4gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgi
LCBhbGlnbm1lbnQsICIpKSkiKTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIE1hdHJpeFR5cGU6
OkJvb2w6Ci0gICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8Ym9vbCwgIiwgY29s
dW1ucyAqIHJvd3MsICI+Iik7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmco
IldTTE1hdHJpeDwiLCBwcmVmaXgsICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJP
Zk1hdHJpeENvbHVtbnMoKSwgIiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0
cml4Um93cygpLCAiPiIpOwogICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9u
LnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0
ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50
eXBlQXJndW1lbnRzKClbMF0pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtODMxMyw2ICs4MzEzLDcgQEAKIAkJNTFGQjY3REExQUU2QjVFNDAwRDA2QzVBIC8qIENvbnRl
bnRFeHRlbnNpb25TdHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUyMTMxRTVBMUM0RjE1NjEwMDMzRjgwMiAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTU4
NjJDMjI5Mzc3QjcwMDU5MjVFRiAvKiBXSExTTEFTVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFT
VC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0Ux
MkYgLyogV0hMU0xOYW1lU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0hMU0xOYW1lU3BhY2UuaDsg
cGF0aCA9IEFTVC9XSExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MjJCQUI5NjIyRTZBMzYyMDBDNTRDRTkgLyogV0hMU0xDb2RlTG9jYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0hMU0xDb2RlTG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTIyRDA3QTMyMkZCQUI0MzAwQjkwNUJFIC8qIFdITFNMRXhwcmVzc2lvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXSExTTEV4cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MjJEQTNEMzIyOUUxRDM5MDA0MkQxNTEgLyogV0hMU0xHbG9iYWxWYXJpYWJsZVJl
ZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTU0OCw2ICsyNTU0OSw3IEBACiAJCQkJ
QzIxMEU5MTIyMUI0QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJF
QzIxRUVENkY2MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJ
CTFDQTBDMkVBMjFFRUQ2RjUwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICov
LAorCQkJCTUyMjU2Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAog
CQkJCUMyMzRBOThEMjFFODg4ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywK
IAkJCQlDMjM0QTk4RTIxRTg4ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAog
CQkJCUMyMzRBOThBMjFFODg4M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8s
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw4MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBCYXJhdGkgIDxz
YmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0ZXJzL3NldHRl
cnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHdlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0OiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1v
bi1udWxsLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYXJyYXktb29iLWFs
aWFzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL2R1cGxpY2F0ZS10eXBl
cy1zaG91bGQtbm90LXByb2R1Y2UtZHVwbGljYXRlLWN0b3JzLmh0bWw6CisgICAgICAgICogd2Vi
Z3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wv
aW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9pbmRleC1hbmRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9pbmRl
eC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUv
d2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdw
dS93aGxzbC9tYWtlLWFycmF5LXJlZmVyZW5jZS5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5b3V0Lmh0bWw6CisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWFyZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWw6CisgICAg
ICAgICogd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvb3BlcmF0b3Itc3ludGF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvb3BlcmF0b3ItdmVjdG9yLWFzc2lnbi5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9v
cGVyYXRvci12ZWN0b3ItbG9hZC5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vdmVycmlk
ZS1zdWJzY3JpcHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9vdmVycmlkZS1zdWJzY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1h
YnN0cmFjdC1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhw
ZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVl
LTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4
cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0
ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zZXR0ZXItc3BlYy10ZXN0cy5o
dG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWw6
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1m
aWVsZC1hY2Nlc3Mtb24tbnVsbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sOgorCiAyMDE5LTA4LTI4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggdGVzdCBmYWlsdXJl
IGFmdGVyIHIyNDkxNzMKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9m
LXN3aXp6bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIGNhbnRUYWtlQWRkcmVzc09mU3dp
enpsZSAKK1BBU1MgY2FudEFzc2lnblJ2YWx1ZVN3aXp6bGUgCisKSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FkZHJlc3Mtb2Ytc3dpenpsZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
Cis8dGl0bGU+YmFkIHN3aXp6bGUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNs
VGVzdHMuY2FudFRha2VBZGRyZXNzT2ZTd2l6emxlID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0
IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAgaW50MiB2Owor
ICAgICAgICAgICAgdGhyZWFkIGludCogeCA9ICZ2Lng7CisgICAgICAgIH0KKyAgICBgKTsKKwor
ICAgIGF3YWl0IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAg
aW50MiB2OworICAgICAgICAgICAgdGhyZWFkIGludDIqIHggPSAmdi54eTsKKyAgICAgICAgfQor
ICAgIGApOworfTsKKword2hsc2xUZXN0cy5jYW50QXNzaWduUnZhbHVlU3dpenpsZSA9IGFzeW5j
ICgpID0+IHsKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBpbnQyIHgoKSB7CisgICAg
ICAgICAgICBpbnQyIHY7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorICAgICAg
ICB2b2lkIGZvbygpIHsKKyAgICAgICAgICAgIHgoKS54eSA9IGludDIoMTAsIDIwKTsKKyAgICAg
ICAgfQorICAgIGApOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1v
b2ItYWxpYXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0
OjI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGZpZWxkU2hv
dWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFs
aWFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9v
Yi1hbGlhcy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbDoyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5maWVs
ZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgorPHNjcmlwdCBz
cmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVz
dHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5jICgpID0+IHsK
KyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsKKyAgICAgICAgICAg
IGludCB4OworICAgICAgICAgICAgaW50IHk7CisgICAgICAgICAgICBpbnQgejsKKyAgICAgICAg
fQorICAgICAgICBib29sIGZvbyh1aW50IGkpIHsKKyAgICAgICAgICAgIEZvb1sxMF0gZm9vczsK
KyAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOworICAgICAgICAgICAgdGhy
ZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxs
ICYmIGZvbyA9PSBudWxsOworICAgICAgICB9CisgICAgYDsKKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0
aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQo
MTApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihw
cm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQo
MHhmZmZmZmZmZildKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRlc3RzKTsKKzwvc2Ny
aXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1h
bGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1v
b2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAog
PGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51
bGwuPC90aXRsZT4KKzx0aXRsZT5vb2Igb24gYXJyYXlzLjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
anMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjEsMTUgKzIxLDQ2IEBAIHdobHNsVGVzdHMuZmll
bGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSAKICAgICAgICAgICAgIEZvb1sxMF0gZm9vczsKICAg
ICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOwogICAgICAgICAgICAgdGhyZWFk
IGludCogcHRyID0gJihmb28tPnopOwotICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxsICYm
IGZvbyA9PSBudWxsOworICAgICAgICAgICAgKnB0ciA9IDQyOworICAgICAgICAgICAgcmV0dXJu
IGZvb3NbMF0ueiA9PSA0MjsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmFyKCkgeworICAg
ICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhyZWFkIEZvbyogZm9vID0gJmZv
b3NbNDI0MjQyXTsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKKyAg
ICAgICAgICAgIHJldHVybiBmb28gPT0gJmZvb3NbMF07CisgICAgICAgIH0KKworICAgICAgICBm
bG9hdDMgcmV0RmxvYXQzKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZsb2F0Mygx
MC4wLCAwLjAsIDAuMCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdFsxMF0gcmV0RmxvYXRB
cnJheSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0WzEwXSB2OworICAgICAgICAgICAg
dlswXSA9IDEwLjA7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorCisgICAgICAg
IGJvb2wgYmF6KCkgeworICAgICAgICAgICAgcmV0dXJuIHJldEZsb2F0MygpWzQyXSA9PSAxMC4w
OworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBqYXooKSB7CisgICAgICAgICAgICByZXR1cm4g
cmV0RmxvYXRBcnJheSgpWzQyXSA9PSAxMC4wOwogICAgICAgICB9CiAgICAgYDsKIAogICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBj
YWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAi
Zm9vIiwgW21ha2VVaW50KGkpXSksIGkgPT09IDAgPyB0cnVlIDogZmFsc2UpOwogICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWlu
dCgxMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9u
KHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwogICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWlu
dCgweGZmZmZmZmZmKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29s
RnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImJheiIsIFtdKSwgdHJ1ZSk7CisgICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiamF6IiwgW10p
LCB0cnVlKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRvZXNudFJldHVy
blBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRl
ckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSAKLVBB
U1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9uZyAKLVBBU1Mg
YW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTIzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVmaXgvcG9zdGZp
eC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9l
c250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAot
ICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQg
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0aHJlYWQgRm9v
KiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRl
ckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFp
bCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAg
aW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZb
XShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAm
Zm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVy
RG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwo
Ci0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGlu
dCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5mb28odGhyZWFk
IEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28tPng7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250
VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAg
ICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oRm9v
IGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby54OwotICAg
ICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldpdGhCYWRJbmRl
eCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBp
bnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQg
Zm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAgIGF3YWl0IGNo
ZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJuIHhbeV07IH1g
KTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgZmxvYXQg
eSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aE5vdGhpbmdX
cm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVj
dCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7
Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAgICAgICAgICAg
cmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVz
dHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+IHsKLSAgICBh
d2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJh
dG9yJi5mb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAg
ICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0KLSAgICBh
d2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAg
ICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAg
ICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1w
cm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1j
dG9ycy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
ZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3RvcnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTksMTYgKzE5LDIwIEBAIHR5cGVkZWYgWFlaMyA9IFhZWjsKIAog
W251bXRocmVhZHMoMiwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2Ug
ZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3Bh
dGNoVGhyZWFkSUQpIHsKLSAgICB0aHJlYWQgaW50KiB4OwotICAgIHRocmVhZCBpbnQqIHk7Ci0g
ICAgdGhyZWFkIGZsb2F0KiBmMTsKLSAgICB0aHJlYWQgZmxvYXQqIGYyOworICAgIGludCB2YWx1
ZTsKKyAgICBmbG9hdCB2YWx1ZTI7CisgICAgaW50WzEwXSB2YWx1ZTM7CisKKyAgICB0aHJlYWQg
aW50KiB4ID0gJnZhbHVlOworICAgIHRocmVhZCBpbnQqIHkgPSAmdmFsdWU7CisgICAgdGhyZWFk
IGZsb2F0KiBmMSA9ICZ2YWx1ZTI7CisgICAgdGhyZWFkIGZsb2F0KiBmMiA9ICZ2YWx1ZTI7CiAg
ICAgWFlaMSBhOwogICAgIFhZWjIgYjsKICAgICBYWVozIGM7Ci0gICAgdGhyZWFkIGludFtdIGlu
dEFycmF5UmVmMTsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyOwotICAgIGlmICgqeCA9
PSAqeSAmJiB4ID09IHkgJiYgeCA9PSBudWxsICYmIGYxID09IG51bGwgJiYgKmYxID09IDApIHsK
KyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxID0gQHZhbHVlMzsKKyAgICB0aHJlYWQgaW50
W10gaW50QXJyYXlSZWYyID0gQHZhbHVlMzsKKyAgICBpZiAoKnggPT0gKnkgJiYgeCA9PSB5KSB7
CiAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1aW50KHRocmVhZElE
LngpXSAqIDIuMDsKICAgICB9CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5j
cmVtZW50LXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDIyICsxNSwxNyBAQCB3aGxzbFRlc3RzLmluY3JlbWVudFNldHRlciA9IGFzeW5jICgpID0+CiAg
ICAgbGV0IHByb2dyYW0gPSBgCiAgICAgICAgIHN0cnVjdCBGb28gewogICAgICAgICAgICAgaW50
IHo7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLncoRm9vIGZvbykgewotICAgICAg
ICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnc9KEZvbyBm
b28sIGludCB2YWx1ZSkgewotICAgICAgICAgICAgZm9vLnogPSB2YWx1ZTsKLSAgICAgICAgICAg
IHJldHVybiBmb287CisgICAgICAgICAgICBpbnQgdzsKICAgICAgICAgfQogICAgICAgICBpbnQg
YmFyKCkgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby56ID0gMzsKKyAg
ICAgICAgICAgIGZvby53ID0gMTsKICAgICAgICAgICAgIGludCB2YWx1ZSA9IGZvby53Kys7CiAg
ICAgICAgICAgICByZXR1cm4gdmFsdWUqMTAwICsgZm9vLnoqMTAgKyBmb28udzsKICAgICAgICAg
fQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImJhciIsIFtdKSwgODk4KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5j
dGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAxMDAgKyAzMCArIDIpOwogfQogCiBydW5UZXN0cyh3
aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4
LWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQg
KzAsMCBAQAotCi1QQVNTIGluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFTUyBpbmRleEFu
ZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1hbmRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDY5ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoTm90
aGluZ1dyb25nID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAg
c3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAgICAgICB0aHJl
YWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAg
ICAgICAgICAgcmV0dXJuIHhbNjY2XTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMTMpOwotfQot
Ci13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5j
ICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICB0
aHJlYWQgaW50KiBvcGVyYXRvciZbXSgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4OwotICAgICAgICAgICAgfQotICAgICAg
ICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAg
ICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAg
YAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9v
KiBmb28sIHVpbnQsIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxz
bFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1n
ZXR0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBACi0KLVBBU1Mg
aW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCAKLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9H
ZXR0ZXJPdmVybG9hZEZpeGVkIAotUEFTUyBub3RMb25lSW5kZXhTZXR0ZXIgCi1QQVNTIGxvbmVJ
bmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyUG9pbnRlciAKLQpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdl
dHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
anMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9
IHt9OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3lu
YyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAg
c3RydWN0IEZvbyB7IH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICBp
bnQgb3BlcmF0b3JbXShGb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIDUzNDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEJhciBvcGVyYXRvcltdPShC
YXIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gQmFy
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXdobHNsVGVz
dHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkID0gYXN5bmMgKCkgPT4KLXsK
LSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICBp
bnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiA1
MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpIHsgcmV0dXJuIEJhcigpWzBdOyB9Ci0gICAgICAgIGludCBiYXIoKSB7Ci0gICAg
ICAgICAgICBCYXIgYjsKLSAgICAgICAgICAgIGJbMF0gPSA0MDA7Ci0gICAgICAgICAgICByZXR1
cm4gYlswXTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTM0KTsKLSAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1MzQpOwotfTsKLQot
d2hsc2xUZXN0cy5ub3RMb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9PgotewotICAgIGNvbnN0
IHByb2dyYW0gPSBgCi0gICAgICAgIGludCBvcGVyYXRvcltdKGludCwgdWludCkKLSAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIDY1OwotICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRv
cltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDU0MzsK
LSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAg
ICAgICAgICByZXR1cm4geFswXTsKLSAgICAgICAgfQotICAgICAgICBpbnQgYmFyKCkgewotICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB4WzBdID0gNDI7Ci0gICAgICAgICAgICByZXR1
cm4geDsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNjUpOwotICAgIGFzc2VydF9lcXVhbHMoYXdh
aXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDU0Myk7Ci19OwotCi13aGxz
bFRlc3RzLmxvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tG
YWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oaW50LCB1aW50LCBp
bnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDU0MzsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5sb25lSW5kZXhT
ZXR0ZXJQb2ludGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAg
ICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yW109KHRocmVhZCBpbnQqIHB0
ciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBwdHI7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXJ1blRlc3RzKHdo
bHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJlbmNlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgYm9vbCB0ZXN0MSgpIHsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmIChhcnJheVswXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmIChhcnJheVsxMjAyMTNdICE9IDApCisgICAgaWYgKGFycmF5WzEyMDIxM10g
IT0gNDIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGFycmF5WzBdID0gMTMzNzsKQEAg
LTM1LDcgKzM1LDcgQEAgYm9vbCB0ZXN0MigpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChhcnJheVswXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChhcnJh
eVsxMjM3NDIxN10gIT0gMCkKKyAgICBpZiAoYXJyYXlbMTIzNzQyMTddICE9IDQyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgKnB0ciA9IDY2NjsKQEAgLTg3LDE2ICs4NywxNyBA
QCBib29sIHRlc3QzKCkgewogfQogCiBib29sIHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0
ciA9IG51bGw7CisgICAgaW50IHggPSA0MjsKKyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKIAog
ICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAw
KQorICAgIGlmIChhcnJheS5sZW5ndGggIT0gMSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKGFycmF5WzBdICE9IDApCisgICAgaWYgKGFycmF5WzBdICE9IDQyKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoYXJyYXlbMTAwMDAwXSAhPSAwKQorICAgIGlmIChhcnJh
eVsxMDAwMDBdICE9IDQyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1
ZTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4
LWluZGV4LWFzc2lnbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1h
c3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgorPHRpdGxlPm1hdHJpeC1pbmRleC1hc3NpZ24tc3dpenpsZS48L3RpdGxl
PgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Nv
bnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFz
eW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBib29sIGZvbygpIHsK
KyAgICAgICAgICAgIGZsb2F0MngzIG1hdDsKKyAgICAgICAgICAgIG1hdFswXSA9IGZsb2F0Mygx
MC4wLCAyMC4wLCAzMC4wKTsKKworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdID09IGZsb2F0
MygxMC4wLCAyMC4wLCAzMC4wKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICBpZiAoIWFsbChtYXRbMF0ueHkgPT0gZmxvYXQyKDEwLjAsIDIwLjApKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICghYWxsKG1hdFsw
XS55eCA9PSBmbG9hdDIoMjAuMCwgMTAuMCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICAgICAgbWF0WzBdLnh5ID0gZmxvYXQyKDEuMCwgMi4wKTsKKyAgICAgICAg
ICAgIGlmICghYWxsKG1hdFswXS54eSA9PSBmbG9hdDIoMS4wLCAyLjApKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG1hdFswXS55eC55eCA9IGZsb2F0Migx
MDAuMCwgMjAwLjApOworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdLnh5ID09IGZsb2F0Migx
MDAuMCwgMjAwLjApKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgYDsKKworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgdHJ1ZSk7Cit9Owor
CitydW5UZXN0cyh3aGxzbFRlc3RzKTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJp
eC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBA
CisKK1BBU1MgbWF0TXVsIAorUEFTUyBtYXRNdWwyIAorUEFTUyBtYXRNdWwzIAorCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3Jk
ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250
ZW50PSJsb25nIj4KKzx0aXRsZT5tYXRyaXgtaW5kZXgtb3JkZXIuPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3aGxzbFRl
c3RzID0ge307CisKK3dobHNsVGVzdHMubWF0TXVsID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0
IHByb2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkgeworICAgICAgICAgICAgZmxvYXQyeDMg
YSA9IGZsb2F0MngzKAorICAgICAgICAgICAgICAgIGZsb2F0MygxLCAyLCAzKSwKKyAgICAgICAg
ICAgICAgICBmbG9hdDMoNCwgNSwgNikKKyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGZs
b2F0M3gyIGIgPSBmbG9hdDN4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoNywgOCksCisgICAg
ICAgICAgICAgICAgZmxvYXQyKDksIDEwKSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoMTEsIDEy
KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQzeDMgcmVzdWx0ID0gbXVsKGEs
IGIpOworCisgICAgICAgICAgICBmbG9hdDN4MyBleHBlY3RlZCA9IGZsb2F0M3gzKAorICAgICAg
ICAgICAgICAgIGZsb2F0MygzOSwgNTQsIDY5KSwKKyAgICAgICAgICAgICAgICBmbG9hdDMoNDks
IDY4LCA4NyksCisgICAgICAgICAgICAgICAgZmxvYXQzKDU5LCA4MiwgMTA1KQorICAgICAgICAg
ICAgKTsKKyAgICAgICAgICAgIHJldHVybiBhbGwoZXhwZWN0ZWQgPT0gcmVzdWx0KTsKKyAgICAg
ICAgfQorICAgIGA7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24o
cHJvZ3JhbSwgICJmb28iLCBbXSksIHRydWUpOworfTsKKword2hsc2xUZXN0cy5tYXRNdWwyID0g
YXN5bmMgKCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkg
eworICAgICAgICAgICAgZmxvYXQyeDIgYSA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZs
b2F0MigxLCA4KSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNSwgMTIpCisgICAgICAgICAgICAp
OworCisgICAgICAgICAgICBmbG9hdDIgYiA9IGZsb2F0MigyMiwgNDUpOworCisgICAgICAgICAg
ICBmbG9hdDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDIgZXhwZWN0
ZWQgPSBmbG9hdDIoMjQ3LCA3MTYpOworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVk
ID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCB0cnVlKTsKK307CisKK3do
bHNsVGVzdHMubWF0TXVsMyA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAor
ICAgICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0MngyIGEgPSBmbG9hdDJ4MigK
KyAgICAgICAgICAgICAgICBmbG9hdDIoMSwgMiksCisgICAgICAgICAgICAgICAgZmxvYXQyKDMs
IDQpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICBmbG9hdDJ4MiBiID0gZmxvYXQyeDIo
CisgICAgICAgICAgICAgICAgZmxvYXQyKDUsIDYpLAorICAgICAgICAgICAgICAgIGZsb2F0Mig3
LCA4KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQyeDIgcmVzdWx0ID0gbXVs
KGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDJ4MiBleHBlY3RlZCA9IGZsb2F0MngyKAorICAg
ICAgICAgICAgICAgIGZsb2F0MigyMywgMzQpLAorICAgICAgICAgICAgICAgIGZsb2F0MigzMSwg
NDYpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVkID09
IHJlc3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBib29sIGJhcigpIHsKKyAgICAgICAgICAg
IGZsb2F0MngyIGIgPSBmbG9hdDJ4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoMSwgMiksCisg
ICAgICAgICAgICAgICAgZmxvYXQyKDMsIDQpCisgICAgICAgICAgICApOworCisgICAgICAgICAg
ICBmbG9hdDJ4MiBhID0gZmxvYXQyeDIoCisgICAgICAgICAgICAgICAgZmxvYXQyKDUsIDYpLAor
ICAgICAgICAgICAgICAgIGZsb2F0Mig3LCA4KQorICAgICAgICAgICAgKTsKKworICAgICAgICAg
ICAgZmxvYXQyeDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDJ4MiBl
eHBlY3RlZCA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0MigxOSwgMjIpLAorICAg
ICAgICAgICAgICAgIGZsb2F0Mig0MywgNTApCisgICAgICAgICAgICApOworCisgICAgICAgICAg
ICByZXR1cm4gYWxsKGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwg
W10pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJv
Z3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8
L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgt
bWVtb3J5LWxheW91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNjAsMjAgKzYwLDIwIEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAg
IGNvbnN0IGJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
ICAgICBjb25zdCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlckFy
cmF5QnVmZmVyKTsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAwOwotICAgIGJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0gODsKLSAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAx
OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5
WzJdID0gMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAzOworICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVs0XSA9IDQ7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzVdID0gNTsKLSAgICBidWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSA5OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDEzOwot
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDI7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5Wzld
ID0gNjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA2OworICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDc7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzhdID0gODsKKyAgICBidWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSA5OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxMDsKLSAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEy
XSA9IDM7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzE0XSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxMTsKKyAgICBi
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMTI7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9
IDEzOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxNDsKICAgICBidWZmZXJGbG9hdDMy
QXJyYXlbMTVdID0gMTU7CiAgICAgYnVmZmVyLnVubWFwKCk7CiAKQEAgLTk4LDIzICs5OCwyMyBA
QCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCByZXN1bHRzQXJyYXlC
dWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJl
c3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7
CiAgICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT09IDEKLSAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVsxXSA9PT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJd
ID09PSA5Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDEzCisgICAgICAg
ICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT09IDIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVsyXSA9PT0gMworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09PSA0
CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0gMgorICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSA1CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbNV0gPT09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0gMTAKLSAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PT0gMTQKKyAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVs2XSA9PT0gNworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5Wzdd
ID09PSA4CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9PT0gMwotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbOF0gPT09IDkKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs5XSA9PT0g
MTAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMF0gPT09IDExCi0gICAgICAgICYm
IHJlc3VsdHNGbG9hdDMyQXJyYXlbMTFdID09PSAxNQorICAgICAgICAmJiByZXN1bHRzRmxvYXQz
MkFycmF5WzExXSA9PT0gMTIKIAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEyXSA9
PT0gNAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEzXSA9PT0gOAotICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVsxMl0gPT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09
PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTUKICAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNV0gPT09IDE2KQogICAgICAgICB0ZXN0UGFzc2VkKCIi
KTsKICAgICBlbHNlCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTY3LDIwICs2NywyOCBAQCBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRl
cihkZXZpY2UgZmxvYXRbCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0eVR3b1sxMzM3XSA9
IDUwOworICAgIGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Zm91cnR5VHdvWzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5VHdvOwogICAgIGlmICgh
YWxsRXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0eVR3b1sxMDAw
MDAwXSA9IDUwOworICAgIGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgZm91cnR5VHdvWzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5VHdvOwogICAg
IGlmICghYWxsRXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0MyBz
aG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKLSAgICBpZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8
fCBzaG91bGRCZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisgICAgZmxvYXQz
IHNob3VsZEJlRm91cnR5VHdvID0gZm9vWzEwMDAwMF07CisgICAgaWYgKHNob3VsZEJlRm91cnR5
VHdvLnggIT0gNDIgfHwgc2hvdWxkQmVGb3VydHlUd28ueSAhPSA0MiB8fCBzaG91bGRCZUZvdXJ0
eVR3by56ICE9IDQyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm91cnR5VHdvWzEwMDAw
MDAwXSAhPSAwKQorICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDQyKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJl
YWRJRC54KV0gKiAyLjA7CkBAIC0xNDUsNyArMTUzLDcgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQo
ZGV2aWNlKSB7CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKICAgICAg
ICAgdGVzdFBhc3NlZCgiIik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKKyAg
ICAgICAgdGVzdEZhaWxlZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVmZmVyLnVubWFw
KCk7CiB9CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvbnVsbC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1vbm9tb3JwaGlj
IAorUEFTUyBudWxsSXNFcnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251
bGwtYXJnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwt
YXJnLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9u
dWxsLWFyZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0
YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08
dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxlPgogPHNjcmlw
dCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAKIDxzY3JpcHQ+
CiBjb25zdCB3aGxzbFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxUb1B0ck1vbm9t
b3JwaGljID0gYXN5bmMgKCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBhc3luYyAoKSA9
PgogewotICAgIGxldCBwcm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAg
IGludCBmb28odGhyZWFkIGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4g
KnB0cjsKQEAgLTIxLDExICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9y
cGhpYyA9IGFzCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7CiAgICAg
ICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHBy
b2dyYW0sICJiYXIiLCBbXSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAK
KyAgICAgICAgdm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50KiB4
OworICAgICAgICB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2
b2lkIGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4OworICAgICAg
ICB9CisgICAgYCk7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3JpcHQ+CiA8L2h0
bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1k
ZXJlZmVyZW5jZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDUgKzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1k
ZXJlZmVyZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9u
dWxsLWRlcmVmZXJlbmNlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjgg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3Jp
cHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwot
Rm9vIGdldE51bGxQdHIoKQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsK
LSAgICBmbG9hdCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVh
ZHMoMiwgMSwgMSldCi1jb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBi
dWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFk
SUQpIHsKLSAgICBGb28gcHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQ
dHIoKSA9IDQyOwotICAgIGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXRO
dWxsUHRyKCkpIHsKLSAgICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAg
ICAgICAgICAgICB0aHJlYWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZ
WiB4eXo7Ci0gICAgICAgICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55
ID0gMTsKLSAgICAgICAgICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5
ei56ID09IDEuMCAmJiB4eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICp4eXpQdHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQ
dHI7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4w
ICYmIHh5ei56ID09IDAuMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVs
bFB0cigpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipn
ZXROdWxsUHRyKCkpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnVmZmVyW3VpbnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4w
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0
IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlz
aWJpbGl0eTogNywgdHlwZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3Jv
dXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERl
c2NyaXB0b3IpOwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3Jv
dXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0YWdlLCBs
YXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUgPSBkZXZp
Y2UuY3JlYXRlQ29tcHV0ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3Qgc2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7Ci0KLSAg
ICBjb25zdCBidWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5N
QVBfV1JJVEUgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0IGJ1ZmZl
ciA9IGRldmljZS5jcmVhdGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgYnVm
ZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0
IGJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5
WzFdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAgICBidWZm
ZXJGbG9hdDMyQXJyYXlbNV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDc7Ci0g
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsKLQotICAg
IGNvbnN0IHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVmZmVyVXNh
Z2UuTUFQX1JFQUR9OwotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVm
ZmVyKHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJpbmRpbmcg
PSB7YnVmZmVyOiByZXN1bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3JvdXBCaW5k
aW5nID0ge2JpbmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBjb25zdCBi
aW5kR3JvdXBEZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5kaW5nczog
W2JpbmRHcm91cEJpbmRpbmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRl
QmluZEdyb3VwKGJpbmRHcm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21tYW5kRW5j
b2Rlci5jb3B5QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAwLCBzaXpl
KTsKLSAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNv
bXB1dGVQYXNzKCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQ
aXBlbGluZSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3Jv
dXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAgICBjb21w
dXRlUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21t
YW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1h
bmRCdWZmZXJdKTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc3Vs
dHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJheSA9
IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0c0Zs
b2F0MzJBcnJheVswXSA9PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT0g
NAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
NF0gPT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbN10gPT0gOCkKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQotICAgICAg
ICB0ZXN0RmFpbGVkKCIiKTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7
Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
dGVzdFBhc3NlZCgiIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3Mt
Mi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29v
Yi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzIEBACisKK1BBU1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
b29iLWFjY2Vzcy0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L29vYi1hY2Nlc3MtMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNjcmlwdCBz
cmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVz
dHMgPSB7fTsKKword2hsc2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJv
Z3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4
ID0gMzsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQy
NDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAgICAgICAg
aW50IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAg
IHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAg
ICAgICAgIHJldHVybiB4WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBh
ID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4
WzFdOworICAgICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDApOworfTsK
KworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAK
LVtudW10aHJlYWRzKDIsIDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21wdXRlIHZv
aWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZs
b2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJbMTMzN10g
PSAwLjA7CiAgICAgYnVmZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1NywxNCBAQCBh
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFzc0VuY29k
ZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0ZVBhc3NF
bmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBhc3NFbmNv
ZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5k
aXNwYXRjaCgyLCAxLCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMSwgMSwg
MSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBjb21tYW5k
QnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1ZXVlKCku
c3VibWl0KFtjb21tYW5kQnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIg
PSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNG
bG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7Ci0gICAg
aWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxvYXQzMkFy
cmF5WzBdID09IDAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0CiAgICAg
ICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzNdID09IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRv
ci1zeW50YXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG9wZXJhdG9yU3ludGF4IAorCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXguaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgorPHRpdGxlPlNvbWUgb3BlcmF0b3JzIHNob3VsZCBiZSBzeW50YXggZXJyb3JzLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29u
c3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRlc3RzLm9wZXJhdG9yU3ludGF4ID0gYXN5bmMg
KCkgPT4KK3sKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQor
ICAgICAgICBpbnQgb3BlcmF0b3IuZm9vKEZvbykgeyByZXR1cm4gNDI7IH0KKyAgICBgKTsKKyAg
ICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQg
b3BlcmF0b3IuZm9vPShGb28pIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAgICBhd2FpdCBj
aGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICB0aHJlYWQgaW50KiBv
cGVyYXRvciYuZm9vKEZvbykgeyBpbnQgeDsgcmV0dXJuICZ4OyB9CisgICAgYCk7CisKKyAgICBh
d2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQgb3Bl
cmF0b3JbXShGb28sIHVpbnQpIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAgICBhd2FpdCBj
aGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQgb3BlcmF0b3Jb
XT0oRm9vLCB1aW50KSB7IHJldHVybiA0MjsgfQorICAgIGApOworCisgICAgYXdhaXQgY2hlY2tG
YWlsKGAKKyAgICAgICAgc3RydWN0IEZvbyB7IH0KKyAgICAgICAgdGhyZWFkIGludCogb3BlcmF0
b3ImW10oRm9vLCB1aW50KSB7IGludCB4OyByZXR1cm4gJng7IH0KKyAgICBgKTsKK30KKworcnVu
VGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rv
ci1hc3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVz
dHMudmVjdG9ySW5kZXhBc3NpZ24gPSBhc3luYyAoKSAKICAgICAgICAgICAgIGludDIgeDsKICAg
ICAgICAgICAgIHhbMF0gPSAyMDsKICAgICAgICAgICAgIHhbMV0gPSAxMDsKLSAgICAgICAgICAg
IHhbNTAwMF0gPSAyMDsKKyAgICAgICAgICAgIHhbNTAwMF0gPSA0MDsKICAgICAgICAgICAgIHJl
dHVybiB4LnggLyB4LnkgKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBb
XSksIDQwIC8gMTAgKyA0MCk7CiB9OwogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1s
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3It
dmVjdG9yLWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNs
VGVzdHMudmVjdG9ySW5kZXhMb2FkID0gYXN5bmMgKCkgPT4KICAgICAgICAgICAgIGludDIgeDsK
ICAgICAgICAgICAgIHgueCA9IDIwOwogICAgICAgICAgICAgeC55ID0gMTA7Ci0gICAgICAgICAg
ICB4WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICBy
ZXR1cm4geFswXSAvIHhbMV0gKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7
CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28i
LCBbXSksIDQwLzEwICsgNDApOwogfTsKIAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2
ICswLDAgQEAKLQotUEFTUyBvdmVycmlkZVN1YnNjcmlwdFN0cnVjdCAKLVBBU1Mgb3ZlcnJpZGVT
dWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RB
bmRVc2VQb2ludGVycyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVy
c0luY29ycmVjdGx5IAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUt
c3Vic2NyaXB0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292
ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+
Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IG92ZXJy
aWRlIHN1YnNjcmlwdHMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMu
b3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFt
ID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAg
ICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5k
ZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlm
IChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAg
ICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAg
ICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdICogMzsK
LSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAzKTsKLX0KLQotd2hsc2xUZXN0cy5v
dmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZERvU3RvcmVzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBs
ZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsK
LSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJh
dG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAg
ICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsK
LSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vWzBdID0gNDk4
OwotICAgICAgICAgICAgZm9vWzFdID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnggKyBm
b28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13aGxzbFRlc3Rz
Lm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgPSBhc3luYyAoKSA9Pgotewot
ICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGlu
dCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCog
b3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsK
LSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9v
LT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJh
cih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAoKmZvbylb
MF0gKyAoKmZvbylbMV07Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAg
ICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwotICAgICAgICB9
Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCA0OTggKyAxOSk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBj
aGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAg
ICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIGludCB5OwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGlu
ZGV4KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgICAgICBpZiAoaW5k
ZXggPT0gMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpbnQgYmFyKHRo
cmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZm9v
WzBdICsgZm9vWzFdOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IGZvbygpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIGZvbzsKLSAgICAgICAgICAgICAgICBmb28u
eCA9IDQ5ODsKLSAgICAgICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAgICAgICAgIHJl
dHVybiBiYXIoJmZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0
cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3RzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwogCiB3
aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+CiB7Ci0gICAgY29u
c3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBpbnQgb3BlcmF0
b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7CkBAIC0zMCwxMCAr
MzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jCiAgICAgICAg
ICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAgICAgfQotICAgIGA7
Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24o
cHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMuc2V0dGVy
V2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyArNTMsNyBAQCB3aGxz
bFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNsVGVzdHMuc2V0dGVy
V2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0gICAgY29uc3QgcHJv
Z3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVjdCBCYXIgeyB9CiAg
ICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03NSwxNCArNzIsMTIg
QEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAogICAgICAgICAgICAg
YmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAgICAgICAgIH0KLSAg
ICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24o
cHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hsc2xUZXN0cy5yZWN1
cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICBh
d2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGludCB4
OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxzbFRlc3RzLnJlY3Vy
c2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFyLmMgPSA4OwogICAg
ICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0KLSAgICBgOwotICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmIiwgW10pLCA4
Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFzeW5jICgpID0+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0
dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAotUEFTUyBzaW1wbGVT
ZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlwdD4KIGNvbnN0IHdo
bHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBhc3luYyAoKSA9PiB7
Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4gewogICAgIGxldCBw
cm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGludCB4OwogICAg
ICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQgZm9vKCkKICAgICAg
ICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54ID0gNzgwNDsKLSAg
ICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNzgwNCk7Ci19
OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsKLSAgICBsZXQgcHJv
Z3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAg
ICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnk9KEZv
byBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLnggPSB2YWx1ZTsK
LSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueSA9IDc4MDQ7
CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBgOwpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVy
ZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0KLVBBU1MgZmllbGRT
aG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNz
LW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0
dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMuZmllbGRT
aG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAgICAg
ICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5Owot
ICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBmb28odWludCBpKSB7
Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJlYWQgRm9vKiBmb28g
PSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKLSAg
ICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKLSAgICAgICAgfQot
ICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0gICAgICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWlu
dChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9u
KHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAgICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoMTAw
MDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9u
KHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRydWUpOwotfTsKLQot
cnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNzLXRlc3QuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHdobHNsVGVzdHMuZmxvYXQ0eDR0
ZXN0cyA9ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwgIlVwbG9hZCBhIGZsb2F0NHg0W10g
YW5kIHN0b3JlIGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0gICAgY2hlY2tBcnJheXMoImZsb2F0
NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZsb2F0NCg0LCA1LCA2
LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0LCAxNSkpOyIsIFtd
LCBmbG9hdDR4NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0eDQiLCAicmV0dXJu
IGZsb2F0NHg0KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0KDQsIDUsIDYsIDcpLCBmbG9hdDQo
OCwgOSwgMTAsIDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1KSk7IiwgW10sIGZsb2F0NHg0Q29s
dW1uRXhwZWN0ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJyZXR1cm4gaW4wOyIs
IFtmbG9hdDR4NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3RlZCk7CiAgICAgbGV0IG11bHRpcGxl
NHg0YXJncyA9IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkgewpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3Qt
bHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2Nh
bnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52
YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9v
KiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsK
LX0KLQotRm9vIG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIg
b3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgQmFyIGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53
LnksIGIudy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAg
ICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBz
aGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1v
ZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9
OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBj
b25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5v
bmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9
IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxw
aGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0
cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29u
c3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0g
ICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBd
fTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9
IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91
dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBm
cmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xv
clN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwg
bGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZp
Y2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVC
dWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5j
cmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVm
ZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4
QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1h
cCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAg
ICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9y
bSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3
YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4u
Z2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1
dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVy
ID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0g
e3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBb
e2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2Fk
T3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NE
ZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9Owot
ICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQ
YXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBl
bGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVm
ZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3
KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25z
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdl
dFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRo
ZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7
Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5T
b2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhw
ZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1s
ZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVy
LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28q
IGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6Owot
fQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJu
ICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciog
b3BlcmF0b3ImLnEodGhyZWFkIEJheiogYikgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJh
Z21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7
Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53Lnks
IGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFn
ZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07
Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNv
bnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9u
ZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0g
e307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBo
YUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRz
LkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25z
dCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAg
ICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19
OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0g
e3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2Ny
aXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZy
YWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9y
U3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBs
YXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmlj
ZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNy
ZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
M10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFw
KCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAg
IGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3Jt
In07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dh
cENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5n
ZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0
VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIg
PSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7
cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7
YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRP
cDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29u
c3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rl
c2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBh
c3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZm
ZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXco
NCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0
IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0
UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhl
bihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsK
LX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNv
ZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFs
dWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIt
bHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFs
dWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAg
IEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0g
ICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4g
ZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0
YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFk
ZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxv
YXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9z
aXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxv
YXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0g
ICAgcmV0dXJuICZmLT54OwotfQotCi1Gb28gZ2VuZXJhdGVGb28oKSB7Ci0gICAgRm9vIGY7Ci0g
ICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21l
bnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICByZXR1cm4gZmxvYXQ0KGdlbmVyYXRlRm9v
KCkueSwgZ2VuZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIDEuMCk7Ci19Ci1gOwotCi1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5j
IGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmlj
ZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZl
cnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hh
ZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xv
Z3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtm
cm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMg
PSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1h
c2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0
aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAx
NiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1
dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0K
LSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czog
W119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5
b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9s
b2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwg
dmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRv
ciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6
IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRl
eEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3Ig
PSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0g
Y29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29u
c3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNv
bnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0Vmlldygp
OwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29k
ZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0g
ICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZp
ZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3Jl
IiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9
IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50
cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIg
PSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0p
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5j
b2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZm
ZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBz
dGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNj
cmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDExMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIg
aGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAK
LXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgw
KSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9v
IHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0
dXJuIGYueDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJn
ZXQgMCB7Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoZi55
LCBmLnksIGYueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0g
ICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTog
c2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFj
dC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFs
dWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJl
T25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0
LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVy
dGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6
IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewot
ICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyog
ZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0g
ICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAg
cmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28g
YSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBm
cmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMl1bM10g
PSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsK
LSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHBy
aW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0
aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25z
dCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JC
bGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9
IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQw
ID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBp
bnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJz
OiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVh
dGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBw
cmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhT
dGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVy
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBf
V1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVy
dGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hh
aW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0
IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1
cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRl
RGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6
IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91
dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0
b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2Nv
bG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRl
clBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NE
ZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBl
bGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4
QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigp
IHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBl
Y3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVC
YWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVl
LTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2
ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUt
My1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewot
ICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBC
YXIgcDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3ImW10odGhyZWFkIEJheiogYiwgdWludCBp
bmRleCkgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50
U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYlsxXVsyXVszXSA9IDEu
MDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIGJbMV1bMl1bM10s
IDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNo
YWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJj
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgot
PHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAi
PjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9h
dDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3Np
dGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9h
dCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQg
aW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6
OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFk
ZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzFdWzJdID0gMS4wOwotICAg
IHJldHVybiBmbG9hdDQoYlsxXVsyXSwgYlsxXVsyXSwgYlsxXVsyXSwgMS4wKTsKLX0KLWA7Ci0K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5
bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2
aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3Qg
dmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhT
aGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3Bv
bG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0g
e2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVu
ZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRl
cyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRl
TWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9j
YXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6
IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lu
cHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsK
LQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRz
OiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVM
YXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9w
b2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRl
LCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9Owot
ICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2Fn
ZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVy
dGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4w
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQg
PSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRv
ciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4g
PSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBj
b25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAg
Y29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3
KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5j
b2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsK
LSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJl
VmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3Rv
cmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50
ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1l
bnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2Rl
ciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFsw
XSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRF
bmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1
ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAg
IHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJh
d1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0
bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlw
dD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZs
b2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJu
IHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQg
ZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1
cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBGb28gZjsKLSAgICBmLngg
PSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRl
cigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2VuZXJhdGVGb28oKVswXSwg
Z2VuZXJhdGVGb28oKVsxXSwgZ2VuZXJhdGVGb28oKVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246
IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBh
dHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07
Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQo
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ks
IHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0
ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0g
e3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVm
ZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkg
PSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtk
ZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250
ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBv
dXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBj
b25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywg
cmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBj
bGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVs
bDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNv
bW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVy
LmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0p
OwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0
KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0
ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9
IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLWdldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+
PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0
NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0
aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0
IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1
cm4gZmxvYXQoaW5kZXgpOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6
IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICByZXR1cm4gZmxvYXQ0KGZbMV0sIGZbMV0s
IGZbMV0sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNv
bnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRl
clNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0z
LWxldmVscy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1s
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0
PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRl
eCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBT
Vl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAg
ICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yW109KEZvbyBmLCB1aW50IGluZGV4LCBm
bG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7
Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0g
ICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBG
b28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVjdCBCYXogewot
ICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3JbXShCYXogYiwgdWludCBpbmRleCkgewotICAg
IHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvcltdPShCYXogYiwgdWludCBpbmRleCwgQmFy
IGEpIHsKLSAgICBiLnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzJdWzNd
WzRdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXVs0XSwgYlsyXVszXVs0XSwgYlsy
XVszXVs0XSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAg
Y29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hh
ZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsK
LSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29u
c3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25l
In07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7
fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhh
QmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMu
QUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0
IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAg
IGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07
Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7
dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
LQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJh
Z21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JT
dGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxh
eW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNl
LmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3Jl
YXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBj
b25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsz
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
M10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAo
KTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAg
Y29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0i
fTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2Fw
Q2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdl
dEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRU
ZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9
IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHty
OiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3th
dHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9w
OiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVz
Y3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAg
ICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFz
cyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxp
bmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZl
cnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0
LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3Qg
Y29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRR
dWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVu
KGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwot
fSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0
dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0
LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFs
dWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJl
T25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAot
dmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDAp
KSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28g
ewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgp
IHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQgaW5k
ZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3Qg
QmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgp
IHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5k
ZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
YlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1b
M10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0
IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNv
dXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBl
bnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAg
Y29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJh
c3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9Owot
ICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5k
LCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAot
ICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRy
aWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25z
dCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAg
IGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRl
eEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2
aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50
U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVz
LCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6
IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVh
dGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVz
YWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1
ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0K
LSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0
IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0g
ICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWlu
RGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJy
ZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVy
ZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwg
ZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNo
bWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNs
ZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVw
dGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29u
c3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJl
bmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAs
IFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwg
MCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5j
dGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1
bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJl
KGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2
YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2Fu
dmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qg
c2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0
aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247
Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10o
Rm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3Jb
XT0oRm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVy
biBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3Bl
cmF0b3ImW10odGhyZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10s
IGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTog
c2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJh
Z21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50
U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAi
OwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxN
b2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
ckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5v
cm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9y
V3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAK
LSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9h
dDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0
cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRl
eElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4
U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3Rh
dGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNv
dW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRF
WCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5j
KCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJi
Z3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2Fw
Q2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3
YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3
ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25z
dCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2ht
ZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51
bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07
Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdp
blJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRW
ZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwot
ICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBk
ZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0
dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3Vy
Y2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRy
aWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3Ry
dWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0
aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5k
ZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQg
aW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21l
bnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0g
ICAgRm9vIGZvbzsKLSAgICBmb28ueCA9IDEuMDsKLSAgICBiWzFdID0gZm9vOwotICAgIGZvbyA9
IGJbMV07Ci0gICAgcmV0dXJuIGZsb2F0NChmb28ueCwgZm9vLngsIGZvby54LCAxLjApOwotfQot
YDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwot
Ci1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUg
PSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBj
b25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZl
cnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2
ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3Rh
dGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBo
YUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
U3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwg
d3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0
aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFk
ZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0
cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMg
PSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1
dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExh
eW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBl
bGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRp
dmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2ls
U3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91
dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxp
bmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQs
IHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVm
ZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2Fp
dCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29u
dGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNj
cmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBD
aGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwot
ICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsK
LSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVs
dFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1h
bmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6
IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRl
eHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6
ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0
YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NF
bmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlw
dG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVy
XSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29t
bWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21t
YW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7
Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAg
ICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVs
cy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3Qt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1s
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48
L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0
IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRp
b24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQg
eDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19Ci0K
LUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0
dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3Iu
dyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwg
Rm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1zdHJ1Y3QgQmF6IHsK
LSAgICBCYXIgcDsKLX0KLQotQmFyIG9wZXJhdG9yLnEoQmF6IGIpIHsKLSAgICByZXR1cm4gYi5w
OwotfQotCi1CYXogb3BlcmF0b3IucT0oQmF6IGIsIEJhciBhKSB7Ci0gICAgYi5wID0gYTsKLSAg
ICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9U
YXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxv
YXQ0KGIucS53LnksIGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9u
IHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVT
aGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0g
ICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJp
YW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6
ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAg
ICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1h
dDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07
IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0g
bnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBm
b3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmli
dXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAg
IGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25z
dCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0
ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5w
dXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBy
ZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXpl
OiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZl
clVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5t
YXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3
IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEx
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdl
dENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNl
LCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5j
b25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0
VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1
dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAg
Y29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8g
e30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3Qg
Y29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29s
dmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJD
b2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhT
dGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5k
RW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5p
c2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZp
Y2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFi
c3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVl
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJl
dmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNj
cmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVy
KGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0
dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9h
dCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9y
Lnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQot
c3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvci53KEJhciBiKSB7Ci0g
ICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9KEJhciBiLCBGb28gYSkgewotICAg
IGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAg
IHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246
IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBh
dHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07
Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQo
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ks
IHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0
ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0g
e3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BV
QnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVm
ZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkg
PSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52
YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtk
ZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250
ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBv
dXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0K
LSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2Rlcigp
OyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBj
b25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywg
cmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBj
bGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVs
bDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNv
bW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVy
LmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0p
OwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0
KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVl
LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdh
cmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0
ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsK
LSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19
Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28g
b3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBm
OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0
b3ImLncodGhyZWFkIEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQg
ZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAg
Yi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsK
LSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHBy
aW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0
aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25z
dCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JC
bGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9
IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQw
ID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBp
bnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJz
OiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVh
dGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBw
cmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhT
dGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVy
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBf
V1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVy
dGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hh
aW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0
IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1
cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRl
RGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6
IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91
dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0
b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2Nv
bG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRl
clBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NE
ZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBl
bGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4
QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigp
IHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377738</attachid>
            <date>2019-08-30 12:17:09 -0700</date>
            <delta_ts>2019-08-30 12:48:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2639018</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0
ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgV0hMU0wgaW4gYSBzaWduaWZpY2FudCB3YXku
IFRoaXMgcGF0Y2ggcmVtb3ZlcyBnZXR0ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGZyb20g
dGhlIGxhbmd1YWdlLiBJbiBvdXIgZXhwZXJpZW5jZSB3cml0aW5nIFdITFNMIHNoYWRlcnMsIHRo
ZXNlIHBhcnRzIG9mIHRoZSBsYW5ndWFnZQorICAgICAgICB3ZW50IHVudXNlZCwgYW5kIHRoZXkg
YWRkZWQgYSBsb3Qgb2YgY29tcGxleGl0eSB0byB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNv
bXBpbGVyLgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBub3cgdHJlYXRzIGZpZWxkIGFj
Y2Vzc2VzIGFuZCBhcnJheSBpbmRleGVzIGFzIGludHJpbnNpY3MgaW5zaWRlIHRoZSBjb21waWxl
ci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBub3Rpb25zIG9mIG5hbWVkIG9wZXJh
dG9ycywgYW5kZXJzLCBhbmQgaW5kZXhlZCBvcGVyYXRvcnMKKyAgICAgICAgZnJvbSB0aGUgY29t
cGlsZXIgYW5kIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LiBUaGUgY2hlY2tlciBub3cgaW50cmluc2lj
YWxseSBrbm93cyB0aGUKKyAgICAgICAgcmV0dXJuIHR5cGUgZm9yIHByb3BlcnR5IGFjY2Vzc2Vz
IGFuZCBpbmRleGVkIGV4cHJlc3Npb25zIGJhc2VkIG9uIHdoYXQgdGhlCisgICAgICAgIGJhc2Ug
dHlwZSBpcy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIGluIHByYWN0aWNl
IHdhcyBkaWZmaWN1bHQsIHNpbmNlIGdldHRlcnMvc2V0dGVycy9hbmRlcnMKKyAgICAgICAgc29s
dmVkIGEgbG90IG9mIHRoZSBkaWZmaWN1bHQgcHJvYmxlbXMgd2UgaGFkIGluIGdlbmVyYXRpbmcg
bWV0YWwgY29kZS4gRm9yCisgICAgICAgIGV4YW1wbGUsIGFsbCBzd2l6emxlIG9wZXJhdG9ycyB3
ZXJlIGdldHRlcnMgYW5kIHNldHRlcnMsIHNvIGFzc2lnbmluZyB0byBhCisgICAgICAgIHN3aXp6
bGUgZmVsbCBvdXQgbmF0dXJhbGx5IGZyb20gaW1wbGVtZW50aW5nIHNldHRlcnMuIEhvd2V2ZXIs
IGR1cmluZyBtZXRhbAorICAgICAgICBjb2RlZ2VuLCBhbGwgd2Ugc2VlIGlzIGEgZG90IGV4cHJl
c3Npb24gd2l0aCAieHkiIGFzIGEgcHJvcGVydHkuIE91ciBwcmV2aW91cworICAgICAgICBhcmNo
aXRlY3R1cmUgb2YgZW1pdHRpbmcgTWV0YWwgY29kZSB1c2luZyBwb2ludGVycyB3aGljaCByZXBy
ZXNlbnQgbHZhbHVlcworICAgICAgICBkb2Vzbid0IHdvcmsgYmVjYXVzZSB5b3UgY2FuJ3QgdGFr
ZSB0aGUgYWRkcmVzcyBvZiBhIHN3aXp6bGUuIEZvciBleGFtcGxlLAorICAgICAgICAiYXV0byog
eCA9ICZ2ZWN0b3IueXoiIGlzIGludmFsaWQgbWV0YWwgY29kZS4KKyAgICAgICAgCisgICAgICAg
IFNvLCB0aGlzIHBhdGNoIGNoYW5nZXMgdGhlIGVudGlyZSBtZXRhbCBjb2RlIGdlbmVyYXRvciB0
byBlbWl0IFdITFNMIGV4cHJlc3Npb25zCisgICAgICAgIGFzIE1ldGFsIGV4cHJlc3Npb25zLiBU
byBkbyB0aGlzLCBJIGhhZCB0byBjaGFuZ2UgYSBsb3QgYWJvdXQgaG93IHRoZSBjb21waWxlcgor
ICAgICAgICB3YXMgaW1wbGVtZW50ZWQ6CisgICAgICAgIC0gSSBjaGFuZ2VkIHRoZSBpbmRleGVk
IGFjY2Vzc2VzIG9mIG1hdHJpY2VzIHRvIHJldHVybiBjb2x1bW5zIGluc3RlYWQgb2YKKyAgICAg
ICAgcm93cy4gVGhpcyBhbGxvd2VkIFdITFNMIGNvZGUgbGlrZSBgbWF0WzBdLnh5ID0gNDJgIHRv
IGJlIGNvbXBpbGVkIGludG8KKyAgICAgICAgdGhlIGVxdWl2YWxlbnQgbWV0YWwgY29kZSBvZiBg
bWF0WzBdLnh5ID0gNDJgLgorICAgICAgICAtIEkgY2hhbmdlZCB0aGUgbmF0aXZlIGZ1bmN0aW9u
IGlubGluZXIgdG8gZW1pdCBleHByZXNzaW9ucyBpbnN0ZWFkIG9mCisgICAgICAgIHN0YXRlbWVu
dHMuCisgICAgICAgIC0gV2UgYWxzbyBzaW1wbGlmeSB0aGUgbGFuZ3VhZ2UgYnkgcmVtb3Zpbmcg
bnVsbCBhbmQgcmVxdWlyaW5nIGFsbAorICAgICAgICByZWZlcmVuY2UgdHlwZSB2YXJpYWJsZXMg
dG8gaGF2ZSBhbiBpbml0aWFsaXplci4gVGhpcyBtZWFucyB0aGF0CisgICAgICAgIG51bGwgaXMg
bm8gbG9uZ2VyIGEgdmFsaWQgdmFsdWUsIHdoaWNoIGFsbG93cyB1cyB0byBvbWl0IG51bGwgY2hl
Y2tzCisgICAgICAgIGluc2lkZSB0aGUgbWV0YWwgY29kZSBnZW5lcmF0b3IuIFRvIG1ha2UgdGhp
cyB3b3JrIHdpdGggYXJyYXkKKyAgICAgICAgYWNjZXNzZXMsIHdlIG5vdyBjbGFtcCBhY2Nlc3Nl
cyBpbnN0ZWFkIG9mIHJldHVybmluZyBudWxsIGZvciBPT0IKKyAgICAgICAgYWNjZXNzZXMuCisK
KyAgICAgICAgVGVzdHM6IHdlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAorICAg
ICAgICAgICAgICAgd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCisgICAgICAgICAg
ICAgICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCisgICAgICAgICAgICAg
ICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHdl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAorICAgICAgICAgICAgICAgd2ViZ3B1L3dobHNs
L29wZXJhdG9yLXN5bnRheC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xBU1QuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xD
b25zdGFudEV4cHJlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xEb3RFeHByZXNzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpFeHBy
ZXNzaW9uOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Np
b246OmRlc3RydWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVy
RnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5kZXJGdW5jdGlvbk5hbWUgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Np
b24uaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Npb246OmNvcHlUeXBl
VG8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6RXhwcmVzc2lvbjo6aXNN
YWtlUG9pbnRlckV4cHJlc3Npb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VDo6RXhwcmVzc2lvbjo6aXNOdWxsTGl0ZXJhbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTE51bGxMaXRlcmFsVHlwZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5j
dGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjp0aHJlYWRBbmRlckZ1bmN0
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRHZXR0ZXJGdW5jdGlv
bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb246OnNldEFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRUaHJlYWRBbmRlckZ1
bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbjo6c2V0U2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlR5cGU6OmRlc3Ryb3kpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VHlwZTo6ZGVzdHJ1Y3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNhblJlc29sdmUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNpb25Db3N0
IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc0ludGVnZXJMaXRlcmFsVHlw
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc051bGxMaXRl
cmFsVHlwZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6SG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9y
OjpIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNvcmU6
OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCk6CisgICAg
ICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1p
dENvbnN0YW50RXhwcmVzc2lvblN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0
YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJp
bGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kTGVm
dFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZh
bHVlQW5kTnVsbGFiaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnRha2VMYXN0TGVmdFZhbHVlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdl
bmVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6Om1ldGFsQ29kZVBy
b2xvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6Z2VuZXJhdGVNZXRhbENv
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjptZXRhbENvZGVQcm9sb2cpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
RnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjppbmxp
bmVOYXRpdmVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OnZlY3Rv
cklubmVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXSExTTDo6TWV0YWw6OndyaXRlTmF0aXZlVHlwZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VER1bXBlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNU
RHVtcGVyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tEdXBsaWNh
dGVGdW5jdGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZUJ5SW5zdGFudGlhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tPcGVyYXRvck92ZXJsb2FkKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2VyOjp3cmFwcGVkVWludFR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6Om5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNv
cmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Q2hl
Y2tlcjo6cmVzb2x2ZUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2Vy
Ojphc3NpZ25Db25jcmV0ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVX
aXRoT3BlcmF0b3JMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNo
ZWNrZXI6OmdlbmVyaWNQb2ludGVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6Q2hlY2tlcjo6ZmluaXNoVmlzaXRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6ZmluZEhpZ2hab21iaWVzKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6Y29tbWl0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpJbnRyaW5zaWNzOjpib29sVmVjdG9yVHlw
ZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkludHJpbnNpY3M6OnVp
bnRWZWN0b3JUeXBlRm9yU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6SW50
cmluc2ljczo6aW50VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OkludHJpbnNpY3M6OmZsb2F0VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxleGVyOjpjb25zdW1lVG9rZW5Gcm9tU3RyZWFtKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHA6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlBhcnNlcjo6cGFyc2VDb25zdGFudEV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OlBhcnNlcjo6cGFyc2VFbnVtZXJhdGlvbk1lbWJlcik6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6UGFyc2VyOjpwYXJzZVRlcm0pOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJlcGFyZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cHJlcGFy
ZVNoYXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvZ3JhbTo6aXNWYWxpZFZlY3Rv
clByb3BlcnR5KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
aDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6d3JhcEFuZGVyQ2FsbEFyZ3VtZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjphbmRlckNhbGxBcmd1bWVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6c2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6Z2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6bW9kaWZ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0
eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvcGVydHlSZXNvbHZlcjo6c2ltcGxp
ZnlMZWZ0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHA6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0OgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmg6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlv
bnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucyk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpWaXNpdG9yOjp2aXNpdCk6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmg6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5
LTA4LTI5ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBD
b3B5aW5nIGFuZCBwYXN0aW5nIHR3byBwYXJhZ3JhcGhzIHdpdGggYSBuZXdsaW5lIGJldHdlZW4g
dGhlbSByZXN1bHRzIGluIHN0cmF5IHBhcmFncmFwaCB3aXRoIG5ld2xpbmUgaW5zaWRlLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTYsMTAgKzMxNiw4IEBAIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMR2F0aGVy
RW50cnlQb2ludEl0ZW1zLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVjdXJzaXZlVHlw
ZUNoZWNrZXIuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQ29u
c3RydWN0b3JzLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVy
YXRpb25GdW5jdGlvbnMuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVT
dHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tl
ci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTmFtZUNvbnRleHQuY3BwCkBAIC0zMzEs
NiArMzI5LDcgQEAgTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKK01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMVHlwZU5hbWVyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcApAQCAtMzQ3LDcg
KzM0Niw2IEBAIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFNwZWNpYWxpemEKIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFN0YWdlSW5PdXRTZW1hbnRpYy5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuY3BwCi1Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFN0YXRlbWVudC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMwMiwxMiArMzAyLDYgQEAgdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Rmxv
YXRMaXRlcmFsJgogICAgIG1fb3V0LnByaW50KGZsb2F0TGl0ZXJhbC52YWx1ZSgpKTsKIH0KIAot
dm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewot
ICAgIG1fb3V0LnByaW50KCJudWxsIik7Ci0gICAgdmlzaXQobnVsbExpdGVyYWwudHlwZSgpKTsK
LX0KLQogdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5M
aXRlcmFsKQogewogICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQpAQCAtMzI4LDEwICsz
MjIsNiBAQCB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUCiB7CiB9CiAK
LXZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpCi17Ci19Ci0KIHZv
aWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIG1fb3V0LnByaW50KGVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbC5sZWZ0KCksICIuIiwgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLnJpZ2h0KCkpOwpA
QCAtNDI1LDcgKzQxNSw2IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkV4cHJlc3Npb24m
IGUKICAgICBib29sIHNraXBQYXJlbnMgPSBpczxBU1Q6OkJvb2xlYW5MaXRlcmFsPihleHByZXNz
aW9uKQogICAgICAgICB8fCBpczxBU1Q6OkZsb2F0TGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAg
ICAgfHwgaXM8QVNUOjpJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVzc2lvbikKLSAgICAgICAgfHwgaXM8
QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpVbnNpZ25l
ZEludGVnZXJMaXRlcmFsPihleHByZXNzaW9uKQogICAgICAgICB8fCBpczxBU1Q6OkVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpDb21tYUV4
cHJlc3Npb24+KGV4cHJlc3Npb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEFTVER1bXBlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcxLDEyICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aXNpdChB
U1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2ln
bmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2
aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6RnVuY3Rpb25BdHRyaWJ1dGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TnVt
VGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJikgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENo
ZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwyNCArMTIyLDcgQEAgcHJpdmF0ZToKIEV4cGVjdGVk
PHZvaWQsIEVycm9yPiBjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucyhjb25zdCBQcm9ncmFtJiBwcm9n
cmFtKQogewogICAgIGF1dG8gcGFzc2VzU3RhdGljQ2hlY2tzID0gWyZdIChjb25zdCBBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uKSAtPiBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gewot
ICAgICAgICBpZiAoZnVuY3Rpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIgJiYgZnVuY3Rpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAyCi0gICAgICAgICAgICAmJiBpczxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpKSB7Ci0gICAgICAgICAgICBhdXRvJiB0eXBlID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpUeXBlUmVmZXJlbmNlPih0
eXBlKSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYxIFNob3VsZG4ndCB3ZSBhbHJlYWR5IGtub3cgd2hldGhl
ciB0aGUgdHlwZXMgaGF2ZSBiZWVuIHJlc29sdmVkIGJ5IG5vdz8KLSAgICAgICAgICAgICAgICBp
ZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPih0eXBl
KS5tYXliZVJlc29sdmVkVHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpczxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oKnJlc29sdmVkVHlwZSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPigqcmVzb2x2ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24ubmFtZSgpID09ICJ1aW50IikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBk
ZWZpbmUgYXJyYXkgcmVmZXJlbmNlIGFuZGVyLiIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChmdW5j
dGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgZnVuY3Rpb24ucGFyYW1ldGVycygp
LnNpemUoKSA9PSAxCi0gICAgICAgICAgICAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+
KHN0YXRpY19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKQotICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHN0YXRp
Y19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCkpKSkpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNh
bm5vdCBkZWZpbmUgb3BlcmF0b3IubGVuZ3RoIGZvciBhbiBhcnJheS4iKSk7Ci0gICAgICAgIGVs
c2UgaWYgKGZ1bmN0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKKyAgICAgICAgaWYgKGZ1bmN0
aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKICAgICAgICAgICAgICYmIGZ1bmN0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMgogICAgICAgICAgICAgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBl
PihzdGF0aWNfY2FzdDxjb25zdCBBU1Q6OlVubmFtZWRUeXBlJj4oKmZ1bmN0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpKSkKICAgICAgICAgICAgICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4o
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5OSw3NiArMTk5LDYgQEAgcHJpdmF0ZToKICAgICBBU1Q6Ok5hbWVkVHlwZSog
bV9jYXN0UmV0dXJuVHlwZTsKIH07CiAKLWNsYXNzIEFuZE92ZXJsb2FkVHlwZUtleSB7Ci1wdWJs
aWM6Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5KCkgPSBkZWZhdWx0OwotICAgIEFuZE92ZXJsb2Fk
VHlwZUtleShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgewotICAgICAgICBt
X3R5cGUgPSBiaXR3aXNlX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSo+KHN0YXRpY19jYXN0PHVpbnRw
dHJfdD4oMSkpOwotICAgIH0KLQotICAgIEFuZE92ZXJsb2FkVHlwZUtleShBU1Q6OlVubmFtZWRU
eXBlJiB0eXBlLCBBU1Q6OkFkZHJlc3NTcGFjZSBhZGRyZXNzU3BhY2UpCi0gICAgICAgIDogbV90
eXBlKCZ0eXBlKQotICAgICAgICAsIG1fYWRkcmVzc1NwYWNlKGFkZHJlc3NTcGFjZSkKLSAgICB7
IH0KLQotICAgIGJvb2wgaXNFbXB0eVZhbHVlKCkgY29uc3QgeyByZXR1cm4gIW1fdHlwZTsgfQot
ICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gYml0d2lzZV9jYXN0PEFTVDo6VW5uYW1lZFR5cGUqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+
KDEpKTsgfQotCi0gICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gSW50SGFzaDx1aW50OF90Pjo6aGFzaChzdGF0aWNfY2FzdDx1aW50OF90PihtX2FkZHJlc3NT
cGFjZSkpIF4gbV90eXBlLT5oYXNoKCk7Ci0gICAgfQotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gbV9hZGRyZXNzU3BhY2UgPT0gb3RoZXIubV9hZGRyZXNzU3BhY2UKLSAgICAgICAgICAgICYm
ICptX3R5cGUgPT0gKm90aGVyLm1fdHlwZTsKLSAgICB9Ci0KLSAgICBzdHJ1Y3QgSGFzaCB7Ci0g
ICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYga2V5
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4ga2V5Lmhhc2goKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgYSwg
Y29uc3QgQW5kT3ZlcmxvYWRUeXBlS2V5JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gYSA9PSBiOwotICAgICAgICB9Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRv
Q29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFRy
YWl0cyA6IHB1YmxpYyBXVEY6OlNpbXBsZUNsYXNzSGFzaFRyYWl0czxBbmRPdmVybG9hZFR5cGVL
ZXk+IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24g
PSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFsdWUoY29uc3QgQW5kT3Zlcmxv
YWRUeXBlS2V5JiBrZXkpIHsgcmV0dXJuIGtleS5pc0VtcHR5VmFsdWUoKTsgfQotICAgIH07Ci0K
LXByaXZhdGU6Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogbV90eXBlIHsgbnVsbHB0ciB9OwotICAg
IEFTVDo6QWRkcmVzc1NwYWNlIG1fYWRkcmVzc1NwYWNlOwotfTsKLQotc3RhdGljIEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKENv
ZGVMb2NhdGlvbiBsb2NhdGlvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUmIGZpcnN0QXJndW1l
bnQsIGNvbnN0IEludHJpbnNpY3MmIGludHJpbnNpY3MpCi17Ci0gICAgY29uc3QgYm9vbCBpc09w
ZXJhdG9yID0gdHJ1ZTsKLSAgICBhdXRvIHJldHVyblR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpj
cmVhdGUobG9jYXRpb24sIGZpcnN0QXJndW1lbnQuYWRkcmVzc1NwYWNlKCksIGZpcnN0QXJndW1l
bnQuZWxlbWVudFR5cGUoKSk7Ci0gICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0
ZXJzOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURl
Y2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksICZmaXJzdEFyZ3VtZW50LCBT
dHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgaW50cmluc2ljcy51aW50
VHlwZSgpKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlv
biwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlw
ZSksIFN0cmluZygib3BlcmF0b3ImW10iLCBTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0
YW5kYXJkTGlicmFyeSkpOwotfQotCi1zdGF0aWMgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uIHJlc29sdmVXaXRoT3BlcmF0b3JMZW5ndGgoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBBU1Q6
OlVubmFtZWRUeXBlJiBmaXJzdEFyZ3VtZW50LCBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNz
KQotewotICAgIGNvbnN0IGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgYXV0byByZXR1cm5U
eXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBpbnRyaW5zaWNzLnVpbnRU
eXBlKCkpOwotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICBw
YXJhbWV0ZXJzLmFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4o
bG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCAmZmlyc3RBcmd1bWVudCwgU3RyaW5nKCksIG51
bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9j
aygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3Iu
bGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVy
cyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsK
LX0KLQogc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aFJl
ZmVyZW5jZUNvbXBhcmF0b3IoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBSZXNvbHZpbmdUeXBlJiBm
aXJzdEFyZ3VtZW50LCBSZXNvbHZpbmdUeXBlJiBzZWNvbmRBcmd1bWVudCwgY29uc3QgSW50cmlu
c2ljcyYgaW50cmluc2ljcykKIHsKICAgICBjb25zdCBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwpA
QCAtMjk5LDM4ICsyMjksMTMgQEAgZW51bSBjbGFzcyBBY2NlcHRhYmlsaXR5IHsKIAogc3RhdGlj
IE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4gcmVzb2x2ZUJ5SW5zdGFu
dGlhdGlvbihjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiBsb2NhdGlvbiwgY29uc3Qg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBlcywgY29u
c3QgSW50cmluc2ljcyYgaW50cmluc2ljcykKIHsKLSAgICBpZiAobmFtZSA9PSAib3BlcmF0b3Im
W10iICYmIHR5cGVzLnNpemUoKSA9PSAyKSB7Ci0gICAgICAgIGF1dG8qIGZpcnN0QXJndW1lbnRB
cnJheVJlZiA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoW10oUmVmPEFT
VDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUq
IHsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nh
c3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuICZkb3duY2FzdDxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpV
bm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYpIC0+IEFTVDo6
QXJyYXlSZWZlcmVuY2VUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgfSkpOwotICAgICAgICBib29sIHNlY29uZEFyZ3VtZW50SXNVaW50ID0gdHlwZXNbMV0uZ2V0
KCkudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5h
bWVkVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh1bm5hbWVkVHlw
ZSwgaW50cmluc2ljcy51aW50VHlwZSgpKTsKLSAgICAgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBib29sIHsKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUo
KS5jYW5SZXNvbHZlKGludHJpbnNpY3MudWludFR5cGUoKSk7Ci0gICAgICAgIH0pKTsKLSAgICAg
ICAgaWYgKGZpcnN0QXJndW1lbnRBcnJheVJlZiAmJiBzZWNvbmRBcmd1bWVudElzVWludCkKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKGxvY2F0aW9u
LCAqZmlyc3RBcmd1bWVudEFycmF5UmVmLCBpbnRyaW5zaWNzKTsKLSAgICB9IGVsc2UgaWYgKG5h
bWUgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgdHlwZXMuc2l6ZSgpID09IDEpIHsKLSAgICAgICAg
YXV0byogZmlyc3RBcmd1bWVudFJlZmVyZW5jZSA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6
bWFrZVZpc2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNU
OjpVbm5hbWVkVHlwZSogewotICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPihzdGF0aWNfY2FzdDxBU1Q6OlVubmFtZWRUeXBlJj4odW5uYW1lZFR5cGUpKSB8fCBpczxB
U1Q6OkFycmF5VHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBl
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHVubmFtZWRUeXBlLnB0cigpOwotICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJl
ZmVyZW5jZT4mKSAtPiBBU1Q6OlVubmFtZWRUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgfSkpOwotICAgICAgICBpZiAoZmlyc3RBcmd1bWVudFJlZmVyZW5jZSkK
LSAgICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yTGVuZ3RoKGxvY2F0aW9uLCAq
Zmlyc3RBcmd1bWVudFJlZmVyZW5jZSwgaW50cmluc2ljcyk7Ci0gICAgfSBlbHNlIGlmIChuYW1l
ID09ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgeworICAgIGlmIChuYW1lID09
ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgewogICAgICAgICBhdXRvIGFjY2Vw
dGFiaWxpdHkgPSBbXShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKSAtPiBBY2NlcHRhYmls
aXR5IHsKICAgICAgICAgICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZp
c2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQWNjZXB0YWJp
bGl0eSB7CiAgICAgICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdW5uYW1lZFR5cGUtPnVu
aWZ5Tm9kZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNhc3Q8QVNUOjpVbm5hbWVk
VHlwZT4odW5pZnlOb2RlKSkgPyBBY2NlcHRhYmlsaXR5OjpZZXMgOiBBY2NlcHRhYmlsaXR5OjpO
bzsKLSAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBBY2NlcHRhYmlsaXR5IHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LT5yZXNvbHZhYmxlVHlwZSgpKSA/IEFjY2VwdGFiaWxpdHk6Ok1heWJlIDogQWNjZXB0YWJpbGl0
eTo6Tm87CisgICAgICAgICAgICB9LCBbXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+
JikgLT4gQWNjZXB0YWJpbGl0eSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFjY2VwdGFiaWxp
dHk6Ok5vOwogICAgICAgICAgICAgfSkpOwogICAgICAgICB9OwogICAgICAgICBhdXRvIGxlZnRB
Y2NlcHRhYmlsaXR5ID0gYWNjZXB0YWJpbGl0eSh0eXBlc1swXS5nZXQoKSk7CkBAIC00MjcsOTcg
KzMzMiwxMyBAQCBzdGF0aWMgYm9vbCBjaGVja1NlbWFudGljcyhWZWN0b3I8RW50cnlQCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGNoZWNrT3BlcmF0b3JPdmVybG9hZChjb25z
dCBBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uLCBOYW1lQ29udGV4
dCYgbmFtZUNvbnRleHQsIEFTVDo6TmFtZVNwYWNlIGN1cnJlbnROYW1lU3BhY2UpCitzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24m
IGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKICAgICBlbnVtIGNsYXNzIENoZWNrS2luZCB7CiAgICAg
ICAgIEluZGV4LAogICAgICAgICBEb3QKICAgICB9OwogCi0gICAgYXV0byBjaGVja0dldHRlciA9
IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3Rl
ZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAg
aWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVk
UGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgZmly
c3RQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4o
Zmlyc3RQYXJhbWV0ZXJVbmlmeU5vZGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KGZpcnN0UGFyYW1ldGVyVW5pZnlOb2RlKTsK
LSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6OkluZGV4KSB7Ci0gICAgICAgICAgICBh
dXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFpczxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmICgh
aXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgbmF0aXZlVHlwZURlY2xhcmF0aW9u
ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0gICAg
ICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5pc0ludCgpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
OwotCi0gICAgYXV0byBjaGVja1NldHRlciA9IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7
Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2lu
ZDo6SW5kZXggPyAzIDogMjsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgYXV0byYgZmlyc3RBcmd1bWVudFVuaWZ5Tm9kZSA9IGZ1bmN0aW9u
RGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OlVubmFtZWRUeXBlPihmaXJzdEFyZ3VtZW50VW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihm
aXJzdEFyZ3VtZW50VW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJU
eXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRU
eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6
OkluZGV4KSB7Ci0gICAgICAgICAgICBhdXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBm
dW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwot
ICAgICAgICAgICAgaWYgKCFpczxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBu
YW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKTsKLSAgICAgICAgICAgIGlmICghaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5h
bWVkVHlwZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0
byYgbmF0aXZlVHlwZURlY2xhcmF0aW9uID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlv
bi5pc0ludCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIW1hdGNoZXMoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSwgKmZ1bmN0aW9uRGVm
aW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGF1dG8mIHZhbHVlVHlwZSA9ICpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpW251bUV4cGVjdGVkUGFyYW1ldGVycyAtIDFdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8g
Z2V0dGVyTmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3Vic3RyaW5nKDAsIGZ1bmN0
aW9uRGVmaW5pdGlvbi5uYW1lKCkubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgYXV0byBnZXR0ZXJG
dW5jcyA9IG5hbWVDb250ZXh0LmdldEZ1bmN0aW9ucyhnZXR0ZXJOYW1lLCBjdXJyZW50TmFtZVNw
YWNlKTsKLSAgICAgICAgVmVjdG9yPFJlc29sdmluZ1R5cGU+IGFyZ3VtZW50VHlwZXM7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBhcmd1bWVu
dFR5cGVSZWZlcmVuY2VzOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUV4cGVj
dGVkUGFyYW1ldGVycyAtIDE7ICsraSkKLSAgICAgICAgICAgIGFyZ3VtZW50VHlwZXMuYXBwZW5k
KCpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldLT50eXBlKCkpOwotICAgICAgICBm
b3IgKGF1dG8mIGFyZ3VtZW50VHlwZSA6IGFyZ3VtZW50VHlwZXMpCi0gICAgICAgICAgICBhcmd1
bWVudFR5cGVSZWZlcmVuY2VzLmFwcGVuZChhcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvKiBv
dmVybG9hZCA9IHJlc29sdmVGdW5jdGlvbk92ZXJsb2FkKGdldHRlckZ1bmNzLCBhcmd1bWVudFR5
cGVSZWZlcmVuY2VzLCBjdXJyZW50TmFtZVNwYWNlKTsKLSAgICAgICAgaWYgKCFvdmVybG9hZCkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgcmVzdWx0VHlwZSA9IG92
ZXJsb2FkLT50eXBlKCk7Ci0gICAgICAgIHJldHVybiBtYXRjaGVzKHJlc3VsdFR5cGUsIHZhbHVl
VHlwZSk7Ci0gICAgfTsKLQotICAgIGF1dG8gY2hlY2tBbmRlciA9IFsmXShDaGVja0tpbmQga2lu
ZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5k
ID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5p
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlO
b2RlID0gZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgICAg
IGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFT
VDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6UG9p
bnRlclR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZnVuY3Rp
b25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAg
ICAgICAgIGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4gaXM8
QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpIHx8IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih1bm5hbWVkVHlwZSk7Ci0gICAgICAgIH0KLSAgICB9OwotCiAgICAgaWYgKCFmdW5jdGlv
bkRlZmluaXRpb24uaXNPcGVyYXRvcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAo
ZnVuY3Rpb25EZWZpbml0aW9uLmlzQ2FzdCgpKQpAQCAtNTM5LDE5ICszNjAsNiBAQCBzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgCiAgICAgICAgIHJldHVybiBmdW5jdGlv
bkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyOwogICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpID09ICJvcGVyYXRvcn4iKQogICAgICAgICByZXR1cm4gZnVuY3Rpb25E
ZWZpbml0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMTsKLSAgICBpZiAoZnVuY3Rpb25EZWZp
bml0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpCi0gICAgICAgIHJldHVybiBjaGVja0dldHRl
cihDaGVja0tpbmQ6OkluZGV4KTsKLSAgICBpZiAoZnVuY3Rpb25EZWZpbml0aW9uLm5hbWUoKSA9
PSAib3BlcmF0b3JbXT0iKQotICAgICAgICByZXR1cm4gY2hlY2tTZXR0ZXIoQ2hlY2tLaW5kOjpJ
bmRleCk7Ci0gICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltd
IikKLSAgICAgICAgcmV0dXJuIGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpJbmRleCk7Ci0gICAgaWYg
KGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3IuIikpIHsKLSAg
ICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkKLSAgICAg
ICAgICAgIHJldHVybiBjaGVja1NldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgICAgIHJldHVy
biBjaGVja0dldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgfQotICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iKSkKLSAgICAgICAgcmV0dXJu
IGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpEb3QpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAt
NjAwLDEwICs0MDgsMTIgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
cmVjdXJzZUFuZFdyYXBCYXNlVHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwog
ICAgIGJvb2wgcmVjdXJzZUFuZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAg
ICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5h
bWVkVHlwZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVU
eXBlKEFTVDo6RXhwcmVzc2lvbiYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlv
bik7CiAgICAgdm9pZCBhc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2Fy
ZFR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRp
b24pOwogCiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRl
OworICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpUeXBlUmVmZXJlbmNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKQEAgLTYyMSw3ICs0MzEsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAgIHZvaWQg
dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpC
b29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TG9naWNhbE5v
dEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTYzNSwxMiArNDQ0LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNo
VmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBh
ZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxS
ZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwg
QVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKLSAgICBSZWZQdHI8
QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVk
VHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKLQogICAgIEFTVDo6VW5uYW1lZFR5
cGUmIHdyYXBwZWRGbG9hdFR5cGUoKQogICAgIHsKICAgICAgICAgaWYgKCFtX3dyYXBwZWRGbG9h
dFR5cGUpCkBAIC02NDgsMTEgKzQ1MywxMSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKm1f
d3JhcHBlZEZsb2F0VHlwZTsKICAgICB9CiAKLSAgICBBU1Q6OlVubmFtZWRUeXBlJiBnZW5lcmlj
UG9pbnRlclR5cGUoKQorICAgIEFTVDo6VW5uYW1lZFR5cGUmIHdyYXBwZWRVaW50VHlwZSgpCiAg
ICAgewotICAgICAgICBpZiAoIW1fZ2VuZXJpY1BvaW50ZXJUeXBlKQotICAgICAgICAgICAgbV9n
ZW5lcmljUG9pbnRlclR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUoeyB9LCBBU1Q6OkFk
ZHJlc3NTcGFjZTo6VGhyZWFkLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoeyB9LCBtX2ludHJp
bnNpY3MuZmxvYXRUeXBlKCkpKTsKLSAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlw
ZTsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBl
ZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwogICAgIH0KIAog
ICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpV
bm5hbWVkVHlwZSYgdHlwZSkKQEAgLTY2MSwxNCArNDY2LDExIEBAIHByaXZhdGU6CiAgICAgICAg
IGlmICh1bmlmeU5vZGUgPT0gJm1faW50cmluc2ljcy51aW50VHlwZSgpIHx8IHVuaWZ5Tm9kZSA9
PSAmbV9pbnRyaW5zaWNzLmludFR5cGUoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkRmxv
YXRUeXBlKCk7CiAKLSAgICAgICAgaWYgKGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4odHlwZSkpCi0g
ICAgICAgICAgICByZXR1cm4gZ2VuZXJpY1BvaW50ZXJUeXBlKCk7Ci0KICAgICAgICAgcmV0dXJu
IHR5cGU7CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVk
RmxvYXRUeXBlOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVy
VHlwZTsKKyAgICBSZWZQdHI8QVNUOjpUeXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRVaW50VHlwZTsK
ICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdU
eXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRz
W0FTVDo6bmFtZVNwYWNlQ291bnRdOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2ZyYWdtZW50RW50
cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CkBAIC02NzcsOCArNDc5LDggQEAgcHJpdmF0
ZToKICAgICBQcm9ncmFtJiBtX3Byb2dyYW07CiAgICAgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24q
IG1fY3VycmVudEZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXks
IFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4s
IDE+LCBGdW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7
Ci0gICAgSGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBl
PiwgQW5kT3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4g
bV9hbmRPdmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNw
YWNlIHsgQVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1Zp
c2l0aW5nUGFyYW1ldGVycyB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFBy
b2dyYW0mIHByb2dyYW0pCkBAIC03MzMsNiArNTM1LDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tT
aGFkZXJUeXBlKGNvbnN0IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNU
OjpGdW5jdGlvbkRlY2xhcmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNW
aXNpdGluZ1BhcmFtZXRlcnMgPSB0cnVlOworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVj
bGFyYXRpb24pOworICAgIG1faXNWaXNpdGluZ1BhcmFtZXRlcnMgPSBmYWxzZTsKK30KKwogdm9p
ZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0
aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1l
U3BhY2UoKTsKQEAgLTc1Miw3ICs1NjEsNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6RnVu
Y3Rpb25EZWZpbml0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0gICAg
aWYgKCFjaGVja09wZXJhdG9yT3ZlcmxvYWQoZnVuY3Rpb25EZWZpbml0aW9uLCBtX3Byb2dyYW0u
bmFtZUNvbnRleHQoKSwgbV9jdXJyZW50TmFtZVNwYWNlKSkgeworICAgIGlmICghY2hlY2tPcGVy
YXRvck92ZXJsb2FkKGZ1bmN0aW9uRGVmaW5pdGlvbikpIHsKICAgICAgICAgc2V0RXJyb3IoRXJy
b3IoIk9wZXJhdG9yIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHNpZ25hdHVyZS4iLCBmdW5jdGlv
bkRlZmluaXRpb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTc5MCw2ICs1OTksMTcgQEAgc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFu
ZAogICAgIH0pKTsKIH0KIAorc3RhdGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlw
ZSYgcmVzb2x2aW5nVHlwZSwgQVNUOjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1
cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5h
bWVkVHlwZT4mIHJlc29sdmluZ1R5cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5n
VHlwZSwgbmFtZWRUeXBlKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmluZ1R5cGUpIC0+IGJvb2wgeworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFt
ZWRUeXBlLCByZXNvbHZpbmdUeXBlLT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisK
IHN0YXRpYyBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJl
c29sdmluZ1R5cGUpCiB7CiAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRy
PEFTVDo6VW5uYW1lZFR5cGU+IHsKQEAgLTgxOCw5ICs2MzgsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIENoZWNrZXI6OnJlc29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlw
ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAg
ICAgICAgICBpZiAocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNO
dWxsTGl0ZXJhbFR5cGUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVy
VHlwZSgpOwotCiAgICAgICAgICAgICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJl
bmNlLT5yZXNvbHZhYmxlVHlwZSgpKS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiAr
Nzc1LDE0IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmEKICAgICAg
ICAgICAgIHNldEVycm9yKEVycm9yKCJEZWNsYXJlZCB2YXJpYWJsZSB0eXBlIGRvZXMgbm90IG1h
dGNoIGl0cyBpbml0aWFsaXplcidzIHR5cGUuIiwgdmFyaWFibGVEZWNsYXJhdGlvbi5jb2RlTG9j
YXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgfSBlbHNlIGlm
ICghbV9pc1Zpc2l0aW5nUGFyYW1ldGVycyAmJiBpczxBU1Q6OlJlZmVyZW5jZVR5cGU+KHZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgaWYgKGlzPEFT
VDo6UG9pbnRlclR5cGU+KHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkp
CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSBwb2ludGVyIHZh
cmlhYmxlIGRlY2xhcmF0aW9uIGluIGl0cyBpbml0aWFsaXplci4iLCB2YXJpYWJsZURlY2xhcmF0
aW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJU
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJNdXN0IGFzc2lnbiB0
byBhbiBhcnJheSByZWZlcmVuY2UgdmFyaWFibGUgZGVjbGFyYXRpb24gaW4gaXRzIGluaXRpYWxp
emVyLiIsIHZhcmlhYmxlRGVjbGFyYXRpb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05NjgsNiArNzkzLDEzIEBAIHZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAgICBleHByZXNzaW9uLnNldFR5cGVB
bm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsKIH0KIAordm9pZCBDaGVja2VyOjph
c3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBBU1Q6Ok5hbWVk
VHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5vdGF0aW9uKQoreworICAgIGF1dG8g
dW5uYW1lZFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24o
KSwgdHlwZSk7CisgICAgVmlzaXRvcjo6dmlzaXQodW5uYW1lZFR5cGUpOworICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShleHByZXNzaW9uLCBXVEZNb3ZlKHVubmFtZWRUeXBlKSwgYW5ub3RhdGlvbik7
Cit9CisKIHZvaWQgQ2hlY2tlcjo6YXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mIGV4cHJlc3Np
b24sIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4gcmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UsIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFsdWUo
KSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdHlwZU1hcC5hZGQoJmV4cHJlc3Npb24sIG1h
a2VVbmlxdWU8UmVzb2x2aW5nVHlwZT4oV1RGTW92ZShyZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSkp
KTsKQEAgLTEwMjksNyArODYxLDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExMzUsMTc5ICs5NjcsMTE1IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpNYWtl
QXJyYXlSZWZlcmUKICAgICBhc3NpZ25Db25jcmV0ZVR5cGUobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZShtYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqbGVmdEFkZHJlc3NTcGFjZSwgKmxlZnRWYWx1
ZVR5cGUpKTsKIH0KIAotUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IENoZWNrZXI6OmFyZ3VtZW50
VHlwZUZvckFuZE92ZXJsb2FkKEFTVDo6VW5uYW1lZFR5cGUmIGJhc2VUeXBlLCBBU1Q6OkFkZHJl
c3NTcGFjZSBhZGRyZXNzU3BhY2UpCi17Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5IGtleSB7IGJh
c2VUeXBlLCBhZGRyZXNzU3BhY2UgfTsKLSAgICB7Ci0gICAgICAgIGF1dG8gaXRlciA9IG1fYW5k
T3ZlcmxvYWRUeXBlTWFwLmZpbmQoa2V5KTsKLSAgICAgICAgaWYgKGl0ZXIgIT0gbV9hbmRPdmVy
bG9hZFR5cGVNYXAuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7Ci0gICAg
fQotCi0gICAgYXV0byBjcmVhdGVBcmd1bWVudFR5cGUgPSBbJl0gKCkgLT4gUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gYmFzZVR5cGUudW5pZnlO
b2RlKCk7Ci0gICAgICAgIGlmIChpczxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5
Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4geyBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUobmFt
ZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChuYW1lZFR5cGUuY29kZUxvY2F0aW9uKCksIG5hbWVkVHlwZSkpIH07Ci0gICAgICAgIH0K
LQotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSk7Ci0KLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gJnVubmFtZWRUeXBlOwotCi0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgcmV0dXJu
IHsgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZSh1bm5hbWVkVHlwZS5jb2RlTG9jYXRp
b24oKSwgYWRkcmVzc1NwYWNlLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUp
LnR5cGUoKSkgfTsKLQotICAgICAgICBpZiAoaXM8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5
cGUpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgcmV0dXJuIHsgQVNU
OjpQb2ludGVyVHlwZTo6Y3JlYXRlKHVubmFtZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNz
U3BhY2UsIHVubmFtZWRUeXBlKSB9OwotICAgIH07Ci0KLSAgICBhdXRvIHJlc3VsdCA9IGNyZWF0
ZUFyZ3VtZW50VHlwZSgpOwotICAgIG1fYW5kT3ZlcmxvYWRUeXBlTWFwLmFkZChrZXksIHJlc3Vs
dCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGlu
ZyhBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2
aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNl
SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkp
OworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJh
c2UoKSk7CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBi
YXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlm
ICghYmFzZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVz
b2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9u
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBk
b3QgZXhwcmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1
bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0
dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vf
d3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5y
ZXNvbHZpbmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAg
ICAgICAgICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpOwotICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
Z2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1
bmN0aW9uKGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1
dG8mIHR5cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6
OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9
IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBp
ZiAoQVNUOjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZp
ZWxkIG5hbWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlz
dCBvbiBzdHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVM
b2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5
cGUoKTsKLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rp
b24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5
cGUgPSBudWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2Up
IHsKLSAgICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5h
cmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NT
cGFjZSkpIHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8
QVNUOjpVbm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9u
YWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVu
ZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAg
ICAgYW5kZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFu
ZGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgICAgIGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9
ICZkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1l
bnRUeXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBw
b2ludGVyCiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24q
IHRocmVhZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRU
eXBlPiB0aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3Vt
ZW50VHlwZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQo
KmJhc2VVbm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAg
UmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6
OlBvaW50ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVh
ZEFuZGVyQXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0
aHJlYWRBbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24u
ZmllbGROYW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZl
cmVuY2VUeXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
CisgICAgICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYm
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkg
eworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRV
aW50VHlwZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBh
cnJheXMsIGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2Rl
TG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5k
ZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRU
eXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2lu
dGVyCi0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNWYWxpZFZlY3Rv
clByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAgICAgICBzZXRF
cnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICIn
IGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlm
IChsZWZ0QWRkcmVzc1NwYWNlICYmICFhbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11
c3QgZWl0aGVyIGhhdmUgYW4gYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAg
IGF1dG8gYWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpID8gQVNUOjpUeXBlQW5ub3RhdGlvbiB7IEFTVDo6UmlnaHRWYWx1ZSgpIH0gOiBBU1Q6OlR5
cGVBbm5vdGF0aW9uIHsgQVNUOjpBYnN0cmFjdExlZnRWYWx1ZSgpIH07CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgc2l6ZV90IGZpZWxkTGVuZ3RoID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKS5s
ZW5ndGgoKTsKKyAgICAgICAgYXV0byYgaW5uZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpOworICAgICAgICBpZiAo
ZmllbGRMZW5ndGggPT0gMSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBpbm5lclR5cGUsIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisg
ICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmlu
c2ljcy5ib29sVmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOwor
ICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5pbnRU
eXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9u
LCBtX2ludHJpbnNpY3MuaW50VmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNz
U3BhY2UpOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmlu
c2ljcy51aW50VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLnVpbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0
aCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlw
ZSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmZsb2F0VmVjdG9yVHlwZUZvclNp
emUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkJhc2UgdmFsdWUgb2YgZG90IGV4cHJlc3Np
b24gbXVzdCBiZSBhIHN0cnVjdHVyZSwgYXJyYXksIG9yIHZlY3Rvci4iLCBkb3RFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Cit9CiAKLSAgICBpZiAodGhyZWFkQW5kZXJGdW5jdGlvbiAmJiBn
ZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90IGhhdmUgYm90
aCBhIHRocmVhZCBhbmRlciBhbmQgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cit2b2lkIENoZWNrZXI6
OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCit7CisgICAgewor
ICAgICAgICBhdXRvIGluZGV4SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIGlmICghaW5kZXhJbmZvKQorICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKGFuZGVyRnVuY3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5jdGlv
biAmJiAhbWF0Y2hlcygqYW5kZXJSZXR1cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAo
IW1hdGNoQW5kQ29tbWl0KGluZGV4SW5mby0+cmVzb2x2aW5nVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggaW4gYW4gaW5k
ZXggZXhwcmVzc2lvbiBtdXN0IGJlIGEgdWludC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0
aW9uKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlm
IChnZXR0ZXJGdW5jdGlvbiAmJiBhbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqYW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0
dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGdldHRl
ci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICBhdXRv
IGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7Cisg
ICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmIChnZXR0
ZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJv
cigiUmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5yZXNv
bHZpbmdUeXBlKTsKKyAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgeworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYW4gaW5kZXgg
ZXhwcmVzc2lvbi4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiBmaWVsZFR5cGUgPSBn
ZXR0ZXJSZXR1cm5UeXBlID8gKmdldHRlclJldHVyblR5cGUgOiBhbmRlclJldHVyblR5cGUgPyAq
YW5kZXJSZXR1cm5UeXBlIDogKnRocmVhZEFuZGVyUmV0dXJuVHlwZTsKLQotICAgIEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIEFTVDo6VW5u
YW1lZFR5cGUqIHNldHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAgUmVz
b2x2aW5nVHlwZSBmaWVsZFJlc29sdmluZ1R5cGUoZmllbGRUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBzZXR0ZXJB
cmd1bWVudFR5cGVzIHsgYmFzZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFk
ZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVzLmFw
cGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIHNldHRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKGZpZWxkUmVzb2x2aW5nVHlwZSk7Ci0gICAgICAgIGF1dG8gc2V0dGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAg
c2V0dGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oc2V0dGVyQXJndW1lbnRUeXBlcywgc2V0
dGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgaWYgKGhhc0Vycm9yKCkpCisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5p
ZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgewor
ICAgICAgICBhdXRvJiBhcnJheVJlZmVyZW5jZVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4odHlwZSk7CisgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJl
c3Npb24sIGFycmF5UmVmZXJlbmNlVHlwZS5lbGVtZW50VHlwZSgpLCBBU1Q6OkxlZnRWYWx1ZSB7
IGFycmF5UmVmZXJlbmNlVHlwZS5hZGRyZXNzU3BhY2UoKSB9KTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6QXJyYXlUeXBlPih0eXBlKSkKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4
RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLnR5cGUoKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byBhZGRyZXNzU3Bh
Y2UgPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgPyBBU1Q6OlR5cGVB
bm5vdGF0aW9uIHsgQVNUOjpSaWdodFZhbHVlKCkgfSA6IEFTVDo6VHlwZUFubm90YXRpb24geyBB
U1Q6OkFic3RyYWN0TGVmdFZhbHVlKCkgfTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0
b3IoKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIG5h
dGl2ZVR5cGUudmVjdG9yVHlwZUFyZ3VtZW50KCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVs
c2UgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkgeworICAgICAgICAgICAgYXV0byYgaW5uZXJU
eXBlID0gbmF0aXZlVHlwZS5tYXRyaXhUeXBlQXJndW1lbnQoKTsKKyAgICAgICAgICAgIHVuc2ln
bmVkIG51bVJvd3MgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAgICAg
ICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisgICAg
ICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbV9pbnRyaW5z
aWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBl
KCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24s
IG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpLCBhZGRyZXNzU3Bh
Y2UpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZXR0ZXJG
dW5jdGlvbikKLSAgICAgICAgICAgIHNldHRlclJldHVyblR5cGUgPSAmc2V0dGVyRnVuY3Rpb24t
PnR5cGUoKTsKLSAgICB9Ci0KLSAgICBpZiAoc2V0dGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0
aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgZGVmaW5lIGEgc2V0dGVyIGZ1
bmN0aW9uIHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBleHByZXNzaW9uIG9uIGFuIHVua25vd24gYmFzZSB0
eXBlLiBCYXNlIHR5cGUgbXVzdCBiZSBhbiBhcnJheSwgYXJyYXkgcmVmZXJlbmNlLCB2ZWN0b3Is
IG9yIG1hdHJpeC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLQotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRHZXR0ZXJG
dW5jdGlvbihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dEFuZGVyRnVuY3Rpb24oYW5kZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldFRocmVhZEFuZGVyRnVuY3Rpb24odGhyZWFkQW5kZXJGdW5jdGlvbik7Ci0gICAgcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldFNldHRlckZ1bmN0aW9uKHNldHRlckZ1bmN0aW9uKTsK
LQotICAgIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFs
dWUoKTsKLSAgICBpZiAoYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5v
dGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxB
U1Q6OlJlZmVyZW5jZVR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkg
fTsKLSAgICAgICAgZWxzZSBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5u
b3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKTsKLSAgICB9IGVsc2UgaWYgKCFiYXNl
SW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgJiYgKHNldHRlckZ1bmN0aW9uIHx8
IHRocmVhZEFuZGVyRnVuY3Rpb24pKQotICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJz
dHJhY3RMZWZ0VmFsdWUoKTsKLSAgICBhc3NpZ25Db25jcmV0ZVR5cGUocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLCBXVEZNb3ZlKGZpZWxkVHlwZSksIFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
LX0KLQotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Np
b24pCi17Ci0gICAgZmluaXNoVmlzaXRpbmcoZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgQ2hl
Y2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAg
ICBhdXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4
RXhwcmVzc2lvbigpKTsKLSAgICBpZiAoIWJhc2VJbmZvKQotICAgICAgICByZXR1cm47Ci0gICAg
ZmluaXNoVmlzaXRpbmcoaW5kZXhFeHByZXNzaW9uLCAmYmFzZUluZm8tPnJlc29sdmluZ1R5cGUp
OwogfQogCiB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlh
YmxlUmVmZXJlbmNlKQpAQCAtMTM2MiwxMSArMTEzMCw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQo
QVNUOjpGbG9hdExpdGVyYWwmIGYKICAgICBhc3NpZ25UeXBlKGZsb2F0TGl0ZXJhbCwgYWRvcHRS
ZWYoKm5ldyBSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZShmbG9hdExpdGVyYWwudHlwZSgpKSkpOwog
fQogCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQot
ewotICAgIGFzc2lnblR5cGUobnVsbExpdGVyYWwsIGFkb3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UobnVsbExpdGVyYWwudHlwZSgpKSkpOwotfQotCiB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewogICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShib29sZWFuTGl0ZXJhbCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGJvb2xl
YW5MaXRlcmFsLmNvZGVMb2NhdGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpOwpAQCAt
MTQ4OCw4ICsxMjUxLDYgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVu
dAogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1hdGNoQW5kQ29tbWl0KCp2
YWx1ZVR5cGUsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudHlwZSgpKSk7CiAgICAgICAgIH0sIFsm
XShBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSAtPiBib29sIHsKICAgICAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1pdCgqdmFsdWVUeXBlLCBmbG9h
dExpdGVyYWwudHlwZSgpKSk7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJiBudWxs
TGl0ZXJhbCkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4o
bWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwgbnVsbExpdGVyYWwudHlwZSgpKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRlcmFsJikgLT4gYm9vbCB7CiAgICAgICAgICAgICByZXR1
cm4gbWF0Y2hlcygqdmFsdWVUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsKSAtPiBib29sIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2aXNp
b24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xI
aWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRfRElT
QUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRvIGxp
dmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBIaWdo
Wm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
Jikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0K
LQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJp
ZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0jZW5k
aWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmluZEhp
Z2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNFRF9Q
QVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6OnZp
c2l0KHByb2dyYW0pOwotI2VuZGlmCisgICAgLy8gRklYTUU6IEJyaW5nIHRoaXMgcGhhc2UgYmFj
ayBvbmNlIHdlIGFkZCBhIG5ldyBwcm9wZXJ0eSByZXNvbHZlcgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNTEKIH0KIAogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEluZmVyVHlw
ZXMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEluZmVyVHlwZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsMTAgKzEy
Nyw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZENvbW1pdCgKICAgICAgICAg
cmVzb2x2YWJsZVR5cGUyLnJlc29sdmUoZG93bmNhc3Q8QVNUOjpVbnNpZ25lZEludGVnZXJMaXRl
cmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUyKS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1
cm4gJmRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVU
eXBlMSkucHJlZmVycmVkVHlwZSgpOwogICAgIH0KLSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJh
bFR5cGU+KHJlc29sdmFibGVUeXBlMSkgJiYgaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29s
dmFibGVUeXBlMikpIHsKLSAgICAgICAgLy8gRklYTUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRy
IGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTE1MiwxMCArMTQ4LDYgQEAgUmVmUHRyPEFTVDo6VW5u
YW1lZFR5cGU+IGNvbW1pdChBU1Q6OlJlcwogICAgICAgICByZXNvbHZhYmxlVHlwZS5yZXNvbHZl
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKSk7CiAgICAgICAgIHJl
dHVybiAmdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUucHJlZmVycmVkVHlwZSgpOwogICAgIH0K
LSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlKSkgewotICAg
ICAgICAvLyBGSVhNRTogVHJ5aW5nIHRvIG1hdGNoIG51bGxwdHIgYW5kIG51bGxwdHIgZmFpbHMu
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5z
aWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xJbnRyaW5zaWNzLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9
CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXpl
KHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXpl
ID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0
b3JCb29sW3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlv
biYgdWludFR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpA
QCAtODIsNiArODgsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsy
XTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5
cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVy
biAqbV92ZWN0b3JVaW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVj
dG9ySW50WzBdKTsKQEAgLTk0LDYgKzEwNiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAq
bV92ZWN0b3JJbnRbMl07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7Cisg
ICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBzYW1wbGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuICptX3ZlY3RvckZsb2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uJiBmbG9hdFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNv
bnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAz
IHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07
CisgICAgfQorCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZy
b20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBkZHgoKSBjb25zdAogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExleGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODYyLDI5ICs4NjIsNiBAQCBwYXJzZUlkZW50aWZpZXI6CiAgICAg
ICAgIHN3aXRjaCAocGVlaygpKSB7CiAgICAgICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgc2hp
ZnQoKTsKLSAgICAgICAgICAgIHN3aXRjaCAocGVlaygpKSB7Ci0gICAgICAgICAgICBjYXNlICdb
JzoKLSAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1l
KCddJykpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3Bl
cmF0b3JOYW1lKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Oklu
dmFsaWQpOwotICAgICAgICAgICAgY2FzZSAnLic6Ci0gICAgICAgICAgICAgICAgc2hpZnQoKTsK
LSAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRJZGVudGlmaWVyU3RhcnQocGVlaygpKSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAg
ICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIHdoaWxlIChpc1ZhbGlkTm9u
U3RhcnRpbmdJZGVudGlmaWVyQ2hhcihwZWVrKCkpKQotICAgICAgICAgICAgICAgICAgICBzaGlm
dCgpOwotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3BlcmF0b3JO
YW1lKTsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2Vu
KFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgIGNh
c2UgJ1snOgotICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgIGlmICghY29uc3VtZSgn
XScpKQotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6SW52YWxpZCk7
Ci0gICAgICAgICAgICBjb25zdW1lKCc9Jyk7CiAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9r
ZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKICAgICAgICAgY2FzZSAnPic6CkBAIC05NDcsMTUg
KzkyNCw2IEBAIHBhcnNlSWRlbnRpZmllcjoKICAgICAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAg
ICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKLSAgICAgICAg
Y2FzZSAnLic6Ci0gICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlk
SWRlbnRpZmllclN0YXJ0KHBlZWsoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRv
a2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAgICAgICAgICAgIHNoaWZ0KCk7Ci0gICAgICAgICAgICB3
aGlsZSAoaXNWYWxpZE5vblN0YXJ0aW5nSWRlbnRpZmllckNoYXIocGVlaygpKSkKLSAgICAgICAg
ICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgY29uc3VtZSgnPScpOwotICAgICAgICAgICAg
cmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBl
Q2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaCIK
ICNpbmNsdWRlICJXSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNM
TnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAi
V0hMU0xUeXBlUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCkBAIC03Mywx
MSArNzIsNiBAQCBwcml2YXRlOgogICAgICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9u
KTsKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50VW5z
aWduZWRJbnRlZ2VyKCkodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUudmFsdWUoKSkpOwogICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlw
ZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVChudWxsTGl0ZXJhbFR5cGUubWF5YmVS
ZXNvbHZlZFR5cGUoKSk7Ci0gICAgfQogfTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBh
cnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMyw4ICs0MDMsNiBAQCBhdXRvIFBhcnNlcjo6
cGFyc2VDb25zdGFudEV4cHJlc3Npb24oKSAtCiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQodmFsdWUuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7eyBBU1Q6OkZsb2F0TGl0ZXJh
bCh7ICp0eXBlIH0sICp2YWx1ZSkgfX07CiAgICAgfQotICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51
bGw6Ci0gICAgICAgIHJldHVybiB7IEFTVDo6TnVsbExpdGVyYWwoV1RGTW92ZSgqdHlwZSkpIH07
CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgQVNUOjpCb29s
ZWFuTGl0ZXJhbChXVEZNb3ZlKCp0eXBlKSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKQEAgLTg3NSw3ICs4NzMsNiBAQCBhdXRvIFBhcnNlcjo6cGFyc2VFbnVtZXJhdGlv
bk1lbWJlcihpbnQ2CiAgICAgICAgIH0sIFsmXShBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwm
IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwm
KSB7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewogICAgICAgICB9LCBbJl0o
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJikgewogICAgICAgICB9KSk7CkBAIC0yMDYzLDcgKzIwNjAsNyBAQCBhdXRv
IFBhcnNlcjo6cGFyc2VUZXJtKCkgLT4gRXhwZWN0ZWQ8VW5pCiAgICAgICAgIHJldHVybiB7IG1h
a2VVbmlxdWVSZWY8QVNUOjpGbG9hdExpdGVyYWw+KCp0eXBlLCAqdmFsdWUpIH07CiAgICAgfQog
ICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51bGw6Ci0gICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVS
ZWY8QVNUOjpOdWxsTGl0ZXJhbD4oKnR5cGUpIH07CisgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChFcnJvcigiJ251bGwnIGlzIGEgcmVzZXJ2ZWQga2V5d29yZC4iLCB0eXBlLT5jb2RlTG9j
YXRpb24pKTsKICAgICBjYXNlIFRva2VuOjpUeXBlOjpUcnVlOgogICAgICAgICByZXR1cm4geyBt
YWtlVW5pcXVlUmVmPEFTVDo6Qm9vbGVhbkxpdGVyYWw+KCp0eXBlLCB0cnVlKSB9OwogICAgIGNh
c2UgVG9rZW46OlR5cGU6OkZhbHNlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksOCBAQAogI2luY2x1ZGUgIldITFNMU2VtYW50aWNN
YXRjaGVyLmgiCiAjaW5jbHVkZSAiV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuaCIKICNp
bmNsdWRlICJXSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5oIgotI2luY2x1ZGUgIldITFNM
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNp
emVDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucy5oIgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5o
IgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKQEAgLTIyMyw5ICsyMjEsNyBAQCBzdGF0aWMgRXhwZWN0ZWQ8UHJvZ3JhbSwgU3RyaW5n
PiBwcmVwYXJlCiAgICAgTmFtZVJlc29sdmVyIG5hbWVSZXNvbHZlcihwcm9ncmFtLm5hbWVDb250
ZXh0KCkpOwogICAgIENIRUNLX1BBU1MocmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFt
ZVJlc29sdmVyKTsKICAgICBDSEVDS19QQVNTKGNoZWNrUmVjdXJzaXZlVHlwZXMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycywgcHJvZ3JhbSk7
CiAgICAgQ0hFQ0tfUEFTUyhzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgsIHByb2dyYW0p
OwogICAgIENIRUNLX1BBU1MocmVzb2x2ZVR5cGVOYW1lc0luRnVuY3Rpb25zLCBwcm9ncmFtLCBu
YW1lUmVzb2x2ZXIpOwogICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJv
Z3JhbSk7CiAgICAgQ0hFQ0tfUEFTUyhjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXSExTTFBy
b2dyYW0uaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
bmFtZXNwYWNlIFdITFNMIHsKKworYm9vbCBQcm9ncmFtOjppc1ZhbGlkVmVjdG9yUHJvcGVydHko
U3RyaW5nIHByb3BlcnR5KQoreworICAgIGlmIChtX3ZlY3RvclByb3BlcnRpZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoIngiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiengiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3oiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3ciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienoiKTsKKworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3oiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHciKTsKKworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXd3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eXd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6
d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
end6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h6Iik7CisgICAgfQorCisg
ICAgcmV0dXJuIG1fdmVjdG9yUHJvcGVydGllcy5jb250YWlucyhwcm9wZXJ0eSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdITFNMCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJHUFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFByb2dyYW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9uYW1lQ29udGV4dC5h
ZGQobV9uYXRpdmVUeXBlRGVjbGFyYXRpb25zLmxhc3QoKSk7CiAgICAgfQogCisgICAgYm9vbCBp
c1ZhbGlkVmVjdG9yUHJvcGVydHkoU3RyaW5nKTsKKwogICAgIE5hbWVDb250ZXh0JiBuYW1lQ29u
dGV4dCgpIHsgcmV0dXJuIG1fbmFtZUNvbnRleHQ7IH0KICAgICBJbnRyaW5zaWNzJiBpbnRyaW5z
aWNzKCkgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CiAgICAgY29uc3QgSW50cmluc2ljcyYgaW50
cmluc2ljcygpIGNvbnN0IHsgcmV0dXJuIG1faW50cmluc2ljczsgfQpAQCAtMTA2LDYgKzEwOCw3
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlv
bj4+IG1fZnVuY3Rpb25EZWZpbml0aW9uczsKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4+IG1fbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbnM7CiAg
ICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4+IG1fbmF0aXZl
VHlwZURlY2xhcmF0aW9uczsKKyAgICBIYXNoU2V0PFN0cmluZz4gbV92ZWN0b3JQcm9wZXJ0aWVz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsODA1
ICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAotI2luY2x1ZGUgIldITFNMQXJyYXlU
eXBlLmgiCi0jaW5jbHVkZSAiV0hMU0xBc3NpZ25tZW50RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUg
IldITFNMQ2FsbEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTENvbW1hRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMRGVyZWZlcmVuY2VFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hM
U0xEb3RFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlY2xhcmF0aW9uLmgi
Ci0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlZmluaXRpb24uaCIKLSNpbmNsdWRlICJXSExTTElu
ZGV4RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZVBvaW50ZXJFeHByZXNzaW9uLmgiCi0jaW5jbHVk
ZSAiV0hMU0xQb2ludGVyVHlwZS5oIgotI2luY2x1ZGUgIldITFNMUmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMUmVwbGFjZVdpdGguaCIKLSNpbmNsdWRlICJXSExT
TFZhcmlhYmxlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTFZhcmlhYmxlUmVmZXJlbmNl
LmgiCi0jaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
bmFtZXNwYWNlIFdITFNMIHsKIAotY2xhc3MgUHJvcGVydHlSZXNvbHZlciA6IHB1YmxpYyBWaXNp
dG9yIHsKLXB1YmxpYzoKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRl
OwotICAgIHZvaWQgdmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwot
ICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIHNpbXBsaWZ5UmlnaHRWYWx1ZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbiYpOwotICAgIGJvb2wgc2ltcGxpZnlBYnN0cmFjdExlZnRWYWx1ZShBU1Q6OkFzc2lnbm1l
bnRFeHByZXNzaW9uJiwgQVNUOjpEb3RFeHByZXNzaW9uJiwgVW5pcXVlUmVmPEFTVDo6RXhwcmVz
c2lvbj4mJiByaWdodCk7Ci0gICAgdm9pZCBzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJlc3Np
b24mKTsKLQotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgbV92YXJpYWJsZURlY2xhcmF0
aW9uczsKLX07Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNz
aW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNz
aWdubWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBh
IHJpZ2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5k
ZXhFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
aW5kZXhFeHByZXNzaW9uKCkpOwotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNzaWdu
bWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBhIHJp
Z2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24pOwotfQot
Ci12b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pCi17Ci0gICAgVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKLSAgICBpZiAoIW1fdmFyaWFibGVEZWNsYXJhdGlvbnMuaXNFbXB0eSgpKQotICAgICAg
ICBmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKS5zdGF0ZW1lbnRzKCkuaW5zZXJ0KDAsIG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uc1N0YXRlbWVudD4oZnVuY3Rpb25EZWZp
bml0aW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKG1fdmFyaWFibGVEZWNsYXJhdGlvbnMpKSk7
Ci19Ci0KLWVudW0gY2xhc3MgV2hpY2hBbmRlciB7Ci0gICAgVGhyZWFkQW5kZXIsCi0gICAgQW5k
ZXIKLX07Ci0KLXN0cnVjdCBBbmRlckNhbGxBcmd1bWVudFJlc3VsdCB7Ci0gICAgVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gZXhwcmVzc2lvbjsKLSAgICBPcHRpb25hbDxVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbjsKLSAgICBXaGljaEFu
ZGVyIHdoaWNoQW5kZXI7Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgRXhwcmVzc2lvbkNvbnN0
cnVjdG9yLCB0eXBlbmFtZSBUeXBlQ29uc3RydWN0b3I+Ci1zdGF0aWMgT3B0aW9uYWw8QW5kZXJD
YWxsQXJndW1lbnRSZXN1bHQ+IHdyYXBBbmRlckNhbGxBcmd1bWVudChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYgZXhwcmVzc2lvbiwgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlLCBB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24sIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLXsKLSAgICBhdXRvIGZ1bmN0aW9uRXNjYXBl
TW9kZSA9IFtdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uRGVjbGFyYXRpb24p
IHsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVjbGFyYXRpb24uaXNOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uKCkgfHwgZnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJzaW5nTW9kZSgpID09IFBhcnNpbmdN
b2RlOjpTdGFuZGFyZExpYnJhcnkpCi0gICAgICAgICAgICByZXR1cm4gQVNUOjpBZGRyZXNzRXNj
YXBlTW9kZTo6RG9lc05vdEVzY2FwZTsKLSAgICAgICAgcmV0dXJuIEFTVDo6QWRkcmVzc0VzY2Fw
ZU1vZGU6OkVzY2FwZXM7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBleHByZXNzaW9u
LT5jb2RlTG9jYXRpb24oKTsKLSAgICBpZiAoYXV0byBhZGRyZXNzU3BhY2UgPSBleHByZXNzaW9u
LT50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoIWFu
ZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBh
dXRvIG1ha2VBcnJheVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVj
dG9yPihsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9uKSwgZnVuY3Rpb25Fc2NhcGVNb2RlKCph
bmRlckZ1bmN0aW9uKSk7Ci0gICAgICAgIG1ha2VBcnJheVJlZmVyZW5jZS0+c2V0VHlwZShUeXBl
Q29uc3RydWN0b3I6OmNyZWF0ZShsb2NhdGlvbiwgKmFkZHJlc3NTcGFjZSwgV1RGTW92ZShiYXNl
VHlwZSkpKTsKLSAgICAgICAgbWFrZUFycmF5UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIHJldHVybiB7eyBXVEZNb3ZlKG1ha2VBcnJheVJl
ZmVyZW5jZSksIFdURjo6bnVsbG9wdCwgV2hpY2hBbmRlcjo6QW5kZXIgfX07Ci0gICAgfQotICAg
IGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJh
dGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwg
QVNUOjpRdWFsaWZpZXJzKCksIGJhc2VUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIs
IG51bGxwdHIpOwotCi0gICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFw
KHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0
VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFk
IH0pOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlMSksIFdURk1vdmUoZXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVz
c2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAg
IGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYo
KSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpM
ZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOwotCi0gICAgICAgIGF1dG8g
ZXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVjdG9yPihsb2NhdGlv
biwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTIpLCBmdW5jdGlvbkVzY2FwZU1vZGUoKnRocmVh
ZEFuZGVyRnVuY3Rpb24pKTsKLSAgICAgICAgYXV0byByZXN1bHRUeXBlID0gVHlwZUNvbnN0cnVj
dG9yOjpjcmVhdGUobG9jYXRpb24sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIFdURk1vdmUo
YmFzZVR5cGUpKTsKLSAgICAgICAgZXhwcmVzc2lvbi0+c2V0VHlwZShyZXN1bHRUeXBlLmNvcHlS
ZWYoKSk7Ci0gICAgICAgIGV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRW
YWx1ZSgpKTsKLQotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4
cHJlc3Npb25zOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50
RXhwcmVzc2lvbikpOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShleHByZXNz
aW9uKSk7Ci0gICAgICAgIGF1dG8gY29tbWFFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OkNvbW1hRXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZXhwcmVzc2lvbnMpKTsKLSAgICAg
ICAgY29tbWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUocmVzdWx0VHlwZSkpOwotICAgICAg
ICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICAgICAgcmV0dXJuIHt7IFdURk1vdmUoY29tbWFFeHByZXNzaW9uKSwgeyBXVEZNb3ZlKHZh
cmlhYmxlRGVjbGFyYXRpb24pIH0sIFdoaWNoQW5kZXI6OlRocmVhZEFuZGVyfX07Ci0gICAgfQot
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci19Ci0KLXN0YXRpYyBPcHRpb25hbDxBbmRlckNhbGxB
cmd1bWVudFJlc3VsdD4gYW5kZXJDYWxsQXJndW1lbnQoVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4mIGV4cHJlc3Npb24sIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5jdGlvbiwg
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKQotewotICAgIGlm
ICghYW5kZXJGdW5jdGlvbiAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBleHByZXNzaW9uLT5yZXNvbHZl
ZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlO
b2RlKSkgewotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1l
ZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgIEFTU0VSVCghaXM8QVNUOjpQb2ludGVyVHlwZT4o
dW5uYW1lZFR5cGUpKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4ge3sgV1RGTW92ZShleHByZXNzaW9uKSwg
V1RGOjpudWxsb3B0LCBXaGljaEFuZGVyOjpBbmRlciB9fTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
QXJyYXlUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gd3JhcEFuZGVyQ2Fs
bEFyZ3VtZW50PEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgQVNUOjpBcnJheVJl
ZmVyZW5jZVR5cGU+KGV4cHJlc3Npb24sIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVk
VHlwZSkudHlwZSgpLCBhbmRlckZ1bmN0aW9uLCB0aHJlYWRBbmRlckZ1bmN0aW9uKTsKLSAgICB9
Ci0gICAgcmV0dXJuIHdyYXBBbmRlckNhbGxBcmd1bWVudDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVz
c2lvbiwgQVNUOjpQb2ludGVyVHlwZT4oZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi0+cmVzb2x2ZWRU
eXBlKCksIGFuZGVyRnVuY3Rpb24sIHRocmVhZEFuZGVyRnVuY3Rpb24pOwotfQotCi1zdGF0aWMg
VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gc2V0dGVyQ2FsbChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIsIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbmV3VmFs
dWUsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oKT4mIGxl
ZnRWYWx1ZUZhY3RvcnksIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogaW5kZXhWYXJpYWJsZSkK
LXsKLSAgICBhdXRvIG1heWJlQWRkSW5kZXhBcmd1bWVudCA9IFsmXShWZWN0b3I8VW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4+JiBhcmd1bWVudHMpIHsKLSAgICAgICAgaWYgKCFpbmRleFZhcmlh
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgICAgIEFTU0VSVChpbmRleFZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqaW5kZXhW
YXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5v
dGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8g
RklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMg
dGhpcyByaWdodD8KLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlKSk7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgaWYgKHJlbGV2YW50QW5kZXIpIHsKLSAgICAg
ICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpID0gbmV3VmFsdWUKLSAgICAgICAgYXV0byBsZWZ0VmFs
dWUgPSBsZWZ0VmFsdWVGYWN0b3J5KCk7Ci0gICAgICAgIGF1dG8gYXJndW1lbnQgPSBhbmRlckNh
bGxBcmd1bWVudChsZWZ0VmFsdWUsIHJlbGV2YW50QW5kZXIsIHJlbGV2YW50QW5kZXIpOwotICAg
ICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBBU1NFUlQoIWFyZ3VtZW50LT52YXJpYWJs
ZURlY2xhcmF0aW9uKTsKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdo
aWNoQW5kZXI6OkFuZGVyKTsKLSAgICAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+PiBhcmd1bWVudHM7Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVu
dC0+ZXhwcmVzc2lvbikpOwotICAgICAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1lbnRz
KTsKLQotICAgICAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkNh
bGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHJlbGV2YW50QW5kZXItPm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHJlbGV2
YW50QW5kZXItPnR5cGUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5j
dGlvbigqcmVsZXZhbnRBbmRlcik7Ci0KLSAgICAgICAgYXV0byBkZXJlZmVyZW5jZUV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihsb2NhdGlvbiwg
V1RGTW92ZShjYWxsRXhwcmVzc2lvbikpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24t
PnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4ocmVsZXZhbnRBbmRlci0+dHlwZSgp
KS5lbGVtZW50VHlwZSgpKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7
Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZGVyZWZlcmVuY2VFeHBy
ZXNzaW9uKSwgV1RGTW92ZShuZXdWYWx1ZSkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihyZWxldmFudEFuZGVyLT50eXBl
KCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIHJldHVybiBVbmlxdWVS
ZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAg
fQotCi0gICAgLy8gdiA9IG9wZXJhdG9yLmZvbz0odiwgbmV3VmFsdWUpCi0gICAgQVNTRVJUKHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIFZlY3RvcjxV
bmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgIGFyZ3VtZW50cy5hcHBl
bmQobGVmdFZhbHVlRmFjdG9yeSgpKTsKLSAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1l
bnRzKTsKLSAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUobmV3VmFsdWUpKTsKLQotICAgIGF1
dG8gY2FsbEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBTdHJpbmcocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkt
Pm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5
cGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCktPnR5cGUoKSk7Ci0g
ICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBsZWZ0VmFs
dWVGYWN0b3J5KCksIFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24o
KS0+dHlwZSgpKTsKLSAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24o
QVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgcmV0dXJuIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLX0KLQotc3RhdGljIFVuaXF1ZVJl
ZjxBU1Q6OkV4cHJlc3Npb24+IGdldHRlckNhbGwoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBy
ZWxldmFudEFuZGVyLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KCk+JiBsZWZ0VmFsdWVGYWN0b3J5LCBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qIGluZGV4
VmFyaWFibGUpCi17Ci0gICAgYXV0byBtYXliZUFkZEluZGV4QXJndW1lbnQgPSBbJl0oVmVjdG9y
PFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiYgYXJndW1lbnRzKSB7Ci0gICAgICAgIGlmICgh
aW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYXV0byB2YXJpYWJs
ZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpW
YXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqaW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQo
aW5kZXhWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5
cGUoKmluZGV4VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5z
ZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJl
YWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZSh2
YXJpYWJsZVJlZmVyZW5jZSkpOwotICAgIH07Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgaWYgKHJlbGV2YW50QW5k
ZXIpIHsKLSAgICAgICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpCi0gICAgICAgIGF1dG8gbGVmdFZh
bHVlID0gbGVmdFZhbHVlRmFjdG9yeSgpOwotICAgICAgICBhdXRvIGFyZ3VtZW50ID0gYW5kZXJD
YWxsQXJndW1lbnQobGVmdFZhbHVlLCByZWxldmFudEFuZGVyLCByZWxldmFudEFuZGVyKTsKLSAg
ICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFi
bGVEZWNsYXJhdGlvbik7Ci0gICAgICAgIEFTU0VSVChhcmd1bWVudC0+d2hpY2hBbmRlciA9PSBX
aGljaEFuZGVyOjpBbmRlcik7Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNz
aW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUoYXJndW1l
bnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgbWF5YmVBZGRJbmRleEFyZ3VtZW50KGFyZ3VtZW50
cyk7Ci0KLSAgICAgICAgYXV0byBjYWxsRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpD
YWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0cmluZyhyZWxldmFudEFuZGVyLT5uYW1lKCkpLCBX
VEZNb3ZlKGFyZ3VtZW50cykpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZShyZWxl
dmFudEFuZGVyLT50eXBlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90
YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVu
Y3Rpb24oKnJlbGV2YW50QW5kZXIpOwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNz
aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9jYXRpb24s
IFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9u
LT5zZXRUeXBlKGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHJlbGV2YW50QW5kZXItPnR5cGUo
KSkuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OwotCi0gICAgICAgIHJldHVybiBVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIC8vIG9wZXJhdG9yLmZvbyh2KQot
ICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0K
LSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsKLSAgICBh
cmd1bWVudHMuYXBwZW5kKGxlZnRWYWx1ZUZhY3RvcnkoKSk7Ci0gICAgbWF5YmVBZGRJbmRleEFy
Z3VtZW50KGFyZ3VtZW50cyk7Ci0KLSAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OkNhbGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykp
OwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5n
ZXR0ZXJGdW5jdGlvbigpLT50eXBlKCkpOwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5u
b3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0
aW9uKCpwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICBy
ZXR1cm4gVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oV1RGTW92ZShjYWxsRXhwcmVzc2lvbikp
OwotfQotCi1zdHJ1Y3QgTW9kaWZ5UmVzdWx0IHsKLSAgICBBU1Q6OkV4cHJlc3Npb24mIGlubmVy
TGVmdFZhbHVlOwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVz
c2lvbnM7Ci0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiB2
YXJpYWJsZURlY2xhcmF0aW9uczsKLX07Ci1zdHJ1Y3QgTW9kaWZpY2F0aW9uUmVzdWx0IHsKLSAg
ICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotICAgIFVu
aXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHJlc3VsdDsKLX07Ci1zdGF0aWMgTW9kaWZ5UmVzdWx0
IG1vZGlmeShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLCBzdGQ6OmZ1bmN0aW9uPE1vZGlmaWNhdGlvblJlc3VsdChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYmKT4gbW9kaWZpY2F0aW9uKQotewotICAgIC8vIENvbnNpZGVyIGEuYi5jLmQr
KzsKLSAgICAvLyBUaGlzIHdvdWxkIGdldCB0cmFuc2Zvcm1lZCBpbnRvOgotICAgIC8vCi0gICAg
Ly8gU3RlcCAxOgotICAgIC8vIHAgPSAmYTsKLSAgICAvLwotICAgIC8vIFN0ZXAgMjoKLSAgICAv
LyBxID0gb3BlcmF0b3IuYigqcCk7Ci0gICAgLy8gciA9IG9wZXJhdG9yLmMocSk7Ci0gICAgLy8K
LSAgICAvLyBTdGVwIDM6Ci0gICAgLy8gb2xkVmFsdWUgPSBvcGVyYXRvci5kKHIpOwotICAgIC8v
IG5ld1ZhbHVlID0gLi4uOwotICAgIC8vCi0gICAgLy8gU3RlcCA0OgotICAgIC8vIHIgPSBvcGVy
YXRvci5kPShyLCBuZXdWYWx1ZSk7Ci0gICAgLy8gcSA9IG9wZXJhdG9yLmM9KHEsIHIpOwotICAg
IC8vCi0gICAgLy8gU3RlcCA1OgotICAgIC8vICpwID0gb3BlcmF0b3IuYj0oKnAsIHEpOwotCi0g
ICAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaXMgYS5iLmMuZCA9IGUsIFN0ZXAgMyBkaXNhcHBlYXJz
IGFuZCAibmV3VmFsdWUiIGluIHN0ZXAgNCBiZWNvbWVzICJlIi4KLSAgICAKLQotICAgIC8vIEZp
bmQgdGhlICIuYiIgIi5jIiBhbmQgIi5kIiBleHByZXNzaW9ucy4gVGhleSBlbmQgdXAgaW4gdGhl
IG9yZGVyIFsiLmQiLCAiLmMiLCAiLmIiXS4KLSAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3Jh
cHBlcjxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4+IGNoYWluOwotICAgIEFTVDo6UHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKiBpdGVyYXRvciA9ICZwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b247Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgY2hhaW4uYXBwZW5kKCppdGVyYXRvcik7
Ci0gICAgICAgIGlmIChpdGVyYXRvci0+YmFzZSgpLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJl
c3NTcGFjZSgpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIEFTU0VSVCghaXRlcmF0b3It
PmJhc2UoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICAgICAgaXRlcmF0
b3IgPSAmZG93bmNhc3Q8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24+KGl0ZXJhdG9yLT5i
YXNlKCkpOwotICAgIH0KLSAgICBhdXRvIGxlZnRFeHByZXNzaW9uID0gaXRlcmF0b3ItPnRha2VC
YXNlKCk7Ci0gICAgQVNUOjpFeHByZXNzaW9uJiBpbm5lckxlZnRFeHByZXNzaW9uID0gbGVmdEV4
cHJlc3Npb247Ci0KLSAgICAvLyBDcmVhdGUgInAiIHZhcmlhYmxlLgotICAgIGF1dG8gcG9pbnRl
clZhcmlhYmxlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxlZnRF
eHByZXNzaW9uLT5jb2RlTG9jYXRpb24oKSwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6UG9pbnRl
clR5cGU6OmNyZWF0ZShsZWZ0RXhwcmVzc2lvbi0+Y29kZUxvY2F0aW9uKCksICpsZWZ0RXhwcmVz
c2lvbi0+dHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCksIGxlZnRFeHByZXNzaW9u
LT5yZXNvbHZlZFR5cGUoKSksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLQotICAgIC8v
IENyZWF0ZSAicSIgYW5kICJyIiB2YXJpYWJsZXMuCi0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+PiBpbnRlcm1lZGlhdGVWYXJpYWJsZXM7Ci0gICAgaW50ZXJt
ZWRpYXRlVmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoY2hhaW4uc2l6ZSgpIC0gMSk7
Ci0gICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBjaGFpbi5zaXplKCk7ICsraSkgewotICAgICAg
ICBhdXRvJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBzdGF0aWNfY2FzdDxBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiY+KGNoYWluW2ldKTsKLSAgICAgICAgaW50ZXJtZWRpYXRlVmFy
aWFibGVzLnVuY2hlY2tlZEFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJh
dGlvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBBU1Q6OlF1YWxp
ZmllcnMoKSwgJnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgU3RyaW5n
KCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAgICAvLyBDb25zaWRlciBhW2Zvbygp
XVtiXSA9IGM7Ci0gICAgLy8gTmFpdmVseSwgVGhpcyB3b3VsZCBnZXQgZXhwYW5kZWQgdG86Ci0g
ICAgLy8KLSAgICAvLyB0ZW1wID0gb3BlcmF0b3JbXShhLCBmb28oKSk7Ci0gICAgLy8gdGVtcCA9
IG9wZXJhdG9yW109KHRlbXAsIGIsIGMpOwotICAgIC8vIGEgPSBvcGVyYXRvcltdPShhLCBmb28o
KSwgdGVtcCk7Ci0gICAgLy8KLSAgICAvLyBIb3dldmVyLCBpZiB3ZSBkaWQgdGhpcywgd2Ugd291
bGQgaGF2ZSB0byBydW4gZm9vKCkgdHdpY2UsIHdoaWNoIHdvdWxkIGJlIGluY29ycmVjdC4KLSAg
ICAvLyBJbnN0ZWFkLCB3ZSBuZWVkIHRvIHNhdmUgZm9vKCkgYW5kIGIgaW50byBtb3JlIHRlbXBv
cmFyeSB2YXJpYWJsZXMuCi0gICAgLy8gVGhlc2UgdGVtcG9yYXJ5IHZhcmlhYmxlcyBhcmUgcGFy
YWxsZWwgdG8gImNoYWluIiBhYm92ZSwgd2l0aCBudWxsb3B0IHJlZmVycmluZyB0byBhIERvdEV4
cHJlc3Npb24gKHdoaWNoIGRvZXNuJ3QgaGF2ZSBhbiBpbmRleCB2YWx1ZSB0byBzYXZlIHRvIGEg
dmFyaWFibGUpLgotICAgIC8vCi0gICAgLy8gSW5zdGVhZCwgdGhpcyBnZXRzIGV4cGFuZGVkIHRv
OgotICAgIC8vCi0gICAgLy8gcCA9ICZhOwotICAgIC8vIHRlbXAgPSBmb28oKTsKLSAgICAvLyBx
ID0gb3BlcmF0b3JbXSgqcCwgdGVtcCk7Ci0gICAgLy8gdGVtcDIgPSBiOwotICAgIC8vIHEgPSBv
cGVyYXRvcltdPShxLCB0ZW1wMiwgYyk7Ci0gICAgLy8gKnAgPSBvcGVyYXRvcltdPSgqcCwgdGVt
cCwgcSk7Ci0KLSAgICBWZWN0b3I8T3B0aW9uYWw8VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbj4+PiBpbmRleFZhcmlhYmxlczsKLSAgICBpbmRleFZhcmlhYmxlcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGNoYWluLnNpemUoKSk7Ci0gICAgZm9yIChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uIDogY2hhaW4pIHsKLSAgICAgICAg
aWYgKCFpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkg
ewotICAgICAgICAgICAgaW5kZXhWYXJpYWJsZXMuYXBwZW5kKFdURjo6bnVsbG9wdCk7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBhdXRvJiBpbmRleEV4cHJlc3Np
b24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uKTsKLSAgICAgICAgaW5kZXhWYXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6UXVhbGlmaWVycygpLCAmaW5kZXhFeHByZXNzaW9uLmluZGV4RXhw
cmVzc2lvbigpLnJlc29sdmVkVHlwZSgpLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwot
ICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lv
bnM7Ci0KLSAgICAvLyBTdGVwIDE6Ci0gICAgewotICAgICAgICBhdXRvIG1ha2VQb2ludGVyRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGlubmVy
TGVmdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUobGVmdEV4cHJlc3Npb24pLCBB
U1Q6OkFkZHJlc3NFc2NhcGVNb2RlOjpEb2VzTm90RXNjYXBlKTsKLSAgICAgICAgbWFrZVBvaW50
ZXJFeHByZXNzaW9uLT5zZXRUeXBlKEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShpbm5lckxlZnRF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqaW5uZXJMZWZ0RXhwcmVzc2lvbi50eXBlQW5ub3Rh
dGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgaW5uZXJMZWZ0RXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSkpOwotICAgICAgICBtYWtlUG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJl
bmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFu
bm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJ
cyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtl
VW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGlubmVyTGVmdEV4cHJlc3Npb24u
Y29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG1ha2VQ
b2ludGVyRXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIGV4cHJl
c3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgfQotCi0g
ICAgLy8gU3RlcCAyOgotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogcHJldmlvdXMgPSBu
dWxscHRyOwotICAgIGF1dG8gcHJldmlvdXNMZWZ0VmFsdWUgPSBbJl0oKSAtPiBVbmlxdWVSZWY8
QVNUOjpFeHByZXNzaW9uPiB7Ci0gICAgICAgIGlmIChwcmV2aW91cykgewotICAgICAgICAgICAg
YXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqcHJldmlvdXMpKTsKLSAgICAgICAg
ICAgIEFTU0VSVChwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJl
bmNlLT5zZXRUeXBlKCpwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVm
ZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1Nw
YWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICByZXR1cm4gdmFyaWFi
bGVSZWZlcmVuY2U7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZh
cmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9p
bnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNzaW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSk7Ci0g
ICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9
KTsKLSAgICAgICAgcmV0dXJuIGRlcmVmZXJlbmNlRXhwcmVzc2lvbjsKLSAgICB9OwotICAgIGF1
dG8gYXBwZW5kSW5kZXhBc3NpZ25tZW50ID0gWyZdKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIE9wdGlvbmFsPFVuaXF1ZVJlZjxBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSkgewotICAgICAgICBpZiAoIWluZGV4
VmFyaWFibGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byYgaW5kZXhFeHBy
ZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbik7Ci0KLSAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgq
aW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQoaW5kZXhWYXJpYWJsZS0+Z2V0KCkudHlw
ZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKmluZGV4VmFyaWFibGUt
PmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRo
aXMgcmlnaHQ/Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlx
dWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSwgaW5kZXhFeHByZXNz
aW9uLnRha2VJbmRleCgpKTsKLSAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUo
KmluZGV4VmFyaWFibGUtPmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNz
aW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhw
cmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICB9Owot
ICAgIGZvciAoc2l6ZV90IGkgPSBjaGFpbi5zaXplKCk7IC0taTsgKSB7Ci0gICAgICAgIEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBjaGFp
bltpXTsKLSAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0
aW9uID0gaW50ZXJtZWRpYXRlVmFyaWFibGVzW2kgLSAxXTsKLSAgICAgICAgT3B0aW9uYWw8VW5p
cXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4+JiBpbmRleFZhcmlhYmxlID0gaW5kZXhW
YXJpYWJsZXNbaV07Ci0KLSAgICAgICAgYXBwZW5kSW5kZXhBc3NpZ25tZW50KHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgaW5kZXhWYXJpYWJsZSk7Ci0KLSAgICAgICAgQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiByZWxldmFudEFuZGVyID0gaSA9PSBjaGFpbi5zaXplKCkgLSAxID8gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSA6IHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Npb24g
PSBnZXR0ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcmVsZXZhbnRBbmRlciwgcHJl
dmlvdXNMZWZ0VmFsdWUsIGluZGV4VmFyaWFibGUgPyAmKmluZGV4VmFyaWFibGUgOiBudWxscHRy
KTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICAgICAgQVNTRVJUKHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgp
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRp
b24udHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLQotICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJl
ZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKGNhbGxFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhwcmVzc2lvbnMu
YXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLQotICAgICAgICBwcmV2aW91
cyA9ICZ2YXJpYWJsZURlY2xhcmF0aW9uOwotICAgIH0KLSAgICBhcHBlbmRJbmRleEFzc2lnbm1l
bnQoY2hhaW5bMF0sIGluZGV4VmFyaWFibGVzWzBdKTsKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIgPSBjaGFpbi5zaXplKCkgPT0gMSA/IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24udGhy
ZWFkQW5kZXJGdW5jdGlvbigpOwotICAgIGF1dG8gbGFzdEdldHRlckNhbGxFeHByZXNzaW9uID0g
Z2V0dGVyQ2FsbChjaGFpblswXSwgcmVsZXZhbnRBbmRlciwgcHJldmlvdXNMZWZ0VmFsdWUsIGlu
ZGV4VmFyaWFibGVzWzBdID8gJiooaW5kZXhWYXJpYWJsZXNbMF0pIDogbnVsbHB0cik7Ci0KLSAg
ICAvLyBTdGVwIDM6Ci0gICAgYXV0byBtb2RpZmljYXRpb25SZXN1bHQgPSBtb2RpZmljYXRpb24o
V1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1vZGlmaWNhdGlvblJlc3VsdC5leHByZXNzaW9ucy5zaXplKCk7ICsraSkKLSAgICAg
ICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LmV4cHJlc3Np
b25zW2ldKSk7Ci0KLSAgICAvLyBTdGVwIDQ6Ci0gICAgVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4gcmlnaHRWYWx1ZSA9IFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LnJlc3VsdCk7Ci0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGFpbi5zaXplKCkgLSAxOyArK2kpIHsKLSAgICAgICAg
QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiA9
IGNoYWluW2ldOwotICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxlRGVj
bGFyYXRpb24gPSBpbnRlcm1lZGlhdGVWYXJpYWJsZXNbaV07Ci0gICAgICAgIE9wdGlvbmFsPFVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSA9IGluZGV4
VmFyaWFibGVzW2ldOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LnRocmVhZEFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5p
cXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVy
ZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJs
ZVJlZmVyZW5jZTo6d3JhcCh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1NF
UlQodmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZl
cmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAg
IHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFT
VDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICBy
ZXR1cm4gdmFyaWFibGVSZWZlcmVuY2U7Ci0gICAgICAgIH0sIGluZGV4VmFyaWFibGUgPyAmKmlu
ZGV4VmFyaWFibGUgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RG
TW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotCi0gICAgICAgIHJpZ2h0VmFsdWUgPSBtYWtl
VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6
OndyYXAodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1NFUlQodmFyaWFibGVEZWNs
YXJhdGlvbi50eXBlKCkpOwotICAgICAgICByaWdodFZhbHVlLT5zZXRUeXBlKCp2YXJpYWJsZURl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIHJpZ2h0VmFsdWUtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLSAgICB9Ci0KLSAgICAvLyBTdGVwIDU6Ci0gICAgewotICAgICAgICBBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uID0gY2hhaW5bY2hh
aW4uc2l6ZSgpIC0gMV07Ci0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVy
VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6
OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihw
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7
Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsK
LSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRlclZhcmlhYmxl
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH0pOwotICAgICAgICAgICAgcmV0dXJuIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbjsKLSAgICAgICAgfSwgaW5kZXhWYXJpYWJsZXNbaW5kZXhWYXJpYWJsZXMu
c2l6ZSgpIC0gMV0gPyAmKihpbmRleFZhcmlhYmxlc1tpbmRleFZhcmlhYmxlcy5zaXplKCkgLSAx
XSkgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3Np
Z25tZW50RXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbnM7Ci0gICAgdmFyaWFibGVE
ZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgZm9yIChh
dXRvJiBpbnRlcm1lZGlhdGVWYXJpYWJsZSA6IGludGVybWVkaWF0ZVZhcmlhYmxlcykKLSAgICAg
ICAgdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUoaW50ZXJtZWRpYXRlVmFyaWFi
bGUpKTsKLSAgICBmb3IgKGF1dG8mIGluZGV4VmFyaWFibGUgOiBpbmRleFZhcmlhYmxlcykgewot
ICAgICAgICBpZiAoaW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHsgaW5uZXJMZWZ0RXhwcmVzc2lvbiwgV1RGTW92ZShleHByZXNzaW9ucyksIFdURk1vdmUodmFy
aWFibGVEZWNsYXJhdGlvbnMpIH07Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQo
QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYgYXNzaWdubWVudEV4cHJlc3Npb24pCi17Ci0gICAg
aWYgKGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRy
ZXNzU3BhY2UoKSkgewotICAgICAgICBzaW1wbGlmeUxlZnRWYWx1ZShhc3NpZ25tZW50RXhwcmVz
c2lvbi5sZWZ0KCkpOwotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgQVNTRVJUKCFhc3Np
Z25tZW50RXhwcmVzc2lvbi5sZWZ0KCkudHlwZUFubm90YXRpb24oKS5pc1JpZ2h0VmFsdWUoKSk7
Ci0KLSAgICBSZWY8QVNUOjpVbm5hbWVkVHlwZT4gdHlwZSA9IGFzc2lnbm1lbnRFeHByZXNzaW9u
LnJpZ2h0KCkucmVzb2x2ZWRUeXBlKCk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdu
bWVudEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0KLSAgICBhdXRvIG1vZGlmeVJlc3VsdCA9IG1vZGlm
eShkb3duY2FzdDxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYpIC0+IE1vZGlm
aWNhdGlvblJlc3VsdCB7Ci0gICAgICAgIHJldHVybiB7IFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPj4oKSwgYXNzaWdubWVudEV4cHJlc3Npb24udGFrZVJpZ2h0KCkgfTsKLSAgICB9
KTsKLQotICAgIHNpbXBsaWZ5TGVmdFZhbHVlKG1vZGlmeVJlc3VsdC5pbm5lckxlZnRWYWx1ZSk7
Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gYXNzaWdubWVudEV4cHJlc3Npb24uY29kZUxvY2F0aW9u
KCk7Ci0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNv
bW1hRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJlc3Npb24sIGxvY2F0aW9uLCBXVEZNb3ZlKG1v
ZGlmeVJlc3VsdC5leHByZXNzaW9ucykpOwotICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZShX
VEZNb3ZlKHR5cGUpKTsKLSAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFT
VDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgIGZvciAoYXV0byYgdmFyaWFibGVEZWNsYXJhdGlvbiA6
IG1vZGlmeVJlc3VsdC52YXJpYWJsZURlY2xhcmF0aW9ucykKLSAgICAgICAgbV92YXJpYWJsZURl
Y2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci19Ci0KLXZv
aWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9u
JiByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKLSAgICBpZiAo
aGFzRXJyb3IoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHJlYWRN
b2RpZnlXcml0ZUV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgYXV0byBsZWZ0VmFsdWVM
b2NhdGlvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkuY29kZUxvY2F0
aW9uKCk7Ci0KLSAgICBpZiAocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS50
eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICAvLyBDb25zaWRl
ciBhKys7Ci0gICAgICAgIC8vIFRoaXMgd291bGQgZ2V0IHRyYW5zZm9ybWVkIGludG86Ci0gICAg
ICAgIC8vCi0gICAgICAgIC8vIHAgPSAmYTsKLSAgICAgICAgLy8gb2xkVmFsdWUgPSAqcDsKLSAg
ICAgICAgLy8gbmV3VmFsdWUgPSAuLi47Ci0gICAgICAgIC8vICpwID0gbmV3VmFsdWU7Ci0KLSAg
ICAgICAgc2ltcGxpZnlMZWZ0VmFsdWUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKSk7Ci0KLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlID0gcmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IHBvaW50ZXJUeXBlID0gQVNUOjpQb2ludGVyVHlwZTo6Y3Jl
YXRlKGxlZnRWYWx1ZUxvY2F0aW9uLCAqcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgYmFzZVR5cGUuY29weVJl
ZigpKTsKLQotICAgICAgICBhdXRvIHBvaW50ZXJWYXJpYWJsZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJz
KCksIHBvaW50ZXJUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwot
Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lvbnM7
Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byBtYWtlUG9pbnRlckV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlv
biwgcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTGVmdFZhbHVlKCksIEFTVDo6QWRkcmVz
c0VzY2FwZU1vZGU6OkRvZXNOb3RFc2NhcGUpOwotICAgICAgICAgICAgbWFrZVBvaW50ZXJFeHBy
ZXNzaW9uLT5zZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBtYWtl
UG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LQotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVy
VmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKHBvaW50
ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9u
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2Nh
dGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobWFrZVBvaW50ZXJFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShwb2lu
dGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3
cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5z
ZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVy
ZW5jZTEtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3Bh
Y2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9u
Pihsb2NhdGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTEpKTsKLSAgICAgICAgICAgIGRl
cmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAg
ICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVz
c2lvbi5vbGRWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJl
ZmVyZW5jZTItPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNz
U3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBhc3Np
Z25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lv
bj4obG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UyKSwgV1RGTW92ZShkZXJlZmVy
ZW5jZUV4cHJlc3Npb24pKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgICAgICBl
eHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IHJl
YWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFs
dWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAg
ICAgICAgICBhdXRvIG5ld1ZhbHVlRXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZU5ld1ZhbHVlRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgYXV0byBhc3NpZ25tZW50
RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG5ld1ZhbHVlRXhwcmVz
c2lvbikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5
cGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25z
LmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChw
b2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0VHlw
ZShwb2ludGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2Ux
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpU
aHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gZGVyZWZlcmVuY2VF
eHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UxKSk7Ci0gICAgICAgICAgICBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAg
IGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUg
eyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24u
bmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+
c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNl
OjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gYXNzaWdubWVu
dEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBXVEZNb3ZlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UyKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShi
YXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGF1dG8gcmVzdWx0RXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZVJlc3VsdEV4cHJlc3Npb24oKTsKLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+
IHR5cGUgPSByZXN1bHRFeHByZXNzaW9uLT5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUocmVzdWx0RXhwcmVzc2lvbikpOwotCi0gICAgICAgIFVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSBy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgICAgICBVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBuZXdWYXJpYWJsZURlY2xhcmF0aW9uID0gcmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWUoKTsKLQotICAgICAgICBhdXRvKiBj
b21tYUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6Q29tbWFFeHByZXNzaW9uPihy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9ucykp
OwotICAgICAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGUoV1RGTW92ZSh0eXBlKSk7Ci0gICAg
ICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkp
OwotCi0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRl
clZhcmlhYmxlKSk7Ci0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1v
dmUob2xkVmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIEFTU0VSVCghcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0
VmFsdWUoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICBpZiAoIWlzPEFT
VDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSBvZiByZWFkIG1vZGlm
eSB3cml0ZSBleHByZXNzaW9uIGlzIGEgcmlnaHQtdmFsdWUuIiwgcmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5sZWZ0VmFsdWUoKS5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGF1dG8gbW9kaWZ5UmVzdWx0ID0gbW9kaWZ5KGRvd25jYXN0PEFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgp
KSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbGFzdEdldHRlckNhbGxFeHByZXNz
aW9uKSAtPiBNb2RpZmljYXRpb25SZXN1bHQgewotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFT
VDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1
dG8gdmFyaWFibGVSZWZlcmVuY2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm9sZFZhcmlh
YmxlUmVmZXJlbmNlKCk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6
QXNzaWdubWVudEV4cHJlc3Npb24+KGxlZnRWYWx1ZUxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxl
UmVmZXJlbmNlKSwgV1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAg
ICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAg
ICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVu
Y2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0g
ICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxl
UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVz
c1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gbmV3
VmFsdWVFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWVF
eHByZXNzaW9uKCk7Ci0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFr
ZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwg
V1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobmV3VmFsdWVFeHByZXNzaW9uKSk7
Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShyZWFkTW9kaWZ5V3Jp
dGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIGFz
c2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7
Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
cmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAg
ICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVh
ZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICByZXR1cm4geyBXVEZNb3ZlKGV4cHJlc3Np
b25zKSwgIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpIH07Ci0gICAgfSk7Ci0KLSAgICBzaW1w
bGlmeUxlZnRWYWx1ZShtb2RpZnlSZXN1bHQuaW5uZXJMZWZ0VmFsdWUpOwotCi0gICAgYXV0byBy
ZXN1bHRFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlUmVzdWx0RXhw
cmVzc2lvbigpOwotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiB0eXBlID0gcmVzdWx0RXhwcmVz
c2lvbi0+cmVzb2x2ZWRUeXBlKCk7Ci0gICAgbW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zLmFwcGVu
ZChXVEZNb3ZlKHJlc3VsdEV4cHJlc3Npb24pKTsKLQotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVF
eHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVj
bGFyYXRpb24+IG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNz
aW9uLnRha2VOZXdWYWx1ZSgpOwotCi0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpy
ZXBsYWNlV2l0aDxBU1Q6OkNvbW1hRXhwcmVzc2lvbj4ocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
biwgbG9jYXRpb24sIFdURk1vdmUobW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zKSk7Ci0gICAgY29t
bWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUodHlwZSkpOwotICAgIGNvbW1hRXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgZm9yIChhdXRv
JiB2YXJpYWJsZURlY2xhcmF0aW9uIDogbW9kaWZ5UmVzdWx0LnZhcmlhYmxlRGVjbGFyYXRpb25z
KQotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3Zl
KG9sZFZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFw
cGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLX0KLQotc3RhdGljIE9wdGlv
bmFsPEFuZGVyQ2FsbEFyZ3VtZW50UmVzdWx0PiBhbmRlckNhbGxBcmd1bWVudChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIHJl
dHVybiBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFzZVJlZmVy
ZW5jZSgpLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbigpLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLX0KLQotdm9pZCBQcm9w
ZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikKLXsKLSAgICBhdXRvIGxvY2F0aW9uID0g
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgY2hlY2tFcnJv
ckFuZFZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgaWYgKGF1
dG8gYXJndW1lbnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24p
KSB7Ci0gICAgICAgIGF1dG8qIGFuZGVyRnVuY3Rpb24gPSBhcmd1bWVudC0+d2hpY2hBbmRlciA9
PSBXaGljaEFuZGVyOjpUaHJlYWRBbmRlciA/IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi50aHJl
YWRBbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlv
bigpOwotICAgICAgICBBU1NFUlQoYW5kZXJGdW5jdGlvbik7Ci0gICAgICAgIFZlY3RvcjxVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBw
ZW5kKFdURk1vdmUoYXJndW1lbnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
SW5kZXhFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pKQotICAgICAgICAgICAg
YXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxvY2F0aW9uLCBTdHJpbmco
YW5kZXJGdW5jdGlvbi0+bmFtZSgpKSwgV1RGTW92ZShhcmd1bWVudHMpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGUoYW5kZXJGdW5jdGlvbi0+dHlwZSgpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICAg
ICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCphbmRlckZ1bmN0aW9uKTsKLQotICAgICAg
ICBhdXRvKiBkZXJlZmVyZW5jZUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6RGVy
ZWZlcmVuY2VFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGxvY2F0aW9uLCBX
VEZNb3ZlKGNhbGxFeHByZXNzaW9uKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+
c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGVB
bm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5k
ZXJGdW5jdGlvbi0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9KTsKLQotICAgICAgICBpZiAoYXV0
byYgdmFyaWFibGVEZWNsYXJhdGlvbiA9IGFyZ3VtZW50LT52YXJpYWJsZURlY2xhcmF0aW9uKQot
ICAgICAgICAgICAgbV92YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSgqdmFyaWFi
bGVEZWNsYXJhdGlvbikpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlQo
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1bmN0aW9uKCkpOwotICAgIGF1dG8mIGdl
dHRlckZ1bmN0aW9uID0gKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigp
OwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAg
IGFyZ3VtZW50cy5hcHBlbmQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnRha2VCYXNlKCkpOwot
ICAgIEFTVDo6Q2FsbEV4cHJlc3Npb24qIGNhbGxFeHByZXNzaW9uOwotICAgIGlmIChpczxBU1Q6
OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkgewotICAgICAgICBh
dXRvJiBpbmRleEV4cHJlc3Npb24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChpbmRleEV4
cHJlc3Npb24udGFrZUluZGV4KCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbiA9IEFTVDo6cmVw
bGFjZVdpdGg8QVNUOjpDYWxsRXhwcmVzc2lvbj4oaW5kZXhFeHByZXNzaW9uLCBsb2NhdGlvbiwg
U3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6RG90RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKSk7Ci0gICAgICAgIGF1dG8mIGRvdEV4cHJlc3Npb24gPSBkb3duY2Fz
dDxBU1Q6OkRvdEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgICAg
IGNhbGxFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNhbGxFeHByZXNzaW9uPihk
b3RFeHByZXNzaW9uLCBsb2NhdGlvbiwgU3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgfQotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5jdGlv
bihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGUoZ2V0dGVyRnVu
Y3Rpb24udHlwZSgpKTsKLSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpSaWdodFZhbHVlKCkpOwotfQotCi1jbGFzcyBMZWZ0VmFsdWVTaW1wbGlmaWVyIDogcHVibGlj
IFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYp
IG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIGZpbmlzaFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
Jik7Ci19OwotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0g
ICAgQVNTRVJUKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkudHlwZUFubm90YXRpb24o
KS5sZWZ0QWRkcmVzc1NwYWNlKCkpOwotICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uYW5kZXJGdW5jdGlvbigpKTsKLQotICAgIFZpc2l0b3I6OnZpc2l0KHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKTsKLSAgICBhdXRvKiBhbmRlckZ1bmN0aW9uID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKTsKLQotICAgIGF1dG8gYXJndW1l
bnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwotICAgIEFT
U0VSVChhcmd1bWVudCk7Ci0gICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFibGVEZWNsYXJhdGlv
bik7Ci0gICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdoaWNoQW5kZXI6OkFuZGVy
KTsKLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwot
ICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVudC0+ZXhwcmVzc2lvbikpOwotICAg
IGlmIChpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkK
LSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4o
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgYXV0byBjYWxsRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpDYWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0
cmluZyhhbmRlckZ1bmN0aW9uLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgIGNh
bGxFeHByZXNzaW9uLT5zZXRUeXBlKGFuZGVyRnVuY3Rpb24tPnR5cGUoKSk7Ci0gICAgY2FsbEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICBjYWxs
RXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKmFuZGVyRnVuY3Rpb24pOwotCi0gICAgYXV0byogZGVy
ZWZlcmVuY2VFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkRlcmVmZXJlbmNlRXhw
cmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShjYWxs
RXhwcmVzc2lvbikpOwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkp
OwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0
VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmFkZHJlc3NTcGFjZSgpIH0pOwotfQotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OnZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICBWaXNpdG9yOjp2aXNp
dChkb3RFeHByZXNzaW9uKTsKLSAgICBmaW5pc2hWaXNpdGluZyhkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYg
aW5kZXhFeHByZXNzaW9uKQotewotICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNp
dChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwotICAgIGZpbmlzaFZpc2l0aW5n
KGluZGV4RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgTGVmdFZhbHVlU2ltcGxpZmllcjo6dmlzaXQo
QVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Npb24mIGRlcmVmZXJlbmNlRXhwcmVzc2lvbikKLXsKLSAg
ICAvLyBEZXJlZmVyZW5jZSBleHByZXNzaW9ucyBhcmUgdGhlIG9ubHkgZXhwcmVzc2lvbnMgd2hl
cmUgdGhlIGNoaWxkcmVuIG1pZ2h0IGJlIG1vcmUtcmlnaHQgdGhhbiB3ZSBhcmUuCi0gICAgLy8g
Rm9yIGV4YW1wbGUsIGEgZGVyZWZlcmVuY2UgZXhwcmVzc2lvbiBtYXkgYmUgYSBsZWZ0IHZhbHVl
IGJ1dCBpdHMgY2hpbGQgbWF5IGJlIGEgY2FsbCBleHByZXNzaW9uIHdoaWNoIGlzIGEgcmlnaHQg
dmFsdWUuCi0gICAgLy8gTGVmdFZhbHVlU2ltcGxpZmllciBkb2Vzbid0IGhhbmRsZSByaWdodCB2
YWx1ZXMsIHNvIHdlIGluc3RlYWQgbmVlZCB0byB1c2UgUHJvcGVydHlSZXNvbHZlci4KLSAgICBQ
cm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uKTsK
LX0KLQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJl
c3Npb24mIGV4cHJlc3Npb24pCi17Ci0gICAgTGVmdFZhbHVlU2ltcGxpZmllcigpLlZpc2l0b3I6
OnZpc2l0KGV4cHJlc3Npb24pOwotfQotCi12b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0m
IHByb2dyYW0pCit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQogewotICAgIFByb3Bl
cnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNpdChwcm9ncmFtKTsKKyAgICAvLyBGSVhNRTogQnJp
bmcgdGhpcyBwaGFzZSBiYWNrIHRvIGFsbG93IG1ldGFsIGNvZGVnZW4gc29tZSBjb252ZW5pZW5j
ZXMgCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1
MQogfQogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2aXNpdChkb3duY2Fz
dDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpOwog
ICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4
cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBb
Jl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVuY3Rpb24pIHsKLSAgICAgICAgICAgIGlm
ICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgaWYgKGlz
PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgIHZp
c2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKTsKLSAgICAg
ICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24o
KSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpOwot
ICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsK
LSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkpOwotCi0g
ICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8
QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVhY2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1
cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeS50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMjEwLDM3MCArMjEwLDYgQEAgdWludDQgcmV2ZXJzZWJpdHModWludDQgeCkgewog
fQogCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3cgKi8KLWJvb2wzIG9wZXJhdG9y
Lnl3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3coaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci55d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enp5ICovCi1i
b29sNCBvcGVyYXRvci55enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9y
Lnl6enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eSh1aW50MyB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXp6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55enp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eSAqLwotYm9vbDQgb3Bl
cmF0b3Iuenl4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh5KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHkoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd4
enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h6eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci53eHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXh4eiAqLwotYm9vbDQgb3BlcmF0b3IueXh4eihib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh6KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl4eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXh4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eHooaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl4eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXh4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp4d3k9ICovCi1ib29sNCBvcGVyYXRvci56eHd5PShib29sNCB2LCBib29sNCBj
KSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh3eT0odWludDQgdiwgdWludDQg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh3eT0oaW50NCB2LCBpbnQ0IGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHd5PShmbG9hdDQgdiwgZmxvYXQ0
IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd3
dyAqLwotYm9vbDQgb3BlcmF0b3IueHd3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd3dyhp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3d3coZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3l6ICovCi1ib29sNCBv
cGVyYXRvci56d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXoo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l6KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
LyogRnVuY3Rpb25zIG5hbWVkIGlzb3JkZXJlZCAqLwogYm9vbCBpc29yZGVyZWQoZmxvYXQgeCwg
ZmxvYXQgeSkgewogICAgIHJldHVybiAoeCA9PSB4KSAmJiAoeSA9PSB5KTsKQEAgLTYwMCw4OCAr
MjM2LDYgQEAgYm9vbDQgaXNvcmRlcmVkKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54ICovCi1uYXRpdmUg
Ym9vbCBvcGVyYXRvci54KGJvb2wyKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yLngoYm9vbDMpOwot
bmF0aXZlIGJvb2wgb3BlcmF0b3IueChib29sNCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvci54KHVp
bnQyKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLngodWludDMpOwotbmF0aXZlIHVpbnQgb3BlcmF0
b3IueCh1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50Mik7Ci1uYXRpdmUgaW50IG9w
ZXJhdG9yLngoaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50NCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IueChmbG9hdDIpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLngoZmxvYXQzKTsK
LW5hdGl2ZSBmbG9hdCBvcGVyYXRvci54KGZsb2F0NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXd4ICovCi1ib29sNCBvcGVyYXRvci54eXd4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci54eXd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3l4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCiAvKiBGdW5jdGlvbnMgbmFtZWQgdHJhbnNwb3NlICovCiBmbG9hdCB0cmFuc3Bv
c2UoZmxvYXQgeCkgewogICAgIHJldHVybiB4OwpAQCAtNjg5LDI3MiArMjQzLDEyMiBAQCBmbG9h
dCB0cmFuc3Bvc2UoZmxvYXQgeCkgewogZmxvYXQyeDIgdHJhbnNwb3NlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMg
dHJhbnNwb3NlKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3Vs
dFswXVsyXSA9IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IHRyYW5zcG9zZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CiAgICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJlc3VsdFsw
XVszXSA9IHhbM11bMF07Ci0gICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKICAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzNdID0geFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdHJhbnNw
b3NlKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKICAgICByZXN1bHRbMl1b
MF0gPSB4WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDN4MyB0cmFuc3Bvc2UoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gz
IHJlc3VsdDsKK2Zsb2F0NHgyIHRyYW5zcG9zZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBd
ID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB4WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3g0IHRyYW5zcG9zZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQzeDQg
cmVzdWx0OworZmxvYXQyeDMgdHJhbnNwb3NlKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSA9
IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
PSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzNd
ID0geFszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwotICAgIHJlc3VsdFsyXVsx
XSA9IHhbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAgICByZXN1bHRbMl1b
M10gPSB4WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiB0cmFuc3Bvc2Uo
ZmxvYXQyeDQgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0M3gzIHRyYW5zcG9zZShm
bG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0g
eFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CisgICAgcmVzdWx0WzBdWzJd
ID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IHhbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRyYW5zcG9zZShm
bG9hdDN4NCB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9
IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
PSB4WzJdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFd
ID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsyXVsx
XSA9IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJd
WzJdID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDR4NCB0cmFuc3Bvc2UoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKK2Zsb2F0Mng0IHRyYW5zcG9zZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKICAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNd
ID0geFszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgdHJhbnNwb3NlKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFsw
XVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhb
MF1bMl07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4
WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9
IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CisgICAgcmVzdWx0WzBdWzNd
ID0geFszXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVsz
XSA9IHhbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IHRyYW5zcG9zZShm
bG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4
WzBdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFdID0g
eFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9
IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0g
PSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNdOworICAgIHJlc3VsdFswXVsz
XSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsxXTsKKyAgICByZXN1bHRbMl1b
M10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IHhbM11bM107CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4ej0gKi8KLWJvb2w0
IG9wZXJhdG9yLnd5eHo9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54
ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53eXh6PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eXh6PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9
IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd5eHo9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXh6ICovCi1ib29sNCBvcGVyYXRvci55eXh6
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5eHooYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55eXh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXl4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eihmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55eXh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IuenggKi8KLWJvb2wyIG9wZXJhdG9yLnp4KGJvb2wzIHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnp4KGJvb2w0IHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp4KHVpbnQzIHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp4KHVpbnQ0IHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuengoaW50MyB2KSB7Ci0g
ICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuengoaW50NCB2KSB7Ci0gICAg
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eChmbG9hdDMgdikgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eChmbG9hdDQgdikgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9j
a2VkQWRkICovCiBuYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFkZChkZXZpY2UgYXRvbWljX3VpbnQq
LCB1aW50LCB0aHJlYWQgdWludCopOwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQoZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKQEAgLTk2OSwxNzQgKzM3Myw2IEBAIG5h
dGl2ZSB2b2lkIEludGVybG9ja2VkQWRkKHRocmVhZGdyb3VwIGEKIG5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkQWRkKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
enl4ICovCi1ib29sNCBvcGVyYXRvci54enl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnh6eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5
eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enl4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54enl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5
eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enl4KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d6dyAqLwot
Ym9vbDQgb3BlcmF0b3Iud3d6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53d3p3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d6dyhpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3encoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d5ICovCi1ib29sNCBvcGVyYXRv
ci55d3d5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3d3kodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3d5KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXd3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3goYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp3eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiAvKiBGdW5jdGlvbnMgbmFtZWQg
c2F0dXJhdGUgKi8KIGZsb2F0IHNhdHVyYXRlKGZsb2F0IHgpIHsKICAgICByZXR1cm4gY2xhbXAo
eCwgMCwgMSk7CkBAIC0xMTY1LDExNyArNDAxLDExNyBAQCBmbG9hdDQgc2F0dXJhdGUoZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIHNhdHVyYXRlKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MngzIHNhdHVyYXRlKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9hdDN4
MiBzYXR1cmF0ZShmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRl
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNhdHVy
YXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNh
dHVyYXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBzYXR1cmF0ZShmbG9hdDJ4NCB4KSB7Ci0g
ICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgeworICAg
IGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0
ZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgc2F0dXJhdGUoZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIHNhdHVyYXRlKGZsb2F0
MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJh
dGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIHNhdHVyYXRlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJh
dGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0
dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IHNhdHVyYXRlKGZsb2F0M3g0IHgpIHsKLSAg
ICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBzYXR1cmF0ZShmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNhdHVyYXRlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNhdHVyYXRlKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNhdHVyYXRlKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRl
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNhdHVyYXRlKHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVy
YXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNh
dHVyYXRlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBzYXR1cmF0
ZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OworZmxvYXQyeDQgc2F0dXJhdGUo
ZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0eDMgc2F0dXJhdGUoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKK2Zsb2F0
M3g0IHNhdHVyYXRlKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJh
dGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0
dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNhdHVyYXRlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0
dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
c2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUo
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJh
dGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0
dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
c2F0dXJhdGUoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEzMDksMTE3ICs1
NDUsMTE3IEBAIGZsb2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0
MngyIG1hZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OworZmxvYXQzeDIgbWFkKGZsb2F0M3gyIHgsIGZsb2F0
M3gyIHksIGZsb2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1b
MF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5
WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1hZChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5
LCBmbG9hdDJ4NCB6KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbWFkKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1h
ZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDN4MiBtYWQoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQz
eDIgeikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBm
bG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQz
eDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OworZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZs
b2F0NHgzIHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFk
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1b
M10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1hZCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBtYWQoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwg
ZmxvYXQ0eDIgeikgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0Mng0IG1hZChmbG9hdDJ4
NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVszXVsw
XSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgz
IHopIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7CitmbG9hdDN4NCBtYWQoZmxvYXQzeDQgeCwgZmxv
YXQzeDQgeSwgZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFk
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJd
WzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwg
eVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1b
Ml0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTQ4MSw5MCArNzE3LDkwIEBAIGZsb2F0MngyIG1vZGYoZmxvYXQyeDIgeCwgdGhyZWFk
IGZsb2F0MngKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBt
b2RmKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKK2Zsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7CisgICAg
ZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2Rm
KHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwg
dGhyZWFkIGZsb2F0Mng0KiB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbW9k
ZihmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIHJlc3VsdFsx
XVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsw
XSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9
IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1v
ZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIG1vZGYo
ZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0Owor
ZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHkpIHsKKyAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5KSB7CkBA
IC0xNTczLDE0MSArODA5LDE0MSBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZCBm
bG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZm
ZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1v
ZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSkgewotICAgIGZsb2F0
M3g0IHJlc3VsdDsKK2Zsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5
KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRb
MF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFd
WzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9
IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZm
ZXIpOworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbW9kZihmbG9h
dDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7CitmbG9h
dDJ4NCBtb2RmKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSkgeworICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1b
MF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsK
KyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHkpIHsKLSAgICBmbG9hdDR4
MyByZXN1bHQ7CitmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSkg
eworICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBd
WzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZl
cik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4
WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYo
eFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVh
ZCBmbG9hdDR4NCogeSkgewpAQCAtMTcxNiw0OCArOTUyLDQ4IEBAIGZsb2F0NHg0IG1vZGYoZmxv
YXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHgKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBd
WzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11b
MF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgIHJlc3VsdFszXVsy
XSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOworICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9
IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1v
ZGYoeFsxXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIp
OworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYo
eFsyXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsy
XSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11b
M10gPSBtb2RmKHhbM11bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbM11bM10gPSBidWZmZXI7CkBAIC0xODE5LDkwICsxMDU1LDkwIEBAIGZsb2F0MngyIG1v
ZGYoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKK2Zsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNl
IGZsb2F0M3gyKiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Cisg
ICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
Mng0IG1vZGYoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OworZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHkpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVsw
XSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZi
dWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
M10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhb
M11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OworZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCBkZXZpY2UgZmxv
YXQyeDMqIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAg
IHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgZGV2
aWNlIGZsb2F0M3gzKiB5KSB7CkBAIC0xOTExLDE0MSArMTE0NywxNDEgQEAgZmxvYXQzeDMgbW9k
ZihmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4LCBkZXZpY2UgZmxv
YXQzeDQqIHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBtb2RmKGZsb2F0NHgz
IHgsIGRldmljZSBmbG9hdDR4MyogeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9h
dCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9k
Zih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4
WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBt
b2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBi
dWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7Ci0gICAg
ZmxvYXQ0eDIgcmVzdWx0OworZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQy
eDQqIHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNd
WzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
M10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0
NHgzKiB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgZmxvYXQg
YnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBt
b2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2Rm
KHhbM11bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkp
WzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAg
ICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
bW9kZihmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHkpIHsKQEAgLTIwNTQsNDggKzEyOTAs
NDggQEAgZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eAogICAgIHJlc3Vs
dFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0g
YnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVy
KTsKKyAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1
ZmZlcik7CisgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsz
XVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsx
XSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7
CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9
IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0g
YnVmZmVyOwogICAgIHJlc3VsdFszXVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKQEAgLTIxNTcsOTAg
KzEzOTMsOTAgQEAgZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbAogICAg
IHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIG1vZGYoZmxvYXQyeDMg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9h
dDN4MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2Rm
KHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7CitmbG9hdDR4MiBt
b2RmKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBd
WzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
M11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlb
Ml1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
ICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4
MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7Ci0gICAgZmxvYXQz
eDIgcmVzdWx0OworZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MyogeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbW9kZihmbG9hdDN4MyB4LCB0aHJlYWRn
cm91cCBmbG9hdDN4MyogeSkgewpAQCAtMjI0OSwxNDEgKzE0ODUsMTQxIEBAIGZsb2F0M3gzIG1v
ZGYoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmwKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9
IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IG1vZGYoZmxvYXQzeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDQqIHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBtb2RmKGZs
b2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1b
MF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFd
WzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgIHJlc3VsdFszXVsyXSA9
IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0Mng0IG1vZGYoZmxvYXQyeDQg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAg
ZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsy
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlb
MV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1vZGYoZmxv
YXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7
CitmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBt
b2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4
WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNd
WzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1vZGYoZmxvYXQ0eDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQ0eDQqIHkpIHsKQEAgLTIzOTIsNDggKzE2MjgsNDggQEAgZmxvYXQ0eDQgbW9kZihm
bG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIHJl
c3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1b
M10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsz
XVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsx
XSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzNd
WzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwg
JmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNd
ID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0g
bW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9k
Zih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJlc3VsdFsz
XVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKQEAgLTI0NDEsMzY2NiArMTY3Nyw1MDQ0IEBAIGZsb2F0
NHg0IG1vZGYoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmwKIH0KIAogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3k9ICovCi1ib29sNCBvcGVyYXRvci53eT0oYm9vbDQgdiwgYm9vbDIg
YykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVz
dWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5PSh1
aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci53eT0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci53eT0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yW109ICov
Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3JbXT0oYm9vbDIsIHVpbnQsIGJvb2wpOwotbmF0aXZlIGJv
b2wzIG9wZXJhdG9yW109KGJvb2wzLCB1aW50LCBib29sKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRv
cltdPShib29sNCwgdWludCwgYm9vbCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3JbXT0odWludDIs
IHVpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yW109KHVpbnQzLCB1aW50LCB1aW50
KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcltdPSh1aW50NCwgdWludCwgdWludCk7Ci1uYXRpdmUg
aW50MiBvcGVyYXRvcltdPShpbnQyLCB1aW50LCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3Jb
XT0oaW50MywgdWludCwgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yW109KGludDQsIHVpbnQs
IGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yW109KGZsb2F0MiwgdWludCwgZmxvYXQpOwot
bmF0aXZlIGZsb2F0MyBvcGVyYXRvcltdPShmbG9hdDMsIHVpbnQsIGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdDQgb3BlcmF0b3JbXT0oZmxvYXQ0LCB1aW50LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIg
b3BlcmF0b3JbXT0oZmxvYXQyeDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3Bl
cmF0b3JbXT0oZmxvYXQyeDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0
b3JbXT0oZmxvYXQyeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Jb
XT0oZmxvYXQzeDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3JbXT0o
ZmxvYXQzeDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3JbXT0oZmxv
YXQzeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3JbXT0oZmxvYXQ0
eDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3JbXT0oZmxvYXQ0eDMs
IHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3JbXT0oZmxvYXQ0eDQsIHVp
bnQsIGZsb2F0NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcltdPShib29sMngyLCB1aW50LCBi
b29sMik7Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcltdPShib29sMngzLCB1aW50LCBib29sMyk7
Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcltdPShib29sMng0LCB1aW50LCBib29sNCk7Ci1uYXRp
dmUgYm9vbDN4MiBvcGVyYXRvcltdPShib29sM3gyLCB1aW50LCBib29sMik7Ci1uYXRpdmUgYm9v
bDN4MyBvcGVyYXRvcltdPShib29sM3gzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDN4NCBv
cGVyYXRvcltdPShib29sM3g0LCB1aW50LCBib29sNCk7Ci1uYXRpdmUgYm9vbDR4MiBvcGVyYXRv
cltdPShib29sNHgyLCB1aW50LCBib29sMik7Ci1uYXRpdmUgYm9vbDR4MyBvcGVyYXRvcltdPShi
b29sNHgzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcltdPShib29sNHg0
LCB1aW50LCBib29sNCk7CisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRNaW4gKi8KK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCos
IGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2Vk
TWluKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50
Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwg
dGhyZWFkZ3JvdXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91
cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxv
Y2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRl
dmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9t
aWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVh
ZGdyb3VwIGludCopOwogCisvKiBGdW5jdGlvbnMgbmFtZWQgbGVuZ3RoICovCituYXRpdmUgZmxv
YXQgbGVuZ3RoKGZsb2F0KTsKK25hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQyKTsKK25hdGl2ZSBm
bG9hdCBsZW5ndGgoZmxvYXQzKTsKK25hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQ0KTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl4eXgoYm9v
bDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXh5eChib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl4eXgodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5
eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci0tICovCit1aW50IG9wZXJhdG9y
LS0odWludCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl4eXgoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBvcGVyYXRvci0tKGludCB2YWx1ZSkgeworICAg
IHJldHVybiB2YWx1ZSAtIDE7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4eXgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK2Zsb2F0IG9wZXJhdG9yLS0oZmxvYXQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgLSAx
OwogfQotaW50NCBvcGVyYXRvci55eHl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvcjw8ICovCituYXRpdmUgaW50IG9wZXJhdG9yPDwoaW50LCB1aW50KTsK
K25hdGl2ZSB1aW50IG9wZXJhdG9yPDwodWludCwgdWludCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1l
ZCBleHAyICovCitmbG9hdCBleHAyKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZXhwKHggKiBsb2co
ZmxvYXQoMikpKTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHl4KGZsb2F0MiB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MiBleHAyKGZsb2F0
MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGV4cDIoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci55eHl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MyBleHAyKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cDIo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwMih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnl4eXgoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBleHAyKGZsb2F0NCB4
KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICBy
ZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cDIoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gZXhwMih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBleHAyKHhbM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3h5ICov
Ci1ib29sNCBvcGVyYXRvci56d3h5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MiBleHAyKGZsb2F0MngyIHgpIHsKKyAgICBm
bG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3Iuend4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZXhwMihmbG9hdDN4MiB4KSB7
CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBl
eHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp3eHkoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MiBl
eHAyKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuend4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBleHAyKGZsb2F0MngzIHgpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5
eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnd5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3gzIGV4cDIoZmxvYXQzeDMgeCkgewor
ICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhw
Mih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l5dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDMgZXhwMihmbG9h
dDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZXhwMih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXcoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDJ4NCBleHAyKGZsb2F0
Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4
cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3Iud3l5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnh4eHco
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh4dyh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eHh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IGV4cDIoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0
NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZXhwMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnl3eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3kodWludDQgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBv
cGVyYXRvci55d3koaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CisvKiBGdW5jdGlvbnMgbmFtZWQg
aXN1bm9yZGVyZWQgKi8KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5enc9ICovCi1i
b29sNCBvcGVyYXRvci54eXp3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1
bHQueiA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHl6dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Jv
b2wgaXN1bm9yZGVyZWQoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiBpc25hbih4KSB8
fCBpc25hbih5KTsKIH0KLWludDQgb3BlcmF0b3IueHl6dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Citib29sMiBpc3Vu
b3JkZXJlZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gaXN1bm9y
ZGVyZWQoeFsxXSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci54eXp3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMu
ejsKLSAgICByZXN1bHQudyA9IGMudzsKK2Jvb2wzIGlzdW5vcmRlcmVkKGZsb2F0MyB4LCBmbG9h
dDMgeSkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp3dyAqLwotYm9vbDQgb3BlcmF0
b3IueHp3dyhib29sNCB2KSB7Citib29sNCBpc3Vub3JkZXJlZChmbG9hdDQgeCwgZmxvYXQ0IHkp
IHsKICAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6d3codWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueHp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CisgICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXN1
bm9yZGVyZWQoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gaXN1bm9yZGVyZWQoeFszXSwg
eVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHp3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OworLyogRnVuY3Rpb25zIG5hbWVkIGF0YW4gKi8KK25hdGl2ZSBm
bG9hdCBhdGFuKGZsb2F0KTsKK2Zsb2F0MiBhdGFuKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4o
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHp3eShpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBh
dGFuKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFu
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRh
bih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3koZmxv
YXQ0IHYpIHsKK2Zsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRhbih4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBhdGFuKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3d6ICovCi1ib29sNCBvcGVyYXRvci53d3d6KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9h
dDJ4MiBhdGFuKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
YXRhbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3d3
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OworZmxvYXQzeDIgYXRhbihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnd3d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MiBhdGFuKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9h
dDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3d3eihmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citm
bG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4enggKi8KLWJvb2w0IG9wZXJhdG9yLnp4engo
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
K2Zsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3Bl
cmF0b3Iuenh6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OworZmxvYXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0
YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci56eHp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CitmbG9hdDJ4NCBhdGFuKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHp4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBh
dGFuKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0
YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh6eChpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IGF0
YW4oZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBhdGFuKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnp4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cgKi8KK25hdGl2ZSBmbG9hdCBs
b2coZmxvYXQpOworZmxvYXQyIGxvZyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gbG9nKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4engoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzIGxvZyhm
bG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbG9nKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsb2coeFsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eHp4KGZsb2F0NCB2KSB7
CitmbG9hdDQgbG9nKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl4PSAqLwotYm9vbDMgb3BlcmF0b3Iuenl4PShib29sMyB2LCBib29sMyBj
KSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKKyAgICByZXN1bHRbMF0gPSBsb2coeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJd
KTsKKyAgICByZXN1bHRbM10gPSBsb2coeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2w0IG9wZXJhdG9yLnp5eD0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7CitmbG9hdDJ4MiBsb2coZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9w
ZXJhdG9yLnp5eD0odWludDMgdiwgdWludDMgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7CitmbG9hdDN4MiBsb2coZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iuenl4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKK2Zsb2F0NHgyIGxvZyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBs
b2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenl4PShpbnQzIHYsIGludDMgYykgewotICAgIGlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0MngzIGxvZyhmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
b2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVy
YXRvci56eXg9KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0g
Yy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4PShmbG9hdDQg
diwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0M3gzIGxv
ZyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tl
ZE1pbiAqLwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50Kiwg
dWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1p
bihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWlu
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBsZW5ndGggKi8K
LW5hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQpOwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9hdDIp
OwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9hdDMpOwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9h
dDQpOwotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3p5ICovCi1ib29sNCBvcGVy
YXRvci54d3p5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
b2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxv
Zyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd6eSh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owor
ZmxvYXQyeDQgbG9nKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54d3p5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9h
dDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9n
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci54d3p5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
bG9nKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3ItLSAqLwotdWludCBvcGVyYXRvci0tKHVp
bnQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgLSAxOwotfQotaW50IG9wZXJhdG9yLS0oaW50
IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlIC0gMTsKLX0KLWZsb2F0IG9wZXJhdG9yLS0oZmxv
YXQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgLSAxOwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3I8PCAqLwotbmF0aXZlIGludCBvcGVyYXRvcjw8KGludCwgdWludCk7Ci1uYXRp
dmUgdWludCBvcGVyYXRvcjw8KHVpbnQsIHVpbnQpOworLyogRnVuY3Rpb25zIG5hbWVkIExvYWQg
Ki8KK25hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTFEPHVpbnQ+LCBpbnQgbG9jYXRpb24pOworbmF0
aXZlIHVpbnQgTG9hZChUZXh0dXJlMURBcnJheTx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRp
dmUgdWludCBMb2FkKFRleHR1cmUyRDx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWlu
dCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50
IExvYWQoVGV4dHVyZTNEPHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBMb2Fk
KFRleHR1cmUxRDx1aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0
dXJlMURBcnJheTx1aW50Mj4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4
dHVyZTJEPHVpbnQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVy
ZTNEPHVpbnQyPiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgTG9hZChUZXh0dXJlMUQ8
dWludDM+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTFEQXJyYXk8
dWludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyRDx1aW50
Mz4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUzRDx1aW50Mz4s
IGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTFEPHVpbnQ0PiwgaW50
IGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkQ8dWludDQ+LCBpbnQyIGxv
Y2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgaW50MyBs
b2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlM0Q8dWludDQ+LCBpbnQzIGxvY2F0
aW9uKTsKK25hdGl2ZSBpbnQgTG9hZChUZXh0dXJlMUQ8aW50PiwgaW50IGxvY2F0aW9uKTsKK25h
dGl2ZSBpbnQgTG9hZChUZXh0dXJlMURBcnJheTxpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQgTG9hZChUZXh0dXJlMkQ8aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50IExv
YWQoVGV4dHVyZTJEQXJyYXk8aW50PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQo
VGV4dHVyZTNEPGludD4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJl
MUQ8aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxREFycmF5
PGludDI+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEPGludDI+
LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJlM0Q8aW50Mj4sIGludDMg
bG9jYXRpb24pOworbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMUQ8aW50Mz4sIGludCBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBMb2FkKFRleHR1cmUxREFycmF5PGludDM+LCBpbnQyIGxvY2F0aW9u
KTsKK25hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTJEPGludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0
aXZlIGludDMgTG9hZChUZXh0dXJlM0Q8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGlu
dDQgTG9hZChUZXh0dXJlMUQ8aW50ND4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50NCBMb2Fk
KFRleHR1cmUxREFycmF5PGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQo
VGV4dHVyZTJEPGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDQgTG9hZChUZXh0dXJl
M0Q8aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEPGZs
b2F0PiwgaW50IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ+
LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ+LCBp
bnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMUQ8ZmxvYXQyPiwgaW50
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBp
bnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMkQ8ZmxvYXQyPiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
aW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTNEPGZsb2F0Mj4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxRDxmbG9hdDM+LCBpbnQg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGlu
dDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUyRDxmbG9hdDM+LCBpbnQy
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBp
bnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlM0Q8ZmxvYXQzPiwgaW50
MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEPGZsb2F0ND4sIGludCBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTJEPGZsb2F0ND4sIGludDIg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUzRDxmbG9hdDQ+LCBpbnQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgaW50MyBsb2NhdGlvbik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3l6ICov
Ci1ib29sNCBvcGVyYXRvci53d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd3eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzaW4gKi8KK25hdGl2ZSBmbG9hdCBzaW4oZmxv
YXQpOworZmxvYXQyIHNpbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3l6KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzIHNpbihmbG9hdDMgeCkgewor
ICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IHNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaW4oeFsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3l6KGZsb2F0NCB2KSB7CitmbG9hdDQgc2lu
KGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHh5ICovCi1ib29sMyBvcGVyYXRvci54eHkoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueHh5KGJvb2wzIHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wz
IG9wZXJhdG9yLnh4eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54eHkodWludDIgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gc2luKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBzaW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eSh1
aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQyeDIgc2luKGZsb2F0Mngy
IHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eHkodWludDQgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKK2Zsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eShpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKK2Zsb2F0NHgyIHNpbihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHh5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQyeDMgc2luKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMg
b3BlcmF0b3IueHh5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQzeDMg
c2luKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHkoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3IueHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9hdDQgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnh3dyAqLwotYm9vbDMgb3BlcmF0b3IueHd3KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnh3dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh3dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh3dyhmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHc9ICovCi1ib29sNCBvcGVyYXRvci56
eXh3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAg
ICByZXN1bHQudyA9IGMudzsKK2Zsb2F0NHgzIHNpbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gc2luKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci56eXh3PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsK
LSAgICByZXN1bHQudyA9IGMudzsKK2Zsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenl4dz0oaW50NCB2LCBpbnQ0
IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Citm
bG9hdDN4NCBzaW4oZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNp
bih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHc9KGZsb2F0NCB2LCBm
bG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC53ID0g
Yy53OworZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gc2luKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzaW4oeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d6ICovCi1ib29sNCBvcGVyYXRvci55d3d6KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3d3oodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworLyogRnVuY3Rpb25zIG5hbWVkIHNpbmNvcyAqLwordm9pZCBzaW5jb3MoZmxvYXQgeCwg
dGhyZWFkIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAqeSA9IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNv
cyh4KTsKIH0KLWludDQgb3BlcmF0b3IueXd3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBm
bG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci55d3d6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVh
ZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3l6eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCog
eSwgdGhyZWFkIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXSA9
IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd5enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQy
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5enoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4
MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXp6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWQg
ZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGV4cDIgKi8KLWZs
b2F0IGV4cDIoZmxvYXQgeCkgewotICAgIHJldHVybiBleHAoeCAqIGxvZyhmbG9hdCgyKSkpOwot
fQotZmxvYXQyIGV4cDIoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4WzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIGV4cDIoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBleHAyKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgZXhwMihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gZXhwMih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGV4cDIoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZXhwMih4WzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDIgZXhwMihmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0
MngzIGV4cDIoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBl
eHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQyeDQg
ZXhwMihmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cDIo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0
eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQzeDIgZXhwMihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsz
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQzeDMgZXhwMihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhw
Mih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IGV4cDIoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGV4cDIo
ZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBl
eHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0
NHgzIGV4cDIoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBl
eHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gZXhwMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZXhwMih4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhy
ZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CiB9Ci1mbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
Mih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGV4cDIoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGV4cDIoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZXhwMih4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCBkZXZp
Y2UgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAqeSA9IHNpbih4KTsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp5eCAqLwotYm9vbDMgb3BlcmF0b3Iuenl4KGJvb2wzIHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci56
eXgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iuenl4KHVpbnQzIHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnp5eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXgoaW50NCB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci56eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3d3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3d3dyhib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iud3d3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnd3d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXp3ICovCi1ib29sNCBvcGVyYXRvci53eXp3KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd5encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53eXp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l6dyhmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCBk
ZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBu
dWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsz
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29z
UmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6dyAqLwotYm9vbDQg
b3BlcmF0b3IueXp6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCB0aHJlYWQgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6encodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQz
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci55enp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci53d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnd3eShib29sNCB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIGRldmljZSBmbG9hdDN4MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRv
ci53d3kodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBvcGVyYXRvci53d3koaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53d3koZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eiAqLwotYm9vbDIgb3BlcmF0b3Iud3ooYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iud3oodWludDQg
dikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci53eihpbnQ0IHYp
IHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnd6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iueng9ICovCi1ib29sMyBvcGVyYXRvci56eD0oYm9vbDMgdiwgYm9vbDIgYykgewotICAg
IGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4PShib29sNCB2LCBi
b29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iu
eng9KHVpbnQzIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56eD0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iueng9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50
MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4PShpbnQ0IHYsIGludDIgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4PShmbG9h
dDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnp4PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh5eSAqLwotYm9vbDQg
b3BlcmF0b3IueXh5eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHl5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4eXkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55eHl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl4eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHl5KGludDIgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eXkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXh5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4
eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHl5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5eCAqLwotYm9vbDQgb3Bl
cmF0b3Iud3l5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXl4KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4
MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l5eChpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQy
eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXl4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2Ug
ZmxvYXQzeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueSAqLwotbmF0aXZlIGJvb2wgb3Bl
cmF0b3IueShib29sMik7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvci55KGJvb2wzKTsKLW5hdGl2ZSBi
b29sIG9wZXJhdG9yLnkoYm9vbDQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IueSh1aW50Mik7Ci1u
YXRpdmUgdWludCBvcGVyYXRvci55KHVpbnQzKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnkodWlu
dDQpOwotbmF0aXZlIGludCBvcGVyYXRvci55KGludDIpOwotbmF0aXZlIGludCBvcGVyYXRvci55
KGludDMpOwotbmF0aXZlIGludCBvcGVyYXRvci55KGludDQpOwotbmF0aXZlIGZsb2F0IG9wZXJh
dG9yLnkoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci55KGZsb2F0Myk7Ci1uYXRpdmUg
ZmxvYXQgb3BlcmF0b3IueShmbG9hdDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3d6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53d3p4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d6
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3engoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp6ICovCi1ib29s
NCBvcGVyYXRvci55eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4
enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eih1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueXh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55
eHp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eihmbG9hdDMgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h6dyAqLwotYm9vbDQgb3BlcmF0
b3Iud3h6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHp3KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCog
eSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53eHp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0
aHJlYWQgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnog
PSBjb3MoeCk7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6dyhmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9h
dDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnp4
eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9h
dDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAg
ICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29s
NCBvcGVyYXRvci56eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4
LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9h
dDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci56eHl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXgo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl4KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl6PSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3h5ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0g
ICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnd4eXo9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56Owot
ICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnd4eXo9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h5ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4eSAqLwotYm9vbDQg
b3BlcmF0b3IueXl4eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4
LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5
eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZs
b2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eXh5KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eHko
dWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eSh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXl4eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQz
eDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl4eShpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWRn
cm91cCBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eXh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQgeCwg
ZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAqeSA9IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNv
cyh4KTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eXh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgs
IGRldmljZSBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owog
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHogKi8KLWJvb2wyIG9wZXJhdG9yLnh6
KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4
LCBkZXZpY2UgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotYm9vbDIgb3BlcmF0b3IueHooYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2
aWNlIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci54eih1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50MiBvcGVyYXRvci54eih1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnh6KGludDMgdikgewotICAgIGludDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnh6KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDIgb3BlcmF0b3IueHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IueHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l3ICovCi1ib29sNCBv
cGVyYXRvci55d3l3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eXco
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3l3KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBm
bG9hdDN4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXd5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enp6ICovCi1ib29sNCBv
cGVyYXRvci53enp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgs
IGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7CisgICAgZmxvYXQgc2lu
UmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6enoodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gz
KiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enp6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4
MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1m
bG9hdDQgb3BlcmF0b3Iud3p6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIGlzdW5vcmRlcmVkICovCi0KLWJvb2wgaXN1bm9yZGVyZWQoZmxvYXQgeCwgZmxv
YXQgeSkgewotICAgIHJldHVybiBpc25hbih4KSB8fCBpc25hbih5KTsKK3ZvaWQgc2luY29zKGZs
b2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CiB9Ci1ib29sMiBpc3Vub3JkZXJlZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBib29sMiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7Ci0gICAgcmVz
dWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWJv
b2wzIGlzdW5vcmRlcmVkKGZsb2F0MyB4LCBmbG9hdDMgeSkgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4
WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
ZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5S
ZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CiB9Ci1ib29sNCBpc3Vub3JkZXJlZChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7
Ci0gICAgcmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gaXN1bm9yZGVyZWQoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXN1bm9yZGVyZWQo
eFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnogPSBjb3Mo
eCk7CiB9Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3kgKi8KLWJvb2w0IG9w
ZXJhdG9yLnp3d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRl
dmljZSBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3d3kodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHksIGRldmlj
ZSBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3d5KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend3eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eHogKi8KLWJvb2w0IG9w
ZXJhdG9yLnp6eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp4eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enh6KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56enh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eHoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5
LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHooZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9h
dDJ4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56
enh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNl
IGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXRhbiAqLwot
bmF0aXZlIGZsb2F0IGF0YW4oZmxvYXQpOwotZmxvYXQyIGF0YW4oZmxvYXQyIHgpIHsKLSAgICBm
bG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gYXRhbih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZs
b2F0MyBhdGFuKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYXRhbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMg
eCwgZGV2aWNlIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IGF0YW4oZmxvYXQ0IHgp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gYXRhbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuKHhbMl0pOwotICAg
IHJlc3VsdFszXSA9IGF0YW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MngyIGF0
YW4oZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgp
IHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsx
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGF0YW4oZmxvYXQyeDQgeCkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
YXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGF0YW4oeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGF0YW4o
ZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBh
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgYXRhbihm
bG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGF0
YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhb
Ml1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZp
Y2UgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4NCBhdGFuKGZsb2F0M3g0IHgpIHsK
LSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0
YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBhdGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgZGV2aWNl
IGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MiBhdGFuKGZsb2F0NHgyIHgpIHsKLSAg
ICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
dGFuKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MyBhdGFuKGZsb2F0NHgz
IHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4o
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
dGFuKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGF0YW4oZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBhdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gYXRhbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhdGFuKHhbM11bM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHl6
ICovCi1ib29sNCBvcGVyYXRvci54eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnh4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eih1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl6KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci54eHl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBk
ZXZpY2UgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCog
eikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXoo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0
MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXd5
ICovCi1ib29sNCBvcGVyYXRvci54eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKKyAg
ICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl3eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxv
YXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54eXd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5d3koZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHks
IHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGxvZyAqLwotbmF0aXZlIGZs
b2F0IGxvZyhmbG9hdCk7Ci1mbG9hdDIgbG9nKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nKHhbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbG9nKGZsb2F0MyB4KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
bG9nKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gbG9nKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBsb2coeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbG9nKHhbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBsb2coZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MngzIGxvZyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CiB9Ci1mbG9hdDJ4NCBsb2coZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9n
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBsb2coeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2co
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0MngzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKIH0KLWZsb2F0M3gyIGxvZyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZGdyb3Vw
IGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKIH0KLWZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2co
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbG9nKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3g0IGxv
ZyhmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRo
cmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MiBsb2coZmxvYXQ0eDIg
eCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bG9nKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NHgzIGxvZyhmbG9h
dDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2coeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZGdy
b3VwIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0eDQg
bG9nKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1b
M10pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
bG9nKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0
aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnog
PSBjb3MoeCk7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd4ICovCi1ib29s
NCBvcGVyYXRvci53eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4
LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd4d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZs
b2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnd4d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJl
YWRncm91cCBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZs
b2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp3ICovCi1ib29sNCBvcGVyYXRv
ci55eHp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVh
ZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5S
ZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh6dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4encoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4
MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIExvYWQgKi8KLW5hdGl2ZSB1
aW50IExvYWQoVGV4dHVyZTFEPHVpbnQ+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQgTG9h
ZChUZXh0dXJlMURBcnJheTx1aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBMb2Fk
KFRleHR1cmUyRDx1aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBMb2FkKFRleHR1
cmUyREFycmF5PHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IExvYWQoVGV4dHVy
ZTNEPHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBMb2FkKFRleHR1cmUxRDx1
aW50Mj4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMURBcnJheTx1
aW50Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTJEPHVpbnQy
PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTNEPHVpbnQyPiwg
aW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgTG9hZChUZXh0dXJlMUQ8dWludDM+LCBpbnQg
bG9jYXRpb24pOwotbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBpbnQy
IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyRDx1aW50Mz4sIGludDIgbG9j
YXRpb24pOwotbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8dWludDM+LCBpbnQzIGxv
Y2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUzRDx1aW50Mz4sIGludDMgbG9jYXRp
b24pOwotbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTFEPHVpbnQ0PiwgaW50IGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkQ8dWludDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5h
dGl2ZSB1aW50NCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgaW50MyBsb2NhdGlvbik7Ci1u
YXRpdmUgdWludDQgTG9hZChUZXh0dXJlM0Q8dWludDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2
ZSBpbnQgTG9hZChUZXh0dXJlMUQ8aW50PiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9h
ZChUZXh0dXJlMURBcnJheTxpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9hZChU
ZXh0dXJlMkQ8aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTJE
QXJyYXk8aW50PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTNEPGlu
dD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDIgTG9hZChUZXh0dXJlMUQ8aW50Mj4sIGlu
dCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxREFycmF5PGludDI+LCBpbnQy
IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEPGludDI+LCBpbnQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIGludDMgbG9jYXRp
b24pOwotbmF0aXZlIGludDIgTG9hZChUZXh0dXJlM0Q8aW50Mj4sIGludDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDMgTG9hZChUZXh0dXJlMUQ8aW50Mz4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUg
aW50MyBMb2FkKFRleHR1cmUxREFycmF5PGludDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBp
bnQzIExvYWQoVGV4dHVyZTJEPGludDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIExv
YWQoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDMgTG9h
ZChUZXh0dXJlM0Q8aW50Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0
dXJlMUQ8aW50ND4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBMb2FkKFRleHR1cmUxREFy
cmF5PGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTJEPGlu
dDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0dXJlM0Q8aW50ND4sIGlu
dDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEPGZsb2F0PiwgaW50IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0PiwgaW50MiBs
b2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ+LCBpbnQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0PiwgaW50MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMUQ8ZmxvYXQyPiwgaW50IGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBpbnQyIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMkQ8ZmxvYXQyPiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgaW50MyBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTNEPGZsb2F0Mj4sIGludDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxRDxmbG9hdDM+LCBpbnQgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGludDIgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUyRDxmbG9hdDM+LCBpbnQyIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlM0Q8ZmxvYXQzPiwgaW50MyBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEPGZsb2F0ND4sIGludCBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTJEPGZsb2F0ND4sIGludDIgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIGludDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUzRDxmbG9hdDQ+LCBpbnQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgaW50MyBsb2Nh
dGlvbik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3l4ICovCi1ib29sNCBvcGVy
YXRvci53d3l4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3eXgodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3l4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl6dz0oYm9v
bDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6dz0odWludDQgdiwgdWludDMgYykgewotICAg
IHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXp3PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6dz0oZmxvYXQ0IHYsIGZs
b2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6dyAqLwotYm9vbDMgb3BlcmF0
b3IueXp3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0
aHJlYWQgZmxvYXQ0eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWlu
dDMgb3BlcmF0b3IueXp3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4
NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci55encoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55eng9ICovCi1ib29sMyBvcGVyYXRvci55eng9KGJvb2wzIHYsIGJv
b2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55eng9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAg
IHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzNdID0gY29zUmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp4PSh1aW50MyB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHksIGRldmljZSBmbG9hdCog
eikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotdWludDQgb3BlcmF0b3IueXp4PSh1
aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSwg
ZGV2aWNlIGZsb2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OwogfQotaW50MyBvcGVyYXRvci55eng9KGludDMgdiwgaW50MyBjKSB7Ci0gICAgaW50
MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55Owot
ICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNv
c1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp4PShpbnQ0IHYsIGludDMgYykgewotICAgIGlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRv
ci55eng9KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0
OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl6eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh3eiAqLwotYm9vbDQgb3BlcmF0b3IueHh3eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54
eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh3eihpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enl6ICovCi1ib29sNCBvcGVyYXRvci55
enl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6eXooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eih1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55enl6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXp5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enl6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5eihmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55enl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4dyAqLwotYm9vbDQgb3BlcmF0b3IueXp4dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXp4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56eXd4ICovCi1ib29sNCBvcGVyYXRvci56eXd4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4Myog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnp5d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gzIHgs
IHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9h
dCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5
d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRn
cm91cCBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHNpbiAq
LwotbmF0aXZlIGZsb2F0IHNpbihmbG9hdCk7Ci1mbG9hdDIgc2luKGZsb2F0MiB4KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gc2luKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9
Ci1mbG9hdDMgc2luKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IHNpbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgc2luKGZsb2F0
NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gc2luKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKLSAg
ICByZXN1bHRbM10gPSBzaW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBzaW4oZmxvYXQyeDIgeCkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCB0aHJl
YWRncm91cCBmbG9hdCogeikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2lu
KHgpOworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQy
eDMgc2luKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQyeDQgc2lu
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
c2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBz
aW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHNpbih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3Mo
ZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7Ci0gICAgZmxv
YXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0
aHJlYWRncm91cCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM10g
PSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4MyBzaW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2lu
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4o
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIHNpbihmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHNpbihmbG9hdDR4MyB4KSB7Ci0gICAg
ZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IHNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gc2luKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQy
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4NCBzaW4oZmxvYXQ0
eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gc2luKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBzaW4oeFszXVsz
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdy
b3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55d3p5ICovCi1ib29sNCBvcGVyYXRvci55d3p5KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K3ZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRn
cm91cCBmbG9hdDR4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXd6eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55d3p5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXkgKi8KLWJvb2wzIG9wZXJhdG9y
Lnp5eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenl5KHVpbnQzIHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQz
IG9wZXJhdG9yLnp5eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5eShpbnQzIHYpIHsKLSAgICBpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXkoaW50
NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyBvcGVyYXRvci56eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h3eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iud3h3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnd4d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56d3h3ICovCi1ib29sNCBvcGVyYXRvci56d3h3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56d3h3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend4dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eXkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnp3eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuend5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eXkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3l5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5PSAqLwotYm9vbDQgb3Bl
cmF0b3Iud3h5PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h5PSh1aW50NCB2LCB1
aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci53eHk9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5
PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl5eSAq
LwotYm9vbDQgb3BlcmF0b3IueHl5eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eXl5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eXkoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5eSh1aW50MiB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnh5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXl5
KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXkoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHl5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnh5eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl5
eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXl5KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6eCAqLwot
Ym9vbDQgb3BlcmF0b3IueXh6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci55eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4engodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXh6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4engoZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eChmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5ICovCi1ib29sMiBvcGVy
YXRvci55eShib29sMiB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVy
YXRvci55eShib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVy
YXRvci55eShib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50MiB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJh
dG9yLnl5KGludDIgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9y
Lnl5KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnl5
KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IueXko
ZmxvYXQyIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3Iu
eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0
b3IueXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci53enggKi8KLWJvb2wzIG9wZXJhdG9yLnd6eChib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci53engodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53engoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53engoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXp4ICovCi1ib29sNCBvcGVyYXRvci55
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl6eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgc2luY29zICovCi12b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxv
YXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5
ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOwotfQot
dm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHop
IHsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJl
YWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwg
dGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCog
eSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9
IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4Miog
eSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhy
ZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQy
eDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewordm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBAIC02MTA4LDQzICs2NzIyLDQzIEBAIHZvaWQgc2lu
Y29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4Miogeikgewor
dm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZGdy
b3VwIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBAIC02
MTUyLDE0NiArNjc2Niw2MyBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQz
eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4
MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4
NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVh
ZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBA
IC02Mjk5LDMwOTE4ICs2ODMwLDEyNzI4IEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVh
ZCBmbG9hdDR4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQg
ZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5j
b3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVszXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzNd
WzNdID0gY29zUmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5
LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNp
bih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKLX0KLXZvaWQg
c2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisKKworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlICovCituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0
aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2
aWNlIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdWludCwg
ZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRl
dmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHVpbnQs
IHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hh
bmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3Vp
bnQqLCB1aW50LCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRD
b21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJlYWQg
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91
cCBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBp
bnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkZ3JvdXAgdWludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRv
bWljX2ludCosIGludCwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKKworLyogRnVuY3Rpb25zIG5h
bWVkIHNtb290aHN0ZXAgKi8KK2Zsb2F0IHNtb290aHN0ZXAoZmxvYXQgZWRnZTAsIGZsb2F0IGVk
Z2UxLCBmbG9hdCB4KSB7CisgICAgZmxvYXQgdCA9IGNsYW1wKCh4IC0gZWRnZTApIC8gKGVkZ2Ux
IC0gZWRnZTApLCAwLCAxKTsKKyAgICByZXR1cm4gdCAqIHQgKiAoMyAtIDIgKiB0KTsKIH0KLXZv
aWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBzbW9vdGhzdGVwKGZsb2F0MiB4LCBmbG9hdDIgeSwg
ZmxvYXQyIHopIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNtb290aHN0
ZXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5
WzFdLCB6WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgs
IHRocmVhZCBmbG9hdDQqIHksIGRldmljZSBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CitmbG9hdDMgc21vb3Roc3RlcChmbG9hdDMgeCwg
ZmxvYXQzIHksIGZsb2F0MyB6KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNtb290aHN0
ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5
WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIg
eCwgdGhyZWFkIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CitmbG9hdDQgc21vb3Roc3RlcChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0
NCB6KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhb
MF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwg
elsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBzbW9vdGhzdGVwKHhbM10sIHlbM10sIHpbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRl
dmljZSBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CitmbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0
MngyIHopIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9v
dGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCBkZXZpY2Ug
ZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gyIHNtb290aHN0ZXAoZmxvYXQzeDIgeCwgZmxv
YXQzeDIgeSwgZmxvYXQzeDIgeikgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZs
b2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFk
IGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQyeDMgc21vb3Roc3RlcChmbG9hdDJ4MyB4LCBm
bG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQg
ZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDN4MyBzbW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZs
b2F0M3gzIHksIGZsb2F0M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsy
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZCBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4MyBz
bW9vdGhzdGVwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBd
LCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Ro
c3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9v
dGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNt
b290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSwgZGV2aWNlIGZs
b2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
K2Zsb2F0Mng0IHNtb290aHN0ZXAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikg
eworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3Rl
cCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhz
dGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290
aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21v
b3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBz
bW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgZGV2aWNl
IGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworZmxvYXQzeDQgc21vb3Ro
c3RlcChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAo
eFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3Rl
cCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhz
dGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6
KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7CitmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0s
IHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAo
eFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3Rl
cCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9p
ZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworCisvKiBG
dW5jdGlvbnMgbmFtZWQgZXhwICovCituYXRpdmUgZmxvYXQgZXhwKGZsb2F0KTsKK2Zsb2F0MiBl
eHAoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4cCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9h
dDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OworZmxvYXQzIGV4cChmbG9hdDMgeCkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGV4cCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1
bHQ7CitmbG9hdDQgZXhwKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBleHAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGV4cCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBleHAoeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4MiogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CitmbG9h
dDJ4MiBleHAoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAo
eFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgs
IHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9h
dCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDIgZXhwKGZsb2F0M3gy
IHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVh
ZCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgy
IGV4cChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQz
eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworZmxv
YXQyeDMgZXhwKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhw
KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDMg
ZXhwKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZv
aWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxv
YXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0Mng0IGV4cChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9h
dDR4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKKyAgICBm
bG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCBleHAoZmxvYXQ0eDQgeCkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4
cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGV4cCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBleHAoeFszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCog
eSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBz
aW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7CisKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBhbGwgKi8KK2Jvb2wgYWxsKGJvb2wgeCkgeworICAgIHJldHVybiB4Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wg
YWxsKGJvb2wyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0pOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhy
ZWFkIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sMyB4KSB7Cisg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNl
IGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2w0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5j
b3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbCh1aW50IHgpIHsKKyAgICByZXR1cm4g
eCAhPSAwOwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0MngzKiB5LCB0
aHJlYWQgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworYm9vbCBhbGwodWludDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4
NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworYm9v
bCBhbGwodWludDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWQg
ZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworYm9vbCBhbGwodWludDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGlu
dCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRl
dmljZSBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGludDIgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4
MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworYm9vbCBhbGwoaW50MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxv
YXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChpbnQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVh
ZCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0
IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgZGV2aWNl
IGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsK
K2Jvb2wgYWxsKGZsb2F0MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0g
IT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZp
Y2UgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDMgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRl
dmljZSBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworYm9v
bCBhbGwoZmxvYXQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhm
bG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0MngyIHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3gyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0MngzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0
NHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQg
eCwgZGV2aWNlIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wg
YWxsKGZsb2F0MngzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9h
dDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3gzIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxs
KGZsb2F0NHgzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMl0g
IT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRl
dmljZSBmbG9hdDN4NCogeSwgZGV2aWNlIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0Mng0IHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAg
ICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0
NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAg
ZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0
NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3g0IHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bM10gIT0gMCk7CisgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4
NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZs
b2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworYm9v
bCBhbGwoZmxvYXQ0eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bM10gIT0gMCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9h
dCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsK
K2Jvb2wgYWxsKGJvb2wyeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRl
dmljZSBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworYm9vbCBhbGwoYm9vbDN4MiB4KSB7CisgICAg
Ym9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2w0eDIg
eCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIGRl
dmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2wyeDMgeCkgeworICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5
LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBm
bG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK2Jv
b2wgYWxsKGJvb2wzeDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZs
b2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sNHgzIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0Mng0
IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
K2Jvb2wgYWxsKGJvb2wyeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBz
aW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4
MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Citib29s
IGFsbChib29sM3g0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
MV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworYm9vbCBhbGwoYm9vbDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzJdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4
NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7Ci0gICAg
ZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKworCisvKiBGdW5jdGlvbnMg
bmFtZWQgZmlyc3RiaXRsb3cgKi8KK3VpbnQgZmlyc3RiaXRsb3codWludCB4KSB7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gMzE7CisgICAgaWYgKCh4
ICYgdWludCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMzA7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjk7CisgICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjg7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDQpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8
IDUpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDYp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMjU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMjQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMjI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDIxOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMSkpICE9IDApCisgICAg
ICAgIHJldHVybiAyMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMTk7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDE4OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNCkpICE9IDApCisgICAgICAgIHJl
dHVybiAxNzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMTY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDE1OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNykpICE9IDApCisgICAgICAgIHJldHVybiAx
NDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTgpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTM7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEyOwor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMCkpICE9IDApCisgICAgICAgIHJldHVybiAxMTsKKyAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMjEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTA7CisgICAg
aWYgKCh4ICYgdWludCgxIDw8IDIyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDk7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDIzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDg7CisgICAgaWYgKCh4
ICYgdWludCgxIDw8IDI0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDc7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDI1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDY7CisgICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDI2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDU7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDI3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8
IDI4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI5
KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDMyOwogfQotdm9pZCBzaW5jb3MoZmxv
YXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4Miogeikgewot
ICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwordWludCBmaXJzdGJpdGxvdyhpbnQgeCkgeworICAgIHJldHVybiBmaXJzdGJpdGxvdyh1
aW50KHgpKTsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0
KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsK
K3VpbnQyIGZpcnN0Yml0bG93KHVpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3co
eFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVh
ZGdyb3VwIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNv
cyh4KTsKK3VpbnQzIGZpcnN0Yml0bG93KHVpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3Ri
aXRsb3coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIq
IHksIHRocmVhZCBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKK3VpbnQ0IGZpcnN0Yml0bG93KHVpbnQ0IHgpIHsKKyAgICB1aW50NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRsb3coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gZmlyc3RiaXRsb3coeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZCBmbG9h
dDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OwordWludDIgZmlyc3RiaXRsb3coaW50MiB4KSB7Cisg
ICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwordWlu
dDMgZmlyc3RiaXRsb3coaW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhy
ZWFkIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwordWludDQgZmlyc3Ri
aXRsb3coaW50NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0
Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93
KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0
aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0Mng0
IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPD0gKi8KK25hdGl2ZSBib29sIG9wZXJhdG9y
PD0oaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I8PSh1aW50LCB1aW50KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPD0oZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcjw9
KHVpbnQyLCB1aW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I8PSh1aW50MywgdWludDMpOwor
bmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVy
YXRvcjw9KGludDIsIGludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oaW50MywgaW50Myk7
CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8PShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVy
YXRvcjw9KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcjw9KGZsb2F0Mywg
ZmxvYXQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcjw9KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2
ZSBib29sMngyIG9wZXJhdG9yPD0oZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sM3gy
IG9wZXJhdG9yPD0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9y
PD0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPD0oZmxvYXQy
eDMsIGZsb2F0MngzKTsKK25hdGl2ZSBib29sM3gzIG9wZXJhdG9yPD0oZmxvYXQzeDMsIGZsb2F0
M3gzKTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9yPD0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBib29sMng0IG9wZXJhdG9yPD0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBib29s
M3g0IG9wZXJhdG9yPD0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJh
dG9yPD0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRkeF9maW5l
ICovCitmbG9hdCBkZHhfZmluZShmbG9hdCB4KSB7CisgICAgcmV0dXJuIGRkeCh4KTsKIH0KLXZv
aWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxv
YXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ZmxvYXQyIGRkeF9maW5lKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDMgZGR4X2ZpbmUoZmxvYXQzIHgpIHsKKyAg
ICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRn
cm91cCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NCBkZHhfZmluZShmbG9hdDQgeCkgewor
ICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gZGR4X2ZpbmUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gZGR4X2ZpbmUoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJl
YWQgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngyIGRkeF9maW5lKGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsx
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRo
cmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDIgZGR4X2ZpbmUoZmxvYXQz
eDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmlu
ZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
ZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVh
ZCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIGRkeF9m
aW5lKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZGR4X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUo
eFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9
IGNvcyh4KTsKK2Zsb2F0MngzIGRkeF9maW5lKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4
LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gzIGRkeF9maW5lKGZsb2F0
M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2Zp
bmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIGRldmlj
ZSBmbG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgs
IHRocmVhZGdyb3VwIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0Mngy
IHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0
MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Zs
b2F0Mng0IGRkeF9maW5lKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4
X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0M3g0IGRkeF9maW5lKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2Zp
bmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4
X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZGR4X2ZpbmUoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDQgZGR4
X2ZpbmUoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIGRl
dmljZSBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciBjYXN0ICovCituYXRpdmUgb3Bl
cmF0b3IgdWludChpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQoZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGludCh1aW50KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQoZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0KHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0KGludCk7CituYXRpdmUg
b3BlcmF0b3IgaW50KGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wodWludCk7CituYXRpdmUg
b3BlcmF0b3IgYm9vbChpbnQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2woZmxvYXQpOworbmF0aXZl
IG9wZXJhdG9yIGJvb2wyKGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2ws
IGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wyLCBib29sKTsKK25hdGl2
ZSBvcGVyYXRvciBib29sMyhib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbDIsIGJvb2ws
IGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wyLCBib29sKTsKK25hdGl2
ZSBvcGVyYXRvciBib29sNChib29sLCBib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9v
bDQoYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVyYXRvciBib29sNChib29sMywgYm9vbCk7Citu
YXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQy
KHVpbnQsIHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQsIHVpbnQpOwor
bmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50
Myh1aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludCwg
dWludCk7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQsIHVpbnQpOworbmF0aXZl
IG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50
NCh1aW50LCB1aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQy
KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50MywgdWludCk7CituYXRpdmUgb3BlcmF0b3Ig
dWludDQodWludCwgdWludDMpOworbmF0aXZlIG9wZXJhdG9yIGludDIoaW50LCBpbnQpOworbmF0
aXZlIG9wZXJhdG9yIGludDMoaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50Myhp
bnQyLCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDMoaW50LCBpbnQyKTsKK25hdGl2ZSBvcGVy
YXRvciBpbnQ0KGludCwgaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQy
LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludDIsIGludCk7CituYXRp
dmUgb3BlcmF0b3IgaW50NChpbnQsIGludCwgaW50Mik7CituYXRpdmUgb3BlcmF0b3IgaW50NChp
bnQyLCBpbnQyKTsKK25hdGl2ZSBvcGVyYXRvciBpbnQ0KGludDMsIGludCk7CituYXRpdmUgb3Bl
cmF0b3IgaW50NChpbnQsIGludDMpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MihmbG9hdCwgZmxv
YXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2
ZSBvcGVyYXRvciBmbG9hdDMoZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQz
KGZsb2F0LCBmbG9hdDIpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0MiwgZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0MiwgZmxvYXQpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZsb2F0Mik7CituYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQzLCBm
bG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdDMpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0MngyKGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4
MyhmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQ0LCBmbG9h
dDQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIpOwor
bmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gzKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIG9wZXJh
dG9yIGZsb2F0NHgyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgb3Bl
cmF0b3IgZmxvYXQ0eDMoZmxvYXQzLCBmbG9hdDMsIGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDR4NChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0MngyKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDJ4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9y
IGZsb2F0M3gzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgyKGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0eDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxv
YXQ0eDQoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVy
YXRvciBib29sMngzKGJvb2wzLCBib29sMyk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4NChib29s
NCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDIoYm9vbDIsIGJvb2wyLCBib29sMik7
CituYXRpdmUgb3BlcmF0b3IgYm9vbDN4Myhib29sMywgYm9vbDMsIGJvb2wzKTsKK25hdGl2ZSBv
cGVyYXRvciBib29sM3g0KGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJv
b2w0eDIoYm9vbDIsIGJvb2wyLCBib29sMiwgYm9vbDIpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0
eDMoYm9vbDMsIGJvb2wzLCBib29sMywgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQo
Ym9vbDQsIGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sMng0KGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJh
dG9yIGJvb2wzeDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUg
b3BlcmF0b3IgYm9vbDN4Myhib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
LCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sM3g0KGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwor
bmF0aXZlIG9wZXJhdG9yIGJvb2w0eDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDR4Myhib29sLCBib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sKTsK
K25hdGl2ZSBvcGVyYXRvciBib29sNHg0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgbG9hZCAqLworbmF0aXZlIGludCBsb2FkKGRl
dmljZSBhdG9taWNfaW50Kik7CituYXRpdmUgdWludCBsb2FkKGRldmljZSBhdG9taWNfdWludCop
OworbmF0aXZlIGludCBsb2FkKHRocmVhZGdyb3VwIGF0b21pY19pbnQqKTsKK25hdGl2ZSB1aW50
IGxvYWQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNv
dW50X2JpdHMgKi8KKworLyogRnVuY3Rpb25zIG5hbWVkIHJzcXJ0ICovCitmbG9hdCByc3FydChm
bG9hdCB4KSB7CisgICAgcmV0dXJuIDEgLyBzcXJ0KHgpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQz
eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDIgcnNxcnQoZmxv
YXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSwgZGV2aWNlIGZs
b2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDMgcnNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJz
cXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJzcXJ0KHhbMl0pOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwg
ZGV2aWNlIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0NCByc3FydChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gcnNxcnQoeFsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CitmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKK2Zsb2F0M3gyIHJzcXJ0KGZs
b2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDIg
cnNxcnQoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
c3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKKyAgICByZXR1cm4g
cmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIHJzcXJ0
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0
M3gzIHJzcXJ0KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNx
cnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgzIHJzcXJ0KGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQo
eFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgs
IHRocmVhZGdyb3VwIGZsb2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCByc3FydChm
bG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJz
cXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3g0IHJzcXJ0KGZsb2F0M3g0IHgp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdy
b3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCByc3FydChmbG9hdDR4NCB4
KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJz
cXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IHJzcXJ0KHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgc3FydCAqLworZmxvYXQgc3FydChmbG9hdCB4KSB7
CisgICAgcmV0dXJuIHBvdyh4LCAwLjUpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBzcXJ0KGZsb2F0MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworZmxvYXQzIHNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OworZmxvYXQ0IHNxcnQoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlICovCi1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50
LCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhj
aGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOwotbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWlu
dCwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4
Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2
ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29t
cGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVhZGdyb3VwIGlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAg
YXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50
LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFy
ZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkZ3Jv
dXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFk
Z3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6ICovCi1ib29sMyBvcGVyYXRvci54d3ooYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gyIHNxcnQoZmxvYXQzeDIgeCkg
eworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueHd6KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4MiBzcXJ0KGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNx
cnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh3
eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0MngzIHNxcnQoZmxvYXQy
eDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3Fy
dCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh3eihm
bG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDN4MyBzcXJ0KGZsb2F0
M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd6eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd6eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHNxcnQoZmxvYXQ0eDMgeCkg
eworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3p4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQyeDQgc3FydChmbG9hdDJ4NCB4
KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci53enh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3Fy
dCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iud3p4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7CitmbG9hdDR4NCBzcXJ0KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3Fy
dCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IHNxcnQoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc3FydCh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh3eSAqLwot
Ym9vbDQgb3BlcmF0b3Iuenh3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56eHd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgYWNvcyAqLworbmF0aXZlIGZsb2F0IGFjb3MoZmxv
YXQpOworZmxvYXQyIGFjb3MoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHd5KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGFjb3MoZmxvYXQzIHgp
IHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhY29zKHhbMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eShmbG9hdDQgdikgeworZmxv
YXQ0IGFjb3MoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53enh3ICovCi1ib29sNCBvcGVyYXRvci53enh3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWNvcyh4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBhY29zKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnd6eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnd6eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDIgYWNvcyhmbG9hdDN4MiB4KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXogKi8K
LWJvb2wzIG9wZXJhdG9yLnp5eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owor
ZmxvYXQ0eDIgYWNvcyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3Iuenl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7CitmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnp5eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OworZmxvYXQzeDMgYWNvcyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11
aW50MyBvcGVyYXRvci56eXoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zs
b2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWNv
cyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56eXooaW50
MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4NCBhY29zKGZsb2F0Mng0IHgp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBhY29zKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9y
Lnp5eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3g0IGFjb3MoZmxv
YXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29z
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp5eihmbG9hdDMgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4NCBhY29zKGZsb2F0NHg0IHgpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp5eihmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPiAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I+KGludCwg
aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPih1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9w
ZXJhdG9yPihmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPih1aW50MiwgdWlu
dDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPih1aW50MywgdWludDMpOworbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPih1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihpbnQyLCBp
bnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj4oaW50MywgaW50Myk7CituYXRpdmUgYm9vbDQg
b3BlcmF0b3I+KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihmbG9hdDIsIGZs
b2F0Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBi
b29sNCBvcGVyYXRvcj4oZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I+
KGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj4oZmxvYXQzeDIs
IGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPihmbG9hdDR4MiwgZmxvYXQ0eDIp
OworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I+KGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUg
Ym9vbDN4MyBvcGVyYXRvcj4oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sNHgzIG9w
ZXJhdG9yPihmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+KGZs
b2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgYm9vbDN4NCBvcGVyYXRvcj4oZmxvYXQzeDQsIGZs
b2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPihmbG9hdDR4NCwgZmxvYXQ0eDQpOwor
CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3ImICovCitib29sIG9wZXJhdG9yJihib29sIGEs
IGJvb2wgYikgeworICAgIHJldHVybiBhICYmIGI7CiB9CituYXRpdmUgaW50IG9wZXJhdG9yJihp
bnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRvciYodWludCwgdWludCk7CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eXl6ICovCi1ib29sNCBvcGVyYXRvci55eXl6KGJvb2wzIHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CisvKiBGdW5j
dGlvbnMgbmFtZWQgdGFuaCAqLworbmF0aXZlIGZsb2F0IHRhbmgoZmxvYXQpOworZmxvYXQyIHRh
bmgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbmgo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbDQgb3BlcmF0b3IueXl5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzIHRhbmgoZmxvYXQzIHgpIHsKKyAgICBmbG9h
dDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
dGFuaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0YW5oKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eXl6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDQgdGFuaChmbG9hdDQgeCkgeworICAg
IGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuaCh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSB0YW5oKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRhbmgoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gdGFuaCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iu
eXl5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQyeDIgdGFuaChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueXl5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0M3gyIHRhbmgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci55eXl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7Cisg
ICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5o
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
dGFuaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5
eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQyeDMgdGFuaChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyB0YW5oKGZsb2F0M3gzIHgpIHsK
KyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRh
bmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eXcgKi8K
LWJvb2w0IG9wZXJhdG9yLnh6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIHRhbmgoZmxvYXQ0eDMgeCkgeworICAgIGZs
b2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueHp5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgdGFuaChmbG9hdDJ4NCB4KSB7CisgICAg
ZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFu
aCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enl3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxv
YXQzeDQgdGFuaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5o
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp5dyhm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
CitmbG9hdDR4NCB0YW5oKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IHRhbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgc21vb3Roc3RlcCAqLwotZmxvYXQgc21vb3Ro
c3RlcChmbG9hdCBlZGdlMCwgZmxvYXQgZWRnZTEsIGZsb2F0IHgpIHsKLSAgICBmbG9hdCB0ID0g
Y2xhbXAoKHggLSBlZGdlMCkgLyAoZWRnZTEgLSBlZGdlMCksIDAsIDEpOwotICAgIHJldHVybiB0
ICogdCAqICgzIC0gMiAqIHQpOwotfQotZmxvYXQyIHNtb290aHN0ZXAoZmxvYXQyIHgsIGZsb2F0
MiB5LCBmbG9hdDIgeikgeworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKiAqLworbmF0aXZl
IGludCBvcGVyYXRvciooaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3IqKHVpbnQsIHVp
bnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQpOworbmF0aXZlIHVpbnQy
IG9wZXJhdG9yKih1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50Miwg
dWludCk7CituYXRpdmUgdWludDIgb3BlcmF0b3IqKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50
MyBvcGVyYXRvcioodWludDMsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvcioodWludDMs
IHVpbnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKih1aW50LCB1aW50Myk7CituYXRpdmUgdWlu
dDQgb3BlcmF0b3IqKHVpbnQ0LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3IqKHVpbnQ0
LCB1aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvcioodWludCwgdWludDQpOworbmF0aXZlIGlu
dDIgb3BlcmF0b3IqKGludDIsIGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3IqKGludDIsIGlu
dCk7CituYXRpdmUgaW50MiBvcGVyYXRvciooaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQzIG9wZXJh
dG9yKihpbnQzLCBpbnQzKTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQzLCBpbnQpOworbmF0
aXZlIGludDMgb3BlcmF0b3IqKGludCwgaW50Myk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50
NCwgaW50NCk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50NCwgaW50KTsKK25hdGl2ZSBpbnQ0
IG9wZXJhdG9yKihpbnQsIGludDQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQyLCBm
bG9hdDIpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQyLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQyIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3Iq
KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0MywgZmxvYXQp
OworbmF0aXZlIGZsb2F0MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQ0
IG9wZXJhdG9yKihmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKihmbG9h
dDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDQpOworbmF0
aXZlIGZsb2F0MngyIG9wZXJhdG9yKihmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0
MngyIG9wZXJhdG9yKihmbG9hdDJ4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9y
KihmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdDN4Miwg
ZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdDN4MiwgZmxvYXQpOwor
bmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yKihmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yKihmbG9hdDR4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKihmbG9hdCwg
ZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKihmbG9hdDJ4MywgZmxvYXQyeDMp
OworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKihmbG9hdDJ4MywgZmxvYXQpOworbmF0aXZlIGZs
b2F0MngzIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJh
dG9yKihmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKihmbG9h
dDN4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQzeDMp
OworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yKihmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZl
IGZsb2F0NHgzIG9wZXJhdG9yKihmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgzIG9w
ZXJhdG9yKihmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9h
dDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9hdDJ4NCwgZmxv
YXQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyeDQpOworbmF0aXZl
IGZsb2F0M3g0IG9wZXJhdG9yKihmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0M3g0
IG9wZXJhdG9yKihmbG9hdDN4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKihm
bG9hdCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdDR4NCwgZmxv
YXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdDR4NCwgZmxvYXQpOworbmF0
aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQ0eDQpOworCisvKiBGdW5jdGlvbnMg
bmFtZWQgY29zICovCituYXRpdmUgZmxvYXQgY29zKGZsb2F0KTsKK2Zsb2F0MiBjb3MoZmxvYXQy
IHgpIHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNtb290aHN0ZXAoeFsw
XSwgeVswXSwgelswXSk7Ci0gICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5WzFdLCB6
WzFdKTsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgc21vb3Roc3RlcChmbG9hdDMgeCwg
ZmxvYXQzIHksIGZsb2F0MyB6KSB7CitmbG9hdDMgY29zKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbMF0gPSBjb3Mo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgs
IGZsb2F0NCB5LCBmbG9hdDQgeikgeworZmxvYXQ0IGNvcyhmbG9hdDQgeCkgewogICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IHNtb290aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc21v
b3Roc3RlcCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBjb3MoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mngy
IHNtb290aHN0ZXAoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgeworZmxvYXQy
eDIgY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgc21vb3Roc3RlcChmbG9hdDJ4MyB4LCBmbG9hdDJ4
MyB5LCBmbG9hdDJ4MyB6KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHksIGZsb2F0Mng0IHopIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBj
b3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIg
c21vb3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CitmbG9hdDN4
MiBjb3MoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgc21vb3Roc3RlcChmbG9hdDN4MyB4LCBmbG9h
dDN4MyB5LCBmbG9hdDN4MyB6KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1b
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBzbW9vdGhzdGVwKGZsb2F0M3g0
IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlb
Ml1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwg
eVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIHNtb290aHN0ZXAoZmxvYXQ0eDIgeCwgZmxvYXQ0
eDIgeSwgZmxvYXQ0eDIgeikgeworZmxvYXQ0eDIgY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4
WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBjb3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIHNtb290aHN0
ZXAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0NHgzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc21vb3Roc3Rl
cCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKK2Zsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZs
b2F0NHg0IHksIGZsb2F0NHg0IHopIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVsz
XSwgelsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNd
WzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwg
eVszXVsyXSwgelszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNdWzNd
LCB5WzNdWzNdLCB6WzNdWzNdKTsKK2Zsb2F0M3gzIGNvcyhmbG9hdDN4MyB4KSB7CisgICAgZmxv
YXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
b3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXl6ICovCi1ib29sNCBvcGVyYXRvci53
eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7CitmbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l5eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQy
eDQgY29zKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53eXl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OworZmxvYXQzeDQgY29zKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53
eXl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKK2Zsb2F0NHg0IGNvcyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3Mo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3cgKi8KLWJvb2wyIG9wZXJhdG9yLnd3KGJvb2w0
IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
cj09ICovCituYXRpdmUgYm9vbCBvcGVyYXRvcj09KGJvb2wsIGJvb2wpOworbmF0aXZlIGJvb2wg
b3BlcmF0b3I9PShpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcj09KHVpbnQsIHVpbnQp
OworbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9w
ZXJhdG9yPT0oYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj09KGJvb2wzLCBi
b29sMyk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PShib29sNCwgYm9vbDQpOworbmF0aXZlIGJv
b2wyIG9wZXJhdG9yPT0odWludDIsIHVpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj09KHVp
bnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PSh1aW50NCwgdWludDQpOworbmF0
aXZlIGJvb2wyIG9wZXJhdG9yPT0oaW50MiwgaW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I9
PShpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj09KGludDQsIGludDQpOworbmF0
aXZlIGJvb2wyIG9wZXJhdG9yPT0oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGJvb2wzIG9wZXJh
dG9yPT0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0oZmxvYXQ0LCBm
bG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I9PShmbG9hdDJ4MiwgZmxvYXQyeDIpOwor
bmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I9PShmbG9hdDN4MiwgZmxvYXQzeDIpOworbmF0aXZlIGJv
b2w0eDIgb3BlcmF0b3I9PShmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGJvb2wyeDMgb3Bl
cmF0b3I9PShmbG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I9PShm
bG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I9PShmbG9hdDR4Mywg
ZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9PShmbG9hdDJ4NCwgZmxvYXQyeDQp
OworbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9PShmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZl
IGJvb2w0eDQgb3BlcmF0b3I9PShmbG9hdDR4NCwgZmxvYXQ0eDQpOworbmF0aXZlIGJvb2wyeDIg
b3BlcmF0b3I9PShib29sMngyLCBib29sMngyKTsKK25hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0o
Ym9vbDN4MiwgYm9vbDN4Mik7CituYXRpdmUgYm9vbDR4MiBvcGVyYXRvcj09KGJvb2w0eDIsIGJv
b2w0eDIpOworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I9PShib29sMngzLCBib29sMngzKTsKK25h
dGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oYm9vbDN4MywgYm9vbDN4Myk7CituYXRpdmUgYm9vbDR4
MyBvcGVyYXRvcj09KGJvb2w0eDMsIGJvb2w0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9
PShib29sMng0LCBib29sMng0KTsKK25hdGl2ZSBib29sM3g0IG9wZXJhdG9yPT0oYm9vbDN4NCwg
Ym9vbDN4NCk7CituYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj09KGJvb2w0eDQsIGJvb2w0eDQpOwor
CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+PiAqLworbmF0aXZlIGludCBvcGVyYXRvcj4+
KGludCwgdWludCk7CituYXRpdmUgdWludCBvcGVyYXRvcj4+KHVpbnQsIHVpbnQpOworCisvKiBG
dW5jdGlvbnMgbmFtZWQgcmVmbGVjdCAqLworZmxvYXQgcmVmbGVjdChmbG9hdCBpLCBmbG9hdCBu
KSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KLXVpbnQyIG9wZXJhdG9y
Lnd3KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MiByZWZsZWN0KGZs
b2F0MiBpLCBmbG9hdDIgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7CiB9
Ci1pbnQyIG9wZXJhdG9yLnd3KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9h
dDMgcmVmbGVjdChmbG9hdDMgaSwgZmxvYXQzIG4pIHsKKyAgICByZXR1cm4gaSAtIDIgKiBuICog
ZG90KGksIG4pOwogfQotZmxvYXQyIG9wZXJhdG9yLnd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OworZmxvYXQ0IHJlZmxlY3QoZmxvYXQ0IGksIGZsb2F0NCBuKSB7CisgICAg
cmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yW10gKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yW10oYm9vbDIsIHVpbnQpOwotbmF0aXZl
IGJvb2wgb3BlcmF0b3JbXShib29sMywgdWludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcltdKGJv
b2w0LCB1aW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yW10odWludDIsIHVpbnQpOwotbmF0aXZl
IHVpbnQgb3BlcmF0b3JbXSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcltdKHVp
bnQ0LCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQyLCB1aW50KTsKLW5hdGl2ZSBp
bnQgb3BlcmF0b3JbXShpbnQzLCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQ0LCB1
aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvcltdKGZsb2F0MiwgdWludCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3JbXShmbG9hdDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yW10oZmxv
YXQ0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9hdDJ4MiwgdWludCk7Ci1u
YXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQyeDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBv
cGVyYXRvcltdKGZsb2F0Mng0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9h
dDN4MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQzeDMsIHVpbnQpOwot
bmF0aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0M3g0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIg
b3BlcmF0b3JbXShmbG9hdDR4MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxv
YXQ0eDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0NHg0LCB1aW50KTsK
LW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wyeDIsIHVpbnQpOwotbmF0aXZlIGJvb2wzIG9w
ZXJhdG9yW10oYm9vbDJ4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3JbXShib29sMng0
LCB1aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wzeDIsIHVpbnQpOwotbmF0aXZl
IGJvb2wzIG9wZXJhdG9yW10oYm9vbDN4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3Jb
XShib29sM3g0LCB1aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2w0eDIsIHVpbnQp
OwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yW10oYm9vbDR4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQg
b3BlcmF0b3JbXShib29sNHg0LCB1aW50KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl5d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXl3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5
d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXd6KGZsb2F0NCB2KSB7
CisvKiBGdW5jdGlvbnMgbmFtZWQgbGl0ICovCitmbG9hdDQgbGl0KGZsb2F0IG5fZG90X2wsIGZs
b2F0IG5fZG90X2gsIGZsb2F0IG0pIHsKKyAgICBmbG9hdCBhbWJpZW50ID0gMTsKKyAgICBmbG9h
dCBkaWZmdXNlID0gbWF4KDAsIG5fZG90X2wpOworICAgIGZsb2F0IHNwZWN1bGFyID0gbl9kb3Rf
bCA8IDAgfHwgbl9kb3RfaCA8IDAgPyAwIDogbl9kb3RfaCAqIG07CiAgICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKKyAgICByZXN1bHQueCA9IGFtYmllbnQ7Cisg
ICAgcmVzdWx0LnkgPSBkaWZmdXNlOworICAgIHJlc3VsdC56ID0gc3BlY3VsYXI7CisgICAgcmVz
dWx0LncgPSAxOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBl
eHAgKi8KLW5hdGl2ZSBmbG9hdCBleHAoZmxvYXQpOwotZmxvYXQyIGV4cChmbG9hdDIgeCkgewor
LyogRnVuY3Rpb25zIG5hbWVkIGxvZzIgKi8KK2Zsb2F0IGxvZzIoZmxvYXQgeCkgeworICAgIHJl
dHVybiBsb2coeCkgLyBsb2coZmxvYXQoMikpOworfQorZmxvYXQyIGxvZzIoZmxvYXQyIHgpIHsK
ICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBsb2cyKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgZXhwKGZs
b2F0MyB4KSB7CitmbG9hdDMgbG9nMihmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBleHAoZmxvYXQ0IHgpIHsKK2Zsb2F0NCBsb2cy
KGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBleHAoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGV4cCh4WzJd
KTsKLSAgICByZXN1bHRbM10gPSBleHAoeFszXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gbG9nMih4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQyeDIgZXhwKGZsb2F0MngyIHgpIHsKK2Zsb2F0MngyIGxvZzIoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9n
Mih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgZXhwKGZsb2F0Mngz
IHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsy
XSk7CitmbG9hdDN4MiBsb2cyKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0Mng0IGV4cChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGV4cCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CitmbG9hdDR4MiBsb2cyKGZs
b2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9n
Mih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDN4MiBleHAoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGV4cCh4WzJdWzFdKTsKK2Zsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgeworICAgIGZs
b2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gz
IGxvZzIoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZXhwKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVsz
XSk7CitmbG9hdDR4MyBsb2cyKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IGxvZzIoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIGV4cChm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4
cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBleHAoeFszXVsxXSk7CitmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cy
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBleHAoZmxvYXQ0eDMg
eCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKK2Zsb2F0M3g0IGxvZzIoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9n
Mih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZXhwKGZsb2F0NHg0IHgpIHsKK2Zsb2F0NHg0IGxv
ZzIoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBl
eHAoeFszXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbG9nMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGxvZzIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9n
Mih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IGxvZzIoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbG9nMih4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enh3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenh3PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsK
LSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5h
bWVkIG5vcm1hbGl6ZSAqLworZmxvYXQgbm9ybWFsaXplKGZsb2F0IHgpIHsKKyAgICByZXR1cm4g
eCAvIGxlbmd0aCh4KTsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4dz0odWludDQgdiwgdWludDMgYykg
ewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0
MiBub3JtYWxpemUoZmxvYXQyIHgpIHsKKyAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLWlu
dDQgb3BlcmF0b3Iuenh3PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQzIG5vcm1hbGl6ZShmbG9hdDMgeCkgewor
ICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4dz0oZmxvYXQ0
IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBj
Lng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK2Zsb2F0NCBub3JtYWxpemUoZmxvYXQ0IHgpIHsKKyAgICByZXR1cm4geCAvIGxl
bmd0aCh4KTsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eiAqLwotYm9vbDMg
b3BlcmF0b3Iuenp6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnp6eihib29sNCB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56enoo
dWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgb3BlcmF0b3Iuenp6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenp6KGludDMgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9y
Lnp6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OworCisvKiBGdW5jdGlvbnMgbmFtZWQgbGRleHAgKi8KK2Zsb2F0IGxkZXhwKGZsb2F0IHgsIGZs
b2F0IGUpIHsKKyAgICByZXR1cm4geCAqIHBvdygyLCBlKTsKIH0KLWZsb2F0MyBvcGVyYXRvci56
enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyIGxkZXhwKGZs
b2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56enooZmxvYXQ0IHYpIHsKK2Zs
b2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53
end4ICovCi1ib29sNCBvcGVyYXRvci53end4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnd6d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRbMF0gPSBsZGV4cCh4WzBdLCB5WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsZGV4cCh4WzJd
LCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53end4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0
IGxkZXhwKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwg
eVsxXSk7CisgICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNd
ID0gbGRleHAoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci53end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKK2Zsb2F0MngyIGxkZXhwKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5enogKi8KLWJvb2w0IG9wZXJhdG9yLnl5enooYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zs
b2F0M3gyIGxkZXhwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgyIGxkZXhwKGZsb2F0NHgy
IHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5enoodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngzIGxk
ZXhwKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnl5enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0
M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3IueXl6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl6eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IGxkZXhwKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRl
eHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXp6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zs
b2F0M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci55eXp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHg0IGxkZXhwKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVsz
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnl5d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworLyog
RnVuY3Rpb25zIG5hbWVkIGFicyAqLwordWludCBhYnModWludCB4KSB7CisgICAgcmV0dXJuIHg7
CiB9Ci11aW50NCBvcGVyYXRvci55eXd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBhYnMoaW50
IHgpIHsKKyAgICBpZiAoeCA8IDApCisgICAgICAgIHJldHVybiAteDsKKyAgICByZXR1cm4geDsK
IH0KLWludDQgb3BlcmF0b3IueXl3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgYWJzKGZsb2F0
IHgpIHsKKyAgICBpZiAoeCA8IDApCisgICAgICAgIHJldHVybiAteDsKKyAgICByZXR1cm4geDsK
IH0KLWZsb2F0NCBvcGVyYXRvci55eXd4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK3VpbnQyIGFicyh1aW50MiB4KSB7CisgICAgdWlu
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
YnMoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6eCAqLwotYm9vbDMgb3BlcmF0b3Iuenp4KGJvb2wzIHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Cit1aW50MyBhYnModWludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhYnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3Bl
cmF0b3Iuenp4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cit1aW50NCBhYnMo
dWludDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQz
IG9wZXJhdG9yLnp6eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworaW50MiBh
YnMoaW50MiB4KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDMgb3BlcmF0b3Iuenp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitpbnQz
IGFicyhpbnQzIHgpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56engoaW50MyB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7CitpbnQ0IGFicyhpbnQ0IHgpIHsKKyAgICBpbnQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenp4KGludDQgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyIGFicyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp6eChmbG9hdDMg
dikgeworZmxvYXQzIGFicyhmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cisg
ICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci56engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0
IGFicyhmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJz
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gYWJzKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHggKi8KLWJvb2wzIG9wZXJhdG9yLnh4
eChib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDIgYWJzKGZsb2F0
MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHgoYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gyIGFicyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQz
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKK2Zsb2F0NHgyIGFicyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBh
YnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFi
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OworZmxvYXQyeDMgYWJzKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OworZmxvYXQzeDMgYWJzKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBhYnMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4
eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDMgYWJzKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFicyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHh4KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OworZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
CitmbG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGFicyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50NCB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDR4NCBhYnMoZmxvYXQ0eDQgeCkgeworICAgIGZs
b2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
YnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IGFicyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFi
cyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBhYnMoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCByb3VuZCAqLworbmF0aXZlIGZs
b2F0IHJvdW5kKGZsb2F0KTsKK2Zsb2F0MiByb3VuZChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91
bmQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxv
YXQzIHYpIHsKK2Zsb2F0MyByb3VuZChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OworZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByb3VuZCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSByb3VuZCh4WzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4
eSAqLwotYm9vbDQgb3BlcmF0b3IueXh4eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgcm91bmQoZmxvYXQyeDIgeCkgewor
ICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
b3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueXh4eShib29sMyB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgcm91bmQoZmxv
YXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0
b3IueXh4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh4eSh1aW50MiB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQy
eDMgcm91bmQoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3IueXh4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh4eSh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgcm91bmQo
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByb3Vu
ZCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGlu
dDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQyeDQgcm91bmQoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBy
b3VuZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGludDMgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgcm91bmQoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3Vu
ZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQg
cm91bmQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
b3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3Vu
ZCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSByb3VuZCh4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQyIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtdWwgKi8KK3VpbnQgbXVsKHVpbnQgeCwgdWludCB5KSB7
CisgICAgcmV0dXJuIHggKiB5OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQzIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7CitpbnQgbXVsKGludCB4LCBpbnQgeSkgeworICAgIHJldHVybiB4ICogeTsKIH0K
LWZsb2F0NCBvcGVyYXRvci55eHh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgbXVsKGZs
b2F0IHgsIGZsb2F0IHkpIHsKKyAgICByZXR1cm4geCAqIHk7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eXl5ICovCi1ib29sNCBvcGVyYXRvci53eXl5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtdWwodWlu
dCB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5
WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11
aW50NCBvcGVyYXRvci53eXl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7CisgICAgdWlu
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhb
MV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXkoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MyBt
dWwodWludCB4LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHgg
KiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l5eShmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1
aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsy
XSA9IHhbMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53eXd3ICovCi1ib29sNCBvcGVyYXRvci53eXd3KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Cit1aW50NCBtdWwodWludCB4
LCB1aW50NCB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwor
ICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci53eXd3KHVpbnQ0IHYpIHsKK3VpbnQ0IG11bCh1aW50NCB4LCB1aW50IHkpIHsKICAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0WzBd
ID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0g
eFsyXSAqIHk7CisgICAgcmVzdWx0WzNdID0geFszXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3Iud3l3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYudzsKK2ludDIgbXVsKGludCB4LCBpbnQyIHkpIHsKKyAgICBpbnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICog
eVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3coZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OworaW50
MiBtdWwoaW50MiB4LCBpbnQgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXl3ICovCi1ib29sNCBvcGVyYXRv
ci55eXl3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7CitpbnQzIG11bChpbnQgeCwgaW50MyB5KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmVz
dWx0WzJdID0geCAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9y
Lnl5eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYudzsKK2ludDMgbXVsKGludDMgeCwgaW50IHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1
bHRbMl0gPSB4WzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55
eXl3KGludDQgdikgeworaW50NCBtdWwoaW50IHgsIGludDQgeSkgewogICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXl5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0
WzFdID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07CisgICAgcmVzdWx0WzNd
ID0geCAqIHlbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh4dyAqLwotYm9vbDMgb3BlcmF0b3IueHh3KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7CitpbnQ0IG11bChpbnQ0IHgsIGludCB5KSB7CisgICAgaW50NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7
CisgICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CisgICAgcmVzdWx0WzNdID0geFszXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4dyh1aW50NCB2KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyIG11bChmbG9hdCB4LCBmbG9hdDIgeSkgeworICAg
IGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFd
ID0geCAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHh3KGlu
dDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyIG11bChmbG9hdDIgeCwgZmxv
YXQgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7Cisg
ICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci54eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0MyBtdWwoZmxvYXQgeCwgZmxvYXQzIHkpIHsK
ICAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enh5ICovCi1ib29sNCBvcGVyYXRvci54enh5KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eHkoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3IueHp4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKKyAg
ICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICBy
ZXN1bHRbMl0gPSB4ICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54enh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OworZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Cisg
ICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci54enh5KGZsb2F0MyB2KSB7CitmbG9hdDQgbXVsKGZsb2F0IHgsIGZsb2F0NCB5KSB7
CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1
bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gPSB4ICogeVsyXTsKKyAgICByZXN1bHRbM10gPSB4ICogeVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHkoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBtdWwoZmxv
YXQ0IHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0g
KiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl3PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKK2Zs
b2F0MngyIG11bChmbG9hdCB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5
WzFdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsx
XSA9IHggKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55
dz0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBd
WzBdICogeTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55dz0oaW50NCB2LCBpbnQyIGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7CitmbG9hdDN4MiBtdWwoZmxvYXQgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
PSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1
bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl3PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKK2Zsb2F0
M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0g
KiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9
IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci54eXggKi8KLWJvb2wzIG9wZXJhdG9yLnh5eChib29sMiB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDIgbXVsKGZsb2F0IHgsIGZsb2F0NHgy
IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlb
M11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eChib29sMyB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZs
b2F0IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBd
ID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzNdWzFdID0geFsz
XVsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eChib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDMgbXVsKGZsb2F0IHgsIGZs
b2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBd
WzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1b
Ml07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50MiB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0
IHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAq
IHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0g
eFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0
WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50MyB2KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDMgbXVsKGZsb2F0IHgsIGZsb2F0M3gzIHkpIHsK
KyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owor
ZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsx
XVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBd
WzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAq
IHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl4KGlu
dDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDMgbXVsKGZsb2F0IHgsIGZs
b2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJd
WzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAg
cmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0g
eCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDMgb3BlcmF0b3IueHl4KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0
eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0g
eFszXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0
WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsy
XSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXSAqIHk7CisgICAgcmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl4KGludDQgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OworZmxvYXQyeDQgbXVsKGZsb2F0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9h
dDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzNd
ID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OworZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0IHkpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAg
cmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0g
eFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0
WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNdID0geFsxXVszXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eXgoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmVzdWx0
WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVy
YXRvci54eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDQg
bXVsKGZsb2F0M3g0IHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7
CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJd
WzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAg
cmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAq
IHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNdID0g
eFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0geFsyXVszXSAqIHk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGFsbCAqLwotYm9vbCBhbGwoYm9vbCB4
KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1ib29sIGFsbChib29sMiB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdKTsKK2Zsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9hdDR4NCB5KSB7Cisg
ICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAg
IHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJd
WzBdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5
WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsy
XSA9IHggKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJl
c3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNd
OworICAgIHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sMyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0pOworZmxvYXQ0eDQgbXVsKGZsb2F0NHg0IHgsIGZs
b2F0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBd
ID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzNdWzFdID0geFsz
XVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFd
WzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAqIHk7CisgICAg
cmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAq
IHk7CisgICAgcmVzdWx0WzFdWzNdID0geFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0g
eFsyXVszXSAqIHk7CisgICAgcmVzdWx0WzNdWzNdID0geFszXVszXSAqIHk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2w0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwordWludCBtdWwodWludDIgeCwgdWlu
dDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50IHgpIHsKLSAg
ICByZXR1cm4geCAhPSAwOwordWludCBtdWwodWludDMgeCwgdWludDMgeSkgeworICAgIHJldHVy
biBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0
cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3VpbnQgbXVsKHVpbnQ0
IHgsIHVpbnQ0IHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotYm9vbCBhbGwodWludDMg
eCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG11bChp
bnQyIHgsIGludDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50
NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG11bChpbnQzIHgsIGludDMgeSkgewor
ICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbChpbnQgeCkgewotICAgIHJldHVybiB4
ICE9IDA7CitpbnQgbXVsKGludDQgeCwgaW50NCB5KSB7CisgICAgcmV0dXJuIGRvdCh4LCB5KTsK
IH0KLWJvb2wgYWxsKGludDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOworZmxvYXQgbXVsKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIHJldHVybiBkb3Qo
eCwgeSk7Cit9CitmbG9hdCBtdWwoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgcmV0dXJuIGRv
dCh4LCB5KTsKK30KK2Zsb2F0IG11bChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICByZXR1cm4g
ZG90KHgsIHkpOworfQorZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZs
b2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoaW50MyB4
KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworZmxvYXQyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDIg
eSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwor
ICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9v
bCBhbGwoaW50NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFszXSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQyIHgsIGZsb2F0M3gyIHkpIHsKKyAg
ICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhb
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0g
Kz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggIT0g
MDsKK2Zsb2F0MiBtdWwoZmxvYXQzeDIgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVsw
XSAqIHlbMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAq
IHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzJdWzFdICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQy
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKK2Zsb2F0NCBt
dWwoZmxvYXQyIHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0
WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICogeVszXVsxXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQzIHgpIHsKLSAgICBib29sIHJl
c3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml0gIT0gMCk7CitmbG9hdDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICog
eVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9
IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdWzBdICogeVszXTsKKyAgICBy
ZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1
bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJd
OworICAgIHJlc3VsdFsxXSArPSB4WzNdWzFdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbCBhbGwoZmxvYXQ0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworZmxvYXQyIG11bChmbG9hdDMgeCwgZmxvYXQyeDMg
eSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1ib29sIGFsbChmbG9hdDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKK2Zsb2F0MyBtdWwo
ZmxvYXQyeDMgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0
WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChm
bG9hdDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworZmxvYXQz
IG11bChmbG9hdDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0Mng0
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsz
XSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3Vs
dFsxXSArPSB4WzJdWzFdICogeVsyXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsy
XSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07Cisg
ICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1i
b29sIGFsbChmbG9hdDN4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworZmxvYXQ0IG11bChmbG9hdDMgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9
IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRb
M10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ym9vbCBhbGwoZmxvYXQzeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsy
XSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOworICAgIHJl
c3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOworICAgIHJlc3VsdFsyXSA9IDA7Cisg
ICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzJd
ICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9h
dDN4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDAp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFsbChmbG9hdDR4MiB4KSB7Ci0gICAgYm9v
bCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CitmbG9h
dDIgbXVsKGZsb2F0NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV0gPSAwOwor
ICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XSArPSB4WzNdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxv
YXQ0eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAw
KTsKK2Zsb2F0NCBtdWwoZmxvYXQyeDQgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlb
MF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOworICAgIHJlc3VsdFszXSA9IDA7
CisgICAgcmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFd
WzNdICogeVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQ0eDQgeCkg
ewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJd
WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bM10gIT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0
NCB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAw
OworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXSArPSB4WzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsx
XSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICog
eVsxXVszXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdICs9
IHhbMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQg
PSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworZmxvYXQ0IG11bChmbG9hdDN4NCB4LCBmbG9hdDMg
eSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsyXSA9
IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4
WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVz
dWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0
WzNdICs9IHhbMV1bM10gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDJ4MyB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworZmxvYXQ0IG11bChmbG9h
dDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
MDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhb
MV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF0gKz0geFszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRb
MV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAq
IHlbMV1bM107CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXSAr
PSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2wgYWxsKGJvb2wyeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKK2Zsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxv
YXQ0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVz
dWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsx
XTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhb
M11bMF0gKiB5WzNdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1b
MV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
MV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOwor
ICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAq
IHlbMl07CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOworICAgIHJlc3VsdFszXSA9
IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4
WzFdWzNdICogeVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXVszXSAqIHlbMl07CisgICAgcmVz
dWx0WzNdICs9IHhbM11bM10gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFs
bChib29sM3gyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bMV07CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZs
b2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0g
PSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wg
YWxsKGJvb2wzeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKK2Zs
b2F0M3gyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0g
MDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sM3g0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9
IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1b
M107CitmbG9hdDR4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sNHgyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CitmbG9hdDJ4MiBtdWwoZmxvYXQzeDIgeCwgZmxv
YXQyeDMgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sNHgzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1b
Ml07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CitmbG9hdDN4MiBt
dWwoZmxvYXQzeDIgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1
bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1b
MV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDR4NCB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzJdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzNdOworZmxvYXQ0eDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0
NHgzIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSAr
PSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJl
c3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsK
KyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFd
ICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnc9ICovCi1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3Iudz0oYm9vbDQsIGJvb2wpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLnc9KHVpbnQ0LCB1
aW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnc9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQ0
IG9wZXJhdG9yLnc9KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZmlyc3Ri
aXRsb3cgKi8KLXVpbnQgZmlyc3RiaXRsb3codWludCB4KSB7Ci0gICAgaWYgKCh4ICYgdWludCgx
IDw8IDApKSAhPSAwKQotICAgICAgICByZXR1cm4gMzE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8
IDEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMzA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIp
KSAhPSAwKQotICAgICAgICByZXR1cm4gMjk7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAh
PSAwKQotICAgICAgICByZXR1cm4gMjg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAw
KQotICAgICAgICByZXR1cm4gMjc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQot
ICAgICAgICByZXR1cm4gMjY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQotICAg
ICAgICByZXR1cm4gMjU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMjQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAwKQotICAgICAgICBy
ZXR1cm4gMjM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMjI7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDIxOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMSkpICE9IDApCi0gICAgICAgIHJldHVybiAy
MDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTk7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE4Owot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNCkpICE9IDApCi0gICAgICAgIHJldHVybiAxNzsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTY7Ci0gICAg
aWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE1OwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAxNykpICE9IDApCi0gICAgICAgIHJldHVybiAxNDsKLSAgICBpZiAo
KHggJiB1aW50KDEgPDwgMTgpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTM7Ci0gICAgaWYgKCh4
ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDEyOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAyMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxMTsKLSAgICBpZiAoKHggJiB1
aW50KDEgPDwgMjEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTA7Ci0gICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDIyKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDk7Ci0gICAgaWYgKCh4ICYgdWludCgx
IDw8IDIzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8
IDI0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI1
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0g
MCkKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkKLSAg
ICAgICAgcmV0dXJuIDI7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0gMCkKLSAgICAg
ICAgcmV0dXJuIDE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgcmV0dXJuIDMyOwotfQotdWludCBmaXJzdGJpdGxvdyhpbnQgeCkgewot
ICAgIHJldHVybiBmaXJzdGJpdGxvdyh1aW50KHgpKTsKLX0KLXVpbnQyIGZpcnN0Yml0bG93KHVp
bnQyIHgpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3co
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQzIGZpcnN0Yml0bG93KHVpbnQzIHgpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmly
c3RiaXRsb3coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CitmbG9h
dDJ4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBd
ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAw
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRsb3codWludDQgeCkgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsK
LSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGxvdyh4WzNdKTsKK2Zsb2F0M3gyIG11bChmbG9hdDR4
MiB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAg
IHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1b
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsy
XVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBmaXJzdGJpdGxvdyhpbnQyIHgpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7CitmbG9hdDR4MiBtdWwoZmxvYXQ0eDIgeCwgZmxv
YXQ0eDQgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRb
MV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4
WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAw
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1
bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVsz
XTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICog
eVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzFdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgZmlyc3RiaXRsb3co
aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGZpcnN0Yml0bG93KHhbMl0pOworZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0Mngy
IHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsy
XSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IGZpcnN0Yml0
bG93KGludDQgeCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJp
dGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGxvdyh4
WzNdKTsKK2Zsb2F0M3gzIG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0g
eFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0g
MDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3h5ICovCi1ib29sNCBvcGVyYXRvci54d3h5KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9h
dDR4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0g
MDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNd
WzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHd4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0
MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3IueHd4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gzIG11bChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3Vs
dFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVsw
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsx
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd4eShmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBt
dWwoZmxvYXQzeDMgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFd
WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICBy
ZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhb
MV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6
ICovCi1ib29sMyBvcGVyYXRvci55enooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKK2Zsb2F0MngzIG11bChmbG9hdDR4MyB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsx
XVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwor
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0g
KiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVy
YXRvci55enooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gzIG11
bChmbG9hdDR4MyB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsx
XSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55enoodWludDMgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKK2Zsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
M11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsx
XSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsx
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNdWzNdOworICAg
IHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5
WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1b
Ml0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55enoodWludDQgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55enooaW50MyB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3IueXp6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6
eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4NCBtdWwoZmxv
YXQyeDQgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci55end4ICovCi1ib29sNCBvcGVyYXRvci55end4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBtdWwoZmxv
YXQyeDQgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9
IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9
IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQg
b3BlcmF0b3IueXp3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi54OworZmxvYXQ0eDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKKyAg
ICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1b
MF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNd
WzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsw
XVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4
WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1
bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1b
M10gKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl6d3go
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDJ4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0Mng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlb
MV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55end4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVszXSA9IDA7
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVsz
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5
WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci55d3h6PSAqLwotYm9vbDQgb3BlcmF0b3IueXd4ej0oYm9vbDQgdiwgYm9vbDQgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDR4
NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJl
c3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsx
XVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4
WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsy
XTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAwOwor
ICAgIHJlc3VsdFszXVszXSArPSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10g
Kz0geFsxXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55d3h6PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9
IGMudzsKK2Zsb2F0Mng0IG11bChmbG9hdDR4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11b
Ml0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFd
WzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9
IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3eHo9KGludDQgdiwgaW50NCBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OworZmxvYXQzeDQg
bXVsKGZsb2F0NHg0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlb
MF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFd
WzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAq
IHlbMl1bM107CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFszXVsyXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFszXVsyXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzJdID0gMDsK
KyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFszXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFszXVszXSAqIHlbMF1bM107
CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFszXVsz
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0g
eFswXVszXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFszXVszXSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55d3h6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKK2Zsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11b
MF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9
IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsy
XSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOworICAgIHJlc3VsdFsz
XVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsy
XVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d4
ICovCi1ib29sNCBvcGVyYXRvci55d3d4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9u
cyBuYW1lZCByYWRpYW5zICovCitmbG9hdCByYWRpYW5zKGZsb2F0IHgpIHsKKyAgICByZXR1cm4g
eCAqIDMuMTQxNTkgLyAxODA7CiB9Ci11aW50NCBvcGVyYXRvci55d3d4KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDIgcmFkaWFu
cyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmFkaWFu
cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDMgcmFkaWFucyhmbG9hdDMgeCkgeworICAg
IGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSByYWRpYW5zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55d3d4KGZsb2F0NCB2KSB7Citm
bG9hdDQgcmFkaWFucyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSByYWRpYW5zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gcmFkaWFucyh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6dyAqLwotYm9vbDQgb3BlcmF0b3Iuenl6dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQyeDIgcmFkaWFucyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFk
aWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnp5encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgeworICAg
IGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
cmFkaWFucyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56
eXp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53
OworZmxvYXQ0eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
cmFkaWFucyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9y
Lnp5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OworZmxvYXQyeDMgcmFkaWFucyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56d3d6ICovCi1ib29sNCBvcGVyYXRvci56d3d6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyByYWRpYW5zKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnp3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHJhZGlhbnMoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0
NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmFkaWFu
cyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3d6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxv
YXQyeDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFu
cyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3d3oo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eXd3ICovCi1ib29sNCBvcGVyYXRvci55eXd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl5d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXd3
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQzeDQgcmFkaWFucyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFk
aWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFk
aWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFk
aWFucyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCByYWRp
YW5zKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gcmFkaWFucyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3I8PSAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I8PShpbnQsIGludCk7
Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjw9KHVpbnQsIHVpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0
b3I8PShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0odWludDIsIHVpbnQy
KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjw9KHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgYm9vbDQg
b3BlcmF0b3I8PSh1aW50NCwgdWludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oaW50Miwg
aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8PShpbnQzLCBpbnQzKTsKLW5hdGl2ZSBib29s
NCBvcGVyYXRvcjw9KGludDQsIGludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oZmxvYXQy
LCBmbG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oZmxvYXQzLCBmbG9hdDMpOwotbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPD0oZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGJvb2wyeDIgb3Bl
cmF0b3I8PShmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8PShm
bG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I8PShmbG9hdDJ4NCwg
ZmxvYXQyeDQpOwotbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I8PShmbG9hdDN4MiwgZmxvYXQzeDIp
OwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8PShmbG9hdDN4MywgZmxvYXQzeDMpOwotbmF0aXZl
IGJvb2wzeDQgb3BlcmF0b3I8PShmbG9hdDN4NCwgZmxvYXQzeDQpOwotbmF0aXZlIGJvb2w0eDIg
b3BlcmF0b3I8PShmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I8
PShmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I8PShmbG9hdDR4
NCwgZmxvYXQ0eDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR4X2ZpbmUgKi8KLWZsb2F0IGRk
eF9maW5lKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gZGR4KHgpOwotfQotZmxvYXQyIGRkeF9maW5l
KGZsb2F0MiB4KSB7CisvKiBGdW5jdGlvbnMgbmFtZWQgY2VpbCAqLworbmF0aXZlIGZsb2F0IGNl
aWwoZmxvYXQpOworZmxvYXQyIGNlaWwoZmxvYXQyIHgpIHsKICAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9maW5l
KHhbMV0pOworICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2Vp
bCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIGRkeF9maW5lKGZsb2F0MyB4
KSB7CitmbG9hdDMgY2VpbChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4X2ZpbmUoeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gY2VpbCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNlaWwo
eFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBkZHhfZmluZShmbG9hdDQgeCkg
eworZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeF9maW5l
KHhbM10pOworICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2Vp
bCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGNl
aWwoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGRkeF9maW5lKGZsb2F0
MngyIHgpIHsKK2Zsb2F0MngyIGNlaWwoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
ZWlsKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBkZHhfZmluZShm
bG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRk
eF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworZmxvYXQzeDIgY2VpbChm
bG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBjZWlsKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBkZHhfZmlu
ZShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhb
MV1bM10pOworZmxvYXQ0eDIgY2VpbChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZGR4X2ZpbmUoZmxvYXQzeDIgeCkgewotICAg
IGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKK2Zsb2F0MngzIGNlaWwoZmxvYXQyeDMgeCkgeworICAg
IGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgZGR4X2ZpbmUoZmxvYXQzeDMgeCkgewor
ZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRk
eF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDN4NCBkZHhfZmluZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGRkeF9maW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhb
Ml1bM10pOworZmxvYXQ0eDMgY2VpbChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBjZWlsKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBk
ZHhfZmluZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5l
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9m
aW5lKHhbM11bMV0pOworZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2Vp
bCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgZGR4X2ZpbmUoZmxvYXQ0eDMgeCkg
ewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmlu
ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhf
ZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKK2Zsb2F0M3g0IGNlaWwoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2Vp
bCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZGR4X2ZpbmUoZmxvYXQ0eDQgeCkgeworZmxvYXQ0
eDQgY2VpbChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9m
aW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRk
eF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeF9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0p
OwotICAgIHJlc3VsdFszXVszXSA9IGRkeF9maW5lKHhbM11bM10pOworICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBj
ZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gY2VpbCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGNlaWwoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eCAqLwotYm9vbDMgb3BlcmF0b3IueHd4KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIG9wZXJhdG9yLnh3eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh3eChpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc2luICovCituYXRpdmUgZmxv
YXQgYXNpbihmbG9hdCk7CitmbG9hdDIgYXNpbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2luKHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHd4KGZsb2F0NCB2
KSB7CitmbG9hdDMgYXNpbihmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yIGNhc3Qg
Ki8KLW5hdGl2ZSBvcGVyYXRvciB1aW50KGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludChmbG9h
dCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50KHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludChmbG9h
dCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQodWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQo
aW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQoYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbCh1
aW50KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sKGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbChm
bG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDIoYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0
b3IgYm9vbDMoYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDMoYm9vbDIs
IGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wsIGJvb2wyKTsKLW5hdGl2ZSBvcGVy
YXRvciBib29sNChib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
NChib29sMiwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbDIs
IGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wsIGJvb2wyKTsKLW5hdGl2
ZSBvcGVyYXRvciBib29sNChib29sMiwgYm9vbDIpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJv
b2wzLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNChib29sLCBib29sMyk7Ci1uYXRpdmUg
b3BlcmF0b3IgdWludDIodWludCwgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDModWludCwg
dWludCwgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDModWludDIsIHVpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50
LCB1aW50LCB1aW50LCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50MiwgdWludCwg
dWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludDIsIHVpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50
NCh1aW50MiwgdWludDIpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQzLCB1aW50KTsKLW5h
dGl2ZSBvcGVyYXRvciB1aW50NCh1aW50LCB1aW50Myk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50Mihp
bnQsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBv
cGVyYXRvciBpbnQzKGludDIsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQsIGludDIp
OwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBvcGVy
YXRvciBpbnQ0KGludDIsIGludCwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50
MiwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50LCBpbnQyKTsKLW5hdGl2ZSBv
cGVyYXRvciBpbnQ0KGludDIsIGludDIpOwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50MywgaW50
KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxv
YXQyKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZsb2F0LCBmbG9hdCwg
ZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBv
cGVyYXRvciBmbG9hdDMoZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQy
LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQyLCBm
bG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdCwgZmxvYXQyKTsKLW5h
dGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIG9wZXJhdG9yIGZs
b2F0NChmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0
Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDIoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0MngzKGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4
NChmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDIoZmxvYXQyLCBmbG9h
dDIsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDMoZmxvYXQzLCBmbG9hdDMsIGZs
b2F0Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDQoZmxvYXQ0LCBmbG9hdDQsIGZsb2F0NCk7
Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDIoZmxvYXQyLCBmbG9hdDIsIGZsb2F0MiwgZmxvYXQy
KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDR4MyhmbG9hdDMsIGZsb2F0MywgZmxvYXQzLCBmbG9h
dDMpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHg0KGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQsIGZs
b2F0NCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDIoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MngzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0Mng0KGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0
b3IgZmxvYXQzeDIoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1u
YXRpdmUgb3BlcmF0b3IgZmxvYXQzeDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDQo
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDIoZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5h
dGl2ZSBvcGVyYXRvciBmbG9hdDR4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2
ZSBvcGVyYXRvciBmbG9hdDR4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Mihib29sMiwgYm9vbDIp
OwotbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDMoYm9vbDMsIGJvb2wzKTsKLW5hdGl2ZSBvcGVyYXRv
ciBib29sMng0KGJvb2w0LCBib29sNCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4Mihib29sMiwg
Ym9vbDIsIGJvb2wyKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gzKGJvb2wzLCBib29sMywgYm9v
bDMpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDQoYm9vbDQsIGJvb2w0LCBib29sNCk7Ci1uYXRp
dmUgb3BlcmF0b3IgYm9vbDR4Mihib29sMiwgYm9vbDIsIGJvb2wyLCBib29sMik7Ci1uYXRpdmUg
b3BlcmF0b3IgYm9vbDR4Myhib29sMywgYm9vbDMsIGJvb2wzLCBib29sMyk7Ci1uYXRpdmUgb3Bl
cmF0b3IgYm9vbDR4NChib29sNCwgYm9vbDQsIGJvb2w0LCBib29sNCk7Ci1uYXRpdmUgb3BlcmF0
b3IgYm9vbDJ4Mihib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
MngzKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9y
IGJvb2wyeDQoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7
Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4Mihib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gzKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDQoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDR4Mihib29sLCBib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNHgzKGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQoYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXgg
Ki8KLWJvb2wzIG9wZXJhdG9yLnd5eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eXgodWludDQgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci53eXgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7CisgICAgcmVzdWx0WzBd
ID0gYXNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGFzaW4oeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci53
eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0IGFzaW4oZmxv
YXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2luKHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGFzaW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIGxvYWQgKi8KLW5hdGl2ZSBpbnQgbG9hZChkZXZpY2UgYXRvbWlj
X2ludCopOwotbmF0aXZlIHVpbnQgbG9hZChkZXZpY2UgYXRvbWljX3VpbnQqKTsKLW5hdGl2ZSBp
bnQgbG9hZCh0aHJlYWRncm91cCBhdG9taWNfaW50Kik7Ci1uYXRpdmUgdWludCBsb2FkKHRocmVh
ZGdyb3VwIGF0b21pY191aW50Kik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHh4
ICovCi1ib29sNCBvcGVyYXRvci54eHh4KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MiBhc2luKGZsb2F0MngyIHgpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueHh4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDIgYXNpbihmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci54eHh4KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDR4MiBhc2luKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
YXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54eHh4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MyBhc2luKGZsb2F0MngzIHgpIHsK
KyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4eHgodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gz
IGFzaW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
YXNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHh4
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQ0eDMgYXNpbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGFzaW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFz
aW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBhc2luKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4
eHgoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNp
bih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBhc2luKGZsb2F0M3g0IHgp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
YXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGFzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4o
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBh
c2luKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh4
eChmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGFzdWludCAqLwor
dWludCBhc3VpbnQoaW50IHgpIHsKKyAgICByZXR1cm4gdWludCh4KTsKIH0KLWZsb2F0NCBvcGVy
YXRvci54eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKK3VpbnQyIGFzdWludChpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHgoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwordWludDMg
YXN1aW50KGludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3Vp
bnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGFzdWludCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl4eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl4eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwordWludDQgYXN1aW50KGlu
dDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzdWludCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc3VpbnQoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2w0IG9wZXJhdG9yLnp5eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwordWludCBhc3VpbnQo
dWludCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11aW50NCBvcGVyYXRvci56eXh6KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3VpbnQyIGFzdWludCh1aW50MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11
aW50NCBvcGVyYXRvci56eXh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3VpbnQzIGFzdWludCh1aW50
MyB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5eHooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3VpbnQ0IGFzdWludCh1aW50NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnp5eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7CituYXRpdmUgdWludCBhc3VpbnQoZmxvYXQpOwordWludDIgYXN1aW50KGZsb2F0
MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci56eXh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKK3VpbnQzIGFzdWludChmbG9hdDMgeCkgeworICAgIHVpbnQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
YXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzdWludCh4WzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwordWludDQgYXN1aW50KGZsb2F0NCB4
KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGFzdWludCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHo9ICovCi1ib29sMyBvcGVyYXRvci54ej0o
Ym9vbDMgdiwgYm9vbDIgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgcG93ICovCitu
YXRpdmUgZmxvYXQgcG93KGZsb2F0LCBmbG9hdCk7CitmbG9hdDIgcG93KGZsb2F0MiB4LCBmbG9h
dDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlb
MF0pOworICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotYm9vbDQgb3BlcmF0b3IueHo9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxv
YXQzIHBvdyhmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50MyBvcGVyYXRvci54ej0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9h
dDQgcG93KGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gcG93
KHhbM10sIHlbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54ej0o
dWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9hdDJ4MiBwb3coZmxvYXQyeDIgeCwgZmxv
YXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3co
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDMgb3BlcmF0b3IueHo9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQzeDIgcG93
KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBv
dyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3IueHo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgs
IGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzIG9wZXJhdG9yLnh6PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9h
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
K2Zsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3IueHo9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxv
YXQzeDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHcgKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIHBvdyhmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBv
dyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBw
b3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci56eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitmbG9hdDJ4NCBwb3coZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZs
b2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhb
MV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5
eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
CitmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBv
dyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBw
b3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
cG93KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQ0eDQgcG93KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3co
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBv
dyh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBw
b3coeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gcG93KHhbM11bM10sIHlb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56eiAqLwotYm9vbDIgb3BlcmF0b3IuenooYm9vbDMgdikgewotICAgIGJvb2wyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKKy8qIEZ1bmN0aW9u
cyBuYW1lZCB0YW4gKi8KK25hdGl2ZSBmbG9hdCB0YW4oZmxvYXQpOworZmxvYXQyIHRhbihmbG9h
dDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDIg
b3BlcmF0b3IuenooYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2Zsb2F0MyB0YW4oZmxvYXQzIHgpIHsKKyAgICBm
bG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSB0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50MiBvcGVyYXRvci56eih1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQ0IHRhbihmbG9h
dDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0YW4oeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gdGFuKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBv
cGVyYXRvci56eih1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQyeDIgdGFuKGZsb2F0MngyIHgpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnp6KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQzeDIgdGFuKGZsb2F0
M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsy
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IuenooaW50NCB2KSB7
Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7CitmbG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IuenooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQyeDMgdGFu
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0
YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci56eihm
bG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7CitmbG9hdDN4MyB0YW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owor
ZmxvYXQ0eDMgdGFuKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd4enoodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IHRh
bihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
dGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3Iud3h6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0
YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRh
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFu
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6eihm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7
CitmbG9hdDR4NCB0YW4oZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
dGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bM10gPSB0YW4oeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd6d3koYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGZtYSAqLworZmxvYXQgZm1hKGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHopIHsKKyAgICByZXR1cm4geCAqIHkgKyB6OwogfQotdWludDQg
b3BlcmF0b3Iud3p3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi55OworZmxvYXQyIGZtYShmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelsw
XSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0sIHpbMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMgZm1hKGZsb2F0MyB4LCBmbG9hdDMg
eSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtYSh4
WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7
CisgICAgcmVzdWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p3eShmbG9hdDQgdikgeworZmxvYXQ0IGZtYShmbG9h
dDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7
CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9
IGZtYSh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBmbWEoeFszXSwgeVszXSwg
elszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnd5enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd5enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MngyIGZtYShmbG9hdDJ4MiB4
LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iud3l6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZs
b2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1h
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l6eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGZt
YShmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Zm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci53eXp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0MngzIGZtYShmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4
MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3h4
ICovCi1ib29sNCBvcGVyYXRvci54d3h4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4MyBmbWEoZmxvYXQzeDMgeCwgZmxvYXQz
eDMgeSwgZmxvYXQzeDMgeikgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Zm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd4eCh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgZm1hKGZs
b2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5
WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd4eChpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IGZtYShmbG9h
dDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
bWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54
d3h4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKK2Zsb2F0M3g0IGZtYShmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZt
YSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsx
XVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10s
IHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXkgKi8KLWJvb2wzIG9wZXJhdG9yLnh5eShib29sMiB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZt
YSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
Zm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4
WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1hKHhbM11bM10sIHlb
M11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54
eXkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OworCisvKiBGdW5jdGlvbnMgbmFtZWQgZGV0ZXJtaW5hbnQgKi8KK2Zsb2F0IGRldGVybWluYW50
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eShib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBk
ZXRlcm1pbmFudChmbG9hdDJ4MiB4KSB7CisgICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0g
eFsxXVswXSAqIHhbMF1bMV07CiB9Ci11aW50MyBvcGVyYXRvci54eXkodWludDIgdikgewotICAg
IHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgZGV0ZXJtaW5h
bnQoZmxvYXQzeDMgeCkgeworICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAqIHhbMl1bMl0g
KworICAgICAgICAgICB4WzFdWzBdICogeFsyXVsxXSAqIHhbMF1bMl0gKworICAgICAgICAgICB4
WzJdWzBdICogeFswXVsxXSAqIHhbMV1bMl0gLQorICAgICAgICAgICB4WzBdWzJdICogeFsxXVsx
XSAqIHhbMl1bMF0gLQorICAgICAgICAgICB4WzFdWzJdICogeFsyXVsxXSAqIHhbMF1bMF0gLQor
ICAgICAgICAgICB4WzJdWzJdICogeFswXVsxXSAqIHhbMV1bMF07CiB9Ci11aW50MyBvcGVyYXRv
ci54eXkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0IGRldGVybWlu
YW50KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdCByZXN1bHQ7CisgICAgZmxvYXQzeDMgbWlub3I7
CisgICAgbWlub3JbMF1bMF0gPSB4WzFdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVsxXTsK
KyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwor
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Cisg
ICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKKyAg
ICBtaW5vclsyXVsyXSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVswXSAq
IGRldGVybWluYW50KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlu
b3JbMV1bMF0gPSB4WzJdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKKyAgICBtaW5v
clswXVsxXSA9IHhbMF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOworICAgIG1pbm9y
WzJdWzFdID0geFszXVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3Jb
MV1bMl0gPSB4WzJdWzNdOworICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgLSB4WzFdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBd
ID0geFswXVsxXTsKKyAgICBtaW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1bMF0g
PSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9
IHhbMV1bMl07CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0g
eFswXVszXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0gPSB4
WzNdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMl1bMF0gKiBkZXRlcm1pbmFudChtaW5v
cik7CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsx
XTsKKyAgICBtaW5vclsyXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJd
OworICAgIG1pbm9yWzFdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbMl1bMl07
CisgICAgbWlub3JbMF1bMl0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsK
KyAgICBtaW5vclsyXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFszXVsw
XSAqIGRldGVybWluYW50KG1pbm9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3Bl
cmF0b3IueHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CisKKy8qIEZ1bmN0
aW9ucyBuYW1lZCBmbG9vciAqLworbmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KTsKK2Zsb2F0MiBm
bG9vcihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxv
b3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHl5KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQzIGZsb29yKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBmbG9vcih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbG9vcih4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBmbG9vcih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVy
YXRvci54eXkoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHl5KGludDQgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHl5KGZsb2F0MiB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0NCBmbG9vcihmbG9hdDQgeCkgewor
ICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gZmxvb3IoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gZmxvb3IoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci54eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQy
eDIgZmxvb3IoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmbG9vcih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9y
Lnh5eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDN4MiBmbG9v
cihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29y
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enh5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3p4eT0oYm9v
bDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0
LnkgPSBjLnc7CitmbG9hdDR4MiBmbG9vcihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZs
b29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53enh5PSh1aW50
NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQu
eSA9IGMudzsKK2Zsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxv
b3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p4eT0oaW50NCB2LCBpbnQ0IGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7CitmbG9hdDN4MyBm
bG9vcihmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZs
b29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZsb29yKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3Iud3p4eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7CitmbG9hdDR4MyBmbG9vcihmbG9hdDR4MyB4KSB7
CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29y
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56dyAq
LwotYm9vbDIgb3BlcmF0b3IuencoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKK2Zsb2F0Mng0IGZsb29yKGZsb2F0
Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQyIG9wZXJhdG9yLnp3KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7CitmbG9hdDN4NCBmbG9vcihmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29y
KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZsb29yKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnp3KGludDQgdikgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OworZmxvYXQ0eDQgZmxvb3IoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9v
cih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
bG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBmbG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBmbG9vcih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBmbG9vcih4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJhdG9yLnp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNyb3NzICovCitmbG9hdDMgY3Jvc3MoZmxvYXQz
IHUsIGZsb2F0MyB2KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHUueSAq
IHYueiAtIHUueiAqIHYueTsKKyAgICByZXN1bHQueSA9IHUueiAqIHYueCAtIHUueCAqIHYuejsK
KyAgICByZXN1bHQueiA9IHUueCAqIHYueSAtIHUueSAqIHYueDsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6ICovCi1ib29sMyBvcGVyYXRv
ci54eHooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKKy8qIEZ1bmN0aW9ucyBu
YW1lZCBpc2Zpbml0ZSAqLworbmF0aXZlIGJvb2wgaXNmaW5pdGUoZmxvYXQpOworYm9vbDIgaXNm
aW5pdGUoZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNm
aW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh4eihib29sNCB2KSB7Citib29sMyBpc2Zpbml0
ZShmbG9hdDMgeCkgewogICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3IueHh6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CisgICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNm
aW5pdGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OworYm9vbDQgaXNmaW5pdGUoZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5p
dGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gaXNmaW5pdGUoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iu
eHh6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OworCisvKiBGdW5jdGlvbnMgbmFt
ZWQgSW50ZXJsb2NrZWRPciAqLworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRv
bWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRP
cihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50
LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9j
a2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJl
YWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191
aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhy
ZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVp
bnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhdGFuMiAqLwor
bmF0aXZlIGZsb2F0IGF0YW4yKGZsb2F0LCBmbG9hdCk7CitmbG9hdDIgYXRhbjIoZmxvYXQyIHgs
IGZsb2F0MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7CitmbG9hdDMgYXRhbjIoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhdGFuMih4WzJdLCB5WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eihmbG9hdDMgdikg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDQgYXRhbjIoZmxvYXQ0IHgsIGZsb2F0
NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBhdGFuMih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBhdGFuMih4WzNdLCB5WzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eihmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4MiBhdGFuMihmbG9hdDJ4MiB4LCBmbG9h
dDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4y
KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHkgKi8KLWJvb2wzIG9wZXJh
dG9yLnl4eShib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQzeDIgYXRh
bjIoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbDMgb3BlcmF0b3IueXh5KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
CitmbG9hdDR4MiBhdGFuMihmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGF0YW4yKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4yKHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGF0YW4yKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGF0YW4yKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBv
cGVyYXRvci55eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0Mngz
IGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXVpbnQzIG9wZXJhdG9yLnl4eSh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OworZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4
WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iu
eXh5KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDR4MyBhdGFuMihm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4yKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4yKHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4y
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4yKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGF0YW4yKHhb
M11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55
eHkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0Mng0IGF0YW4yKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRh
bjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueXh5KGludDIgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQy
IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgb3BlcmF0b3IueXh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
K2Zsb2F0M3g0IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsy
XSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBh
dGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgY291bnRfYml0cyAqLworLyogRnVuY3Rp
b25zIG5hbWVkIERldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jICovCituYXRpdmUgdm9p
ZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOwogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXl6ICovCi1ib29sMyBvcGVyYXRvci55eXooYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iu
eXl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXoodWludDQgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBv
cGVyYXRvci55eXooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl6KGludDQgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnl5eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBuYW1lZCBmbW9kICovCiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eCAqLwotYm9vbDIgb3BlcmF0b3Iud3goYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iud3godWludDQg
dikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci53eChpbnQ0IHYp
IHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgZm1vZChmbG9hdCB4LCBmbG9hdCB5KSB7
CisgICAgdWludCB3aG9sZSA9IHVpbnQoeCAvIHkpOworICAgIGZsb2F0IG11bHRpcGxlID0gZmxv
YXQod2hvbGUpICogeTsKKyAgICByZXR1cm4geCAtIG11bHRpcGxlOwogfQotZmxvYXQyIG9wZXJh
dG9yLnd4KGZsb2F0NCB2KSB7CitmbG9hdDIgZm1vZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKICAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eHd6PSAqLwotYm9vbDQgb3BlcmF0b3IueXh3ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4d3o9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4d3o9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55Owot
ICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh3ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4ICovCi1ib29sMiBv
cGVyYXRvci54eChib29sMiB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBv
cGVyYXRvci54eChib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBv
cGVyYXRvci54eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBv
cGVyYXRvci54eCh1aW50MiB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBv
cGVyYXRvci54eCh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OworICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwgeVsw
XSk7CisgICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDIgb3BlcmF0b3IueHgodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MyBmbW9kKGZsb2F0
MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1v
ZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0pOworICAgIHJl
c3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIg
b3BlcmF0b3IueHgoaW50MiB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDQgZm1vZChmbG9hdDQgeCwgZmxvYXQ0IHkp
IHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwgeVswXSk7
CisgICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmbW9k
KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IGZtb2QoeFszXSwgeVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IueHgoaW50MyB2KSB7Ci0gICAgaW50MiByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDJ4MiBm
bW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVyYXRvci54eChpbnQ0IHYpIHsKLSAgICBp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zs
b2F0M3gyIGZtb2QoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQyIG9wZXJhdG9yLnh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0NHgyIGZtb2Qo
ZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDMgdikgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7CitmbG9hdDJ4MyBmbW9kKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDQgdikgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDN4
MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1v
ZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXcgKi8K
LWJvb2w0IG9wZXJhdG9yLnd6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2Qo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Zm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3Iud3p5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgZm1vZChmbG9hdDJ4NCB4LCBm
bG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZt
b2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZt
b2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2Qo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p5dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCBmbW9kKGZs
b2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9k
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhb
Ml1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZt
b2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iuenh6eSAqLwotYm9vbDQgb3BlcmF0b3Iuenh6eShib29sMyB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sNCBvcGVyYXRvci56eHp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp4enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6eSh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4enkoaW50MyB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iuenh6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnp4enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3ItICovCituYXRpdmUgaW50IG9wZXJhdG9yLShpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVy
YXRvci0odWludCwgdWludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdCk7
CituYXRpdmUgaW50IG9wZXJhdG9yLShpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9h
dCk7CituYXRpdmUgdWludDIgb3BlcmF0b3ItKHVpbnQyLCB1aW50Mik7CituYXRpdmUgdWludDIg
b3BlcmF0b3ItKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvci0odWludDIsIHVp
bnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yLSh1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQz
IG9wZXJhdG9yLSh1aW50LCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3ItKHVpbnQzLCB1
aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvci0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50
NCBvcGVyYXRvci0odWludCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLSh1aW50NCwg
dWludCk7CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50MiwgaW50Mik7CituYXRpdmUgaW50MiBv
cGVyYXRvci0oaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yLShpbnQyLCBpbnQpOwor
bmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMsIGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3It
KGludCwgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvci0oaW50MywgaW50KTsKK25hdGl2ZSBp
bnQ0IG9wZXJhdG9yLShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQsIGlu
dDQpOworbmF0aXZlIGludDQgb3BlcmF0b3ItKGludDQsIGludCk7CituYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yLShmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLShmbG9hdCwg
ZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3ItKGZsb2F0MiwgZmxvYXQpOworbmF0aXZl
IGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRv
ci0oZmxvYXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yLShmbG9hdDMsIGZsb2F0
KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9h
dDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvci0oZmxv
YXQ0LCBmbG9hdCk7CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50Mik7CituYXRpdmUgaW50MyBv
cGVyYXRvci0oaW50Myk7CituYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCk7CituYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLShmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzKTsK
K25hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0
b3ItKGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0
MngyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Mik7
CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDN4MiBv
cGVyYXRvci0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0o
ZmxvYXQsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLShmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yLShmbG9hdCwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4
MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4Mik7CituYXRpdmUg
ZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZs
b2F0MngzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzKTsKK25h
dGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9h
dDN4MyBvcGVyYXRvci0oZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRv
ci0oZmxvYXQzeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMp
OworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZl
IGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0NHgzIG9w
ZXJhdG9yLShmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9h
dDR4Myk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Citu
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3ItKGZsb2F0Mng0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3It
KGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0M3g0
KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0M3g0KTsKK25hdGl2ZSBm
bG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVy
YXRvci0oZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxv
YXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDQpOworbmF0
aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHg0
IG9wZXJhdG9yLShmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtaW4gKi8KK3VpbnQg
bWluKHVpbnQgeCwgdWludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7CiB9Ci1mbG9h
dDQgb3BlcmF0b3Iuenh6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtaW4odWludDIgeCwgdWludDIgeSkgeworICAgIHVp
bnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0
WzFdID0gbWluKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56d3h4ICovCi1ib29sNCBvcGVyYXRvci56d3h4KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Cit1aW50MyBt
aW4odWludDMgeCwgdWludDMgeSkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAg
IHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iuend4eCh1aW50NCB2KSB7Cit1aW50NCBtaW4odWludDQgeCwgdWludDQgeSkg
ewogICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1
bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBtaW4o
eFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuend4eChp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2lu
dCBtaW4oaW50IHgsIGludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Cit9CitpbnQy
IG1pbihpbnQyIHgsIGludDIgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56d3h4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2ludDMgbWluKGludDMg
eCwgaW50MyB5KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBtaW4oeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIHJzcXJ0ICovCi1mbG9hdCByc3FydChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIDEgLyBz
cXJ0KHgpOworaW50NCBtaW4oaW50NCB4LCBpbnQ0IHkpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10g
PSBtaW4oeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiByc3FydChm
bG9hdDIgeCkgeworZmxvYXQgbWluKGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAgICByZXR1cm4geCA+
IHkgPyB5IDogeDsKK30KK2Zsb2F0MiBtaW4oZmxvYXQyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVz
dWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMg
cnNxcnQoZmxvYXQzIHgpIHsKK2Zsb2F0MyBtaW4oZmxvYXQzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSByc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByc3FydCh4WzJdKTsKKyAgICByZXN1
bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4KSB7CitmbG9hdDQgbWluKGZsb2F0NCB4LCBmbG9hdDQg
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7
Ci0gICAgcmVzdWx0WzNdID0gcnNxcnQoeFszXSk7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBtaW4oeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4
MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3Fy
dCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MngzIHJzcXJ0KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CitmbG9hdDN4MiBtaW4oZmxvYXQzeDIg
eCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFd
LCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgcnNxcnQoZmxvYXQy
eDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKK2Zsb2F0NHgyIG1pbihmbG9hdDR4MiB4
LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gyIHJzcXJ0KGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CitmbG9hdDJ4MyBt
aW4oZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMg
cnNxcnQoZmxvYXQzeDMgeCkgeworZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkp
IHsKICAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNx
cnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsy
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHJzcXJ0KGZsb2F0M3g0IHgp
IHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNx
cnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7
CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NHgyIHJzcXJ0KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
cnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcnNxcnQo
eFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHJzcXJ0KGZsb2F0NHgz
IHgpIHsKK2Zsb2F0NHgzIG1pbihmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJl
c3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDR4NCByc3FydChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwotICAgIHJlc3VsdFszXVsw
XSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHJz
cXJ0KHhbM11bM10pOworZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWlu
KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1p
bih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueiAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3Iueihib29sMyk7Ci1u
YXRpdmUgYm9vbCBvcGVyYXRvci56KGJvb2w0KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnoodWlu
dDMpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3Iueih1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9y
LnooaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnooaW50NCk7Ci1uYXRpdmUgZmxvYXQgb3Bl
cmF0b3IueihmbG9hdDMpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnooZmxvYXQ0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXg9ICovCi1ib29sNCBvcGVyYXRvci53enl4PShi
b29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1
bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p5eD0o
dWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lncg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVz
dWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eD0o
aW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enl4PShm
bG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXN1bHQueCA9IGMudzsKK2Zsb2F0M3g0IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
aW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlb
Ml1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
bWluKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eXh3ICovCi1ib29sNCBvcGVyYXRvci55eXh3KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4
NCBtaW4oZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1b
Ml0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJd
WzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBtaW4oeFszXVszXSwgeVszXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eHcodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkWG9yICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRYb3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJl
YWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhy
ZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJl
YWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKKworLyogRnVuY3Rp
b25zIG5hbWVkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KK25hdGl2ZSB2b2lk
IEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKKworLyogRnVuY3Rpb25zIG5hbWVk
IHRydW5jICovCituYXRpdmUgZmxvYXQgdHJ1bmMoZmxvYXQpOworZmxvYXQyIHRydW5jKGZsb2F0
MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci55eXh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OworZmxvYXQzIHRydW5jKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0cnVuYyh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0cnVuYyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnl5eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0NCB0cnVuYyhmbG9hdDQg
eCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAg
cmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gdHJ1bmMoeFszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3
eiAqLwotYm9vbDMgb3BlcmF0b3Iuend6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CitmbG9hdDJ4MiB0cnVuYyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRy
dW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
MyBvcGVyYXRvci56d3oodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0
M3gyIHRydW5jKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDMgb3BlcmF0b3Iuend6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OworZmxv
YXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0
cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp3eihmbG9hdDQgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
eXd6ICovCi1ib29sNCBvcGVyYXRvci56eXd6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5j
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXd6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4
MyB0cnVuYyhmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHRydW5jKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5j
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IHRydW5jKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnp5d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7CitmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRy
dW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl3eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4
NCB0cnVuYyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5j
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56eXd3ICovCi1ib29sNCBvcGVyYXRvci56eXd3KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCB0
cnVuYyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRy
dW5jKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5j
KHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHRydW5jKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKwor
LyogRnVuY3Rpb25zIG5hbWVkIG1heCAqLwordWludCBtYXgodWludCB4LCB1aW50IHkpIHsKKyAg
ICByZXR1cm4geCA+IHkgPyB4IDogeTsKIH0KLWludDQgb3BlcmF0b3Iuenl3dyhpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKK3VpbnQyIG1heCh1
aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1h
eCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eXd3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKK3VpbnQzIG1heCh1aW50MyB4
LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gbWF4KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54d3o9ICovCi1ib29sNCBvcGVyYXRvci54d3o9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54d3o9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3
ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3o9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwordWludDQgbWF4KHVpbnQ0IHgsIHVpbnQ0
IHkpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgo
eFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXh3ICovCi1ib29s
NCBvcGVyYXRvci54eXh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworCitpbnQgbWF4KGludCB4LCBp
bnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHggOiB5OwogfQotdWludDQgb3BlcmF0b3IueHl4
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OworaW50MiBtYXgoaW50MiB4LCBpbnQyIHkpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eHcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitpbnQzIG1heChpbnQz
IHgsIGludDMgeSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gbWF4KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueHl4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitpbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgeworICAgIGludDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsx
XSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFsz
XSA9IG1heCh4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3p5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3p5PShib29sNCB2LCBi
b29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OworCitmbG9hdCBtYXgoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHgg
OiB5OwogfQotdWludDQgb3BlcmF0b3Iud3p5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0MiBtYXgoZmxvYXQyIHgsIGZsb2F0MiB5KSB7Cisg
ICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnd6eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBj
Lno7CitmbG9hdDMgbWF4KGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4
WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53enk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4
KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6eCAqLwotYm9v
bDQgb3BlcmF0b3IueHh6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVy
YXRvci54eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4MiBtYXgoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZs
b2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHh6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDIgbWF4KGZsb2F0NHgyIHgs
IGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHh6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0
MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4
WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh6eChpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gzIG1h
eChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBt
YXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnh4engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgbWF4KGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnh4engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQzeDQgbWF4KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsK
KyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHogKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0
NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1b
MF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsy
XVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhb
Ml1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXd4eih1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7CisKKworLyogRnVuY3Rpb25zIG5hbWVkIGFzaW50ICovCitpbnQgYXNpbnQoaW50
IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWludDQgb3BlcmF0b3IueXd4eihpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworaW50MiBhc2ludChpbnQyIHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWZsb2F0NCBvcGVy
YXRvci55d3h6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworaW50MyBhc2ludChpbnQzIHgpIHsKKyAg
ICByZXR1cm4geDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eHogKi8KLWJv
b2w0IG9wZXJhdG9yLnh5eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworaW50NCBhc2ludChpbnQ0IHgp
IHsKKyAgICByZXR1cm4geDsKIH0KLWJvb2w0IG9wZXJhdG9yLnh5eHooYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworaW50IGFzaW50KHVpbnQgeCkgeworICAgIHJldHVybiBpbnQoeCk7CiB9Ci11aW50NCBv
cGVyYXRvci54eXh6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7CitpbnQyIGFzaW50KHVpbnQyIHgpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl4eih1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworaW50MyBhc2ludCh1
aW50MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNpbnQoeFsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHl4eihpbnQzIHYpIHsK
K2ludDQgYXNpbnQodWludDQgeCkgewogICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OworICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGFzaW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGFzaW50KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5
eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
CituYXRpdmUgaW50IGFzaW50KGZsb2F0KTsKK2ludDIgYXNpbnQoZmxvYXQyIHgpIHsKKyAgICBp
bnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBhc2ludCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5
eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OworaW50MyBhc2ludChmbG9hdDMgeCkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGFzaW50KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3IueHl4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7CitpbnQ0IGFzaW50KGZsb2F0NCB4KSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXNpbnQoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIHNxcnQgKi8K
LWZsb2F0IHNxcnQoZmxvYXQgeCkgewotICAgIHJldHVybiBwb3coeCwgMC41KTsKLX0KLWZsb2F0
MiBzcXJ0KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBz
cXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBzcXJ0KGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gc3FydCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHNx
cnQoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNxcnQo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzcXJ0
KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBz
cXJ0KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHNxcnQoeFsxXVsyXSk7CisvKiBGdW5jdGlvbnMgbmFtZWQgY2xhbXAgKi8KK25hdGl2
ZSB1aW50IGNsYW1wKHVpbnQsIHVpbnQsIHVpbnQpOworbmF0aXZlIHVpbnQyIGNsYW1wKHVpbnQy
LCB1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQzIGNsYW1wKHVpbnQzLCB1aW50MywgdWludDMp
OworbmF0aXZlIHVpbnQ0IGNsYW1wKHVpbnQ0LCB1aW50NCwgdWludDQpOworbmF0aXZlIGludCBj
bGFtcChpbnQsIGludCwgaW50KTsKK25hdGl2ZSBpbnQyIGNsYW1wKGludDIsIGludDIsIGludDIp
OworbmF0aXZlIGludDMgY2xhbXAoaW50MywgaW50MywgaW50Myk7CituYXRpdmUgaW50NCBjbGFt
cChpbnQ0LCBpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBmbG9hdCBjbGFtcChmbG9hdCwgZmxvYXQsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDIgY2xhbXAoZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRp
dmUgZmxvYXQzIGNsYW1wKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBj
bGFtcChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDJ4MiBjbGFtcChmbG9h
dDJ4MiwgZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDN4MiBjbGFtcChmbG9hdDN4
MiwgZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDR4MiBjbGFtcChmbG9hdDR4Miwg
ZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDJ4MyBjbGFtcChmbG9hdDJ4MywgZmxv
YXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDN4MyBjbGFtcChmbG9hdDN4MywgZmxvYXQz
eDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDR4MyBjbGFtcChmbG9hdDR4MywgZmxvYXQ0eDMs
IGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDJ4NCBjbGFtcChmbG9hdDJ4NCwgZmxvYXQyeDQsIGZs
b2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4NCBjbGFtcChmbG9hdDN4NCwgZmxvYXQzeDQsIGZsb2F0
M3g0KTsKK25hdGl2ZSBmbG9hdDR4NCBjbGFtcChmbG9hdDR4NCwgZmxvYXQ0eDQsIGZsb2F0NHg0
KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPCAqLworbmF0aXZlIGJvb2wgb3BlcmF0
b3I8KGludCwgaW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPCh1aW50LCB1aW50KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPChmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPCh1
aW50MiwgdWludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPCh1aW50MywgdWludDMpOworbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPCh1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9y
PChpbnQyLCBpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcjwoaW50MywgaW50Myk7CituYXRp
dmUgYm9vbDQgb3BlcmF0b3I8KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPChm
bG9hdDIsIGZsb2F0Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I8KGZsb2F0MywgZmxvYXQzKTsK
K25hdGl2ZSBib29sNCBvcGVyYXRvcjwoZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIg
b3BlcmF0b3I8KGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcjwo
ZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPChmbG9hdDR4Miwg
ZmxvYXQ0eDIpOworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8KGZsb2F0MngzLCBmbG9hdDJ4Myk7
CituYXRpdmUgYm9vbDN4MyBvcGVyYXRvcjwoZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBi
b29sNHgzIG9wZXJhdG9yPChmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3Bl
cmF0b3I8KGZsb2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgYm9vbDN4NCBvcGVyYXRvcjwoZmxv
YXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPChmbG9hdDR4NCwgZmxv
YXQ0eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgaXNuYW4gKi8KK25hdGl2ZSBib29sIGlzbmFu
KGZsb2F0KTsKKworYm9vbDIgaXNuYW4oZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IHNxcnQoZmxvYXQyeDQgeCkgewotICAg
IGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNx
cnQoeFsxXVszXSk7Citib29sMyBpc25hbihmbG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBpc25hbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc25hbih4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBpc25hbih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworYm9vbDQgaXNuYW4oZmxvYXQ0IHgpIHsK
KyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7CisgICAgcmVz
dWx0WzFdID0gaXNuYW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gaXNuYW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gz
IHNxcnQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
c3FydCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQg
QWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KK25hdGl2ZSB2b2lkIEFsbE1lbW9yeUJh
cnJpZXJXaXRoR3JvdXBTeW5jKCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcl4gKi8K
K2Jvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBiKSB7CisgICAgaWYgKGEpCisgICAgICAgIHJl
dHVybiAhYjsKKyAgICByZXR1cm4gYjsKIH0KLWZsb2F0M3g0IHNxcnQoZmxvYXQzeDQgeCkgewot
ICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3Fy
dCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IHNxcnQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKK25hdGl2ZSBpbnQgb3Bl
cmF0b3JeKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9yXih1aW50LCB1aW50KTsKKwor
LyogRnVuY3Rpb25zIG5hbWVkIGlzaW5mICovCituYXRpdmUgYm9vbCBpc2luZihmbG9hdCk7Citi
b29sMiBpc2luZihmbG9hdDIgeCkgeworICAgIGJvb2wyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0eDIgc3FydChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IHNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsK
K2Jvb2wzIGlzaW5mKGZsb2F0MyB4KSB7CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGlzaW5mKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBzcXJ0
KGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
c3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBzcXJ0KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7
Citib29sNCBpc2luZihmbG9hdDQgeCkgeworICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBpc2luZih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBpc2luZih4WzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
c3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBzcXJ0KHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfCAqLwor
Ym9vbCBvcGVyYXRvcnwoYm9vbCBhLCBib29sIGIpIHsKKyAgICByZXR1cm4gYSB8fCBiOwogfQor
bmF0aXZlIGludCBvcGVyYXRvcnwoaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3J8KHVp
bnQsIHVpbnQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgYWNvcyAqLwotbmF0aXZlIGZsb2F0IGFj
b3MoZmxvYXQpOwotZmxvYXQyIGFjb3MoZmxvYXQyIHgpIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBk
ZWdyZWVzICovCitmbG9hdCBkZWdyZWVzKGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAqIDE4MCAv
IDMuMTQxNTk7Cit9CitmbG9hdDIgZGVncmVlcyhmbG9hdDIgeCkgewogICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhY29zKHhb
MV0pOworICAgIHJlc3VsdFswXSA9IGRlZ3JlZXMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVn
cmVlcyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIGFjb3MoZmxvYXQzIHgp
IHsKK2Zsb2F0MyBkZWdyZWVzKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBhY29zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gYWNvcyh4WzJdKTsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGVncmVlcyh4
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGFjb3MoZmxvYXQ0IHgpIHsKK2Zs
b2F0NCBkZWdyZWVzKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBhY29zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gYWNvcyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhY29zKHhbM10pOworICAgIHJlc3Vs
dFswXSA9IGRlZ3JlZXMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBkZWdyZWVzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRlZ3JlZXMoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGFjb3MoZmxvYXQyeDIgeCkgewor
ZmxvYXQyeDIgZGVncmVlcyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgYWNvcyhmbG9hdDJ4MyB4KSB7Ci0g
ICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29z
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0p
OworZmxvYXQzeDIgZGVncmVlcyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBhY29zKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29z
KHhbMV1bM10pOworZmxvYXQ0eDIgZGVncmVlcyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQz
eDIgYWNvcyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFj
b3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworZmxvYXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MyBh
Y29zKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIGRlZ3JlZXMoZmxvYXQzeDMgeCkgewogICAgIGZs
b2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgYWNvcyhmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFj
b3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
MiBhY29zKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVswXSA9
IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDR4MyBhY29zKGZsb2F0NHgzIHgpIHsKK2Zsb2F0NHgzIGRlZ3JlZXMoZmxvYXQ0
eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGFjb3MoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgYWNvcyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
YWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGFjb3Mo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBhY29zKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGFjb3MoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5
d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnh5d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5d3co
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXd3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+ICovCi1uYXRpdmUgYm9v
bCBvcGVyYXRvcj4oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KHVpbnQsIHVpbnQp
OwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I+KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I+KHVpbnQzLCB1aW50
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+KHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgYm9vbDIg
b3BlcmF0b3I+KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPihpbnQzLCBpbnQz
KTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj4oaW50NCwgaW50NCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I+KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj4oZmxvYXQzLCBm
bG9hdDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPihmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUg
Ym9vbDJ4MiBvcGVyYXRvcj4oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9w
ZXJhdG9yPihmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+KGZs
b2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj4oZmxvYXQzeDIsIGZs
b2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPihmbG9hdDN4MywgZmxvYXQzeDMpOwot
bmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I+KGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgYm9v
bDR4MiBvcGVyYXRvcj4oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJh
dG9yPihmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I+KGZsb2F0
NHg0LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciYgKi8KLWJvb2wg
b3BlcmF0b3ImKGJvb2wgYSwgYm9vbCBiKSB7Ci0gICAgcmV0dXJuIGEgJiYgYjsKLX0KLW5hdGl2
ZSBpbnQgb3BlcmF0b3ImKGludCwgaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yJih1aW50LCB1
aW50KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXogKi8KLWJvb2w0IG9wZXJh
dG9yLnp4eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh5eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl6KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci56eHl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXp5ICovCi1ib29sNCBvcGVyYXRvci56eXp5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp5enkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56eXp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enl6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRlZ3JlZXMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eXp5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQgZGVn
cmVlcyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5enkoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQz
eDQgZGVncmVlcyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl6eShmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBkZWdyZWVzKGZs
b2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVn
cmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAg
IHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGVn
cmVlcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXh5dyAqLwotYm9vbDQgb3BlcmF0b3IueXh5dyhib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisvKiBGdW5jdGlvbnMgbmFtZWQgU2FtcGxlICov
CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdCBsb2Nh
dGlvbik7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludD4sIHNhbXBsZXIs
IGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVpbnQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUyRDx1
aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgdWlu
dCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludD4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUzRDx1
aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50IFNhbXBsZShUZXh0
dXJlM0Q8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0
aXZlIHVpbnQgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMUQ8dWludDI+LCBzYW1wbGVyLCBmbG9h
dCBsb2NhdGlvbik7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUxREFycmF5PHVpbnQyPiwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJE
PHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUo
VGV4dHVyZTJEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7
CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQyPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50MiBT
YW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2
ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
LCBpbnQzIG9mZnNldCk7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQyPiwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTFE
PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUg
dWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7
CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgU2FtcGxl
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUzRDx1aW50Mz4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUzRDx1aW50Mz4sIHNh
bXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIHVpbnQzIFNhbXBs
ZShUZXh0dXJlQ3ViZTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUg
dWludDQgU2FtcGxlKFRleHR1cmUxRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsK
K25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkQ8dWludDQ+LCBzYW1w
bGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkQ8dWlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50
NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJl
M0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBs
ZShUZXh0dXJlM0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKK25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEPGludD4sIHNhbXBsZXIs
IGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUxREFycmF5PGludD4s
IHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkQ8
aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1
cmUyRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2
ZSBpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUzRDxp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVy
ZTNEPGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZl
IGludCBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMUQ8aW50Mj4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0
aW9uKTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQyPiwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50Mj4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTJEPGlu
dDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQy
IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQyPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTNEPGlu
dDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgU2FtcGxlKFRleHR1
cmUzRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRp
dmUgaW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFEPGludDM+LCBzYW1wbGVyLCBmbG9hdCBs
b2NhdGlvbik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEPGludDM+
LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUy
RDxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
aW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUz
RDxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQzIFNhbXBsZShU
ZXh0dXJlM0Q8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwor
bmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmVDdWJlPGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUxRDxpbnQ0Piwgc2FtcGxlciwgZmxv
YXQgbG9jYXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGludDQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyRDxp
bnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0
dXJlMkQ8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0
aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0
dXJlM0Q8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50NCBTYW1w
bGUoVGV4dHVyZTNEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQ0Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMURBcnJheTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRl
eHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyREFycmF5
PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
ZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlQ3ViZTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBsZShU
ZXh0dXJlMUQ8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0
MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9u
KTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0MiBTYW1w
bGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTNE
PGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBs
ZShUZXh0dXJlM0Q8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNl
dCk7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlQ3ViZTxmbG9hdDI+LCBzYW1wbGVyLCBm
bG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0Mz4s
IHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUx
REFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQz
IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9j
YXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQzIFNhbXBs
ZShUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIg
b2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDM+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0
Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0
MyBTYW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdCBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJE
PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBs
ZShUZXh0dXJlMkQ8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNl
dCk7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
ZmxvYXQ0IFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmVD
dWJlPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2Ft
cGxlKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoQ3ViZTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBz
aW5oICovCituYXRpdmUgZmxvYXQgc2luaChmbG9hdCk7CitmbG9hdDIgc2luaChmbG9hdDIgeCkg
eworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBzaW5oKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnl4eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7CitmbG9hdDMgc2luaChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eHl3KGZsb2F0NCB2KSB7CitmbG9hdDQgc2luaChmbG9hdDQgeCkgewogICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eHogKi8KLWJvb2w0IG9wZXJh
dG9yLnp3eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNp
bmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2luaCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBz
aW5oKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3h6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citm
bG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc2luaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56
d3h6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56
OworZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuend4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MiBzaW5oKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBz
aW5oKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53d3h5ICovCi1ib29sNCBvcGVyYXRvci53d3h5KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBzaW5oKGZs
b2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lu
aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNpbmgoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd3
eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Zsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBv
cGVyYXRvci53d3h5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OworZmxvYXQ0eDMgc2luaChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNp
bmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3Iud3d4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4NCBzaW5oKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eCAqLwotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDIgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0M3g0IHNpbmgo
ZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBz
aW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDMgdikgewotICAg
IGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
K2Zsb2F0NHg0IHNpbmgoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5o
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
c2luaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBzaW5oKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1ib29sMiBvcGVyYXRvci55eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OworCisvKiBGdW5jdGlvbnMg
bmFtZWQgZGR5ICovCituYXRpdmUgZmxvYXQgZGR5KGZsb2F0KTsKK2Zsb2F0MiBkZHkoZmxvYXQy
IHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9w
ZXJhdG9yLnl4KHVpbnQyIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDMgZGR5KGZsb2F0MyB4KSB7CisgICAgZmxv
YXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
ZGR5KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDIgb3BlcmF0b3IueXgodWludDMgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0NCBkZHkoZmxvYXQ0
IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5KHhbMl0pOworICAg
IHJlc3VsdFszXSA9IGRkeSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3Bl
cmF0b3IueXgodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7CisgICAg
ZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MiBvcGVyYXRvci55eChpbnQyIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0M3gyIGRkeShmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnl4KGludDMgdikgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OworZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZGR5KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MiBvcGVyYXRvci55eChpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MngzIGRkeShmbG9hdDJ4
MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueXgoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OworZmxvYXQzeDMgZGR5KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRk
eSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVy
YXRvci55eChmbG9hdDMgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgeworICAg
IGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQy
IG9wZXJhdG9yLnl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7
CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHko
eFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGRkeShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4NCBkZHkoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHkoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bM10gPSBkZHkoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIHRhbmggKi8KLW5hdGl2ZSBmbG9hdCB0YW5oKGZsb2F0KTsKLWZsb2F0MiB0
YW5oKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0YW5o
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CisvKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3I+PSAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShpbnQsIGludCk7CituYXRpdmUg
Ym9vbCBvcGVyYXRvcj49KHVpbnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShmbG9h
dCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0odWludDIsIHVpbnQyKTsKK25hdGl2
ZSBib29sMyBvcGVyYXRvcj49KHVpbnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I+
PSh1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0oaW50MiwgaW50Mik7Citu
YXRpdmUgYm9vbDMgb3BlcmF0b3I+PShpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRv
cj49KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0oZmxvYXQyLCBmbG9hdDIp
OworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPj0oZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I+PShm
bG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I+PShmbG9hdDN4Miwg
ZmxvYXQzeDIpOworbmF0aXZlIGJvb2w0eDIgb3BlcmF0b3I+PShmbG9hdDR4MiwgZmxvYXQ0eDIp
OworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I+PShmbG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZl
IGJvb2wzeDMgb3BlcmF0b3I+PShmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2w0eDMg
b3BlcmF0b3I+PShmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+
PShmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I+PShmbG9hdDN4
NCwgZmxvYXQzeDQpOworbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I+PShmbG9hdDR4NCwgZmxvYXQ0
eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgZHN0ICovCit1aW50NCBkc3QodWludDQgc3JjMCwg
dWludDQgc3JjMSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IDE7CisgICAg
cmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7CisgICAgcmVzdWx0LnogPSBzcmMwLno7CisgICAg
cmVzdWx0LncgPSBzcmMxLnc7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyB0YW5oKGZs
b2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gdGFuaCh4WzJd
KTsKK2ludDQgZHN0KGludDQgc3JjMCwgaW50NCBzcmMxKSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0LnggPSAxOworICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJl
c3VsdC56ID0gc3JjMC56OworICAgIHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgdGFuaChmbG9hdDQgeCkgeworZmxvYXQ0IGRzdChmbG9hdDQgc3JjMCwg
ZmxvYXQ0IHNyYzEpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbmgo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0YW5o
KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHRhbmgoeFszXSk7CisgICAgcmVzdWx0LnggPSAxOwor
ICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJlc3VsdC56ID0gc3JjMC56Owor
ICAgIHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiB0
YW5oKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4
WzFdWzFdKTsKKworCisvKiBGdW5jdGlvbnMgbmFtZWQgZG90ICovCit1aW50IGRvdCh1aW50IGEs
IHVpbnQgYikgeworICAgIHJldHVybiBhICogYjsKK30KK3VpbnQgZG90KHVpbnQyIGEsIHVpbnQy
IGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAq
IGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0MngzIHRhbmgoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKK3VpbnQgZG90KHVpbnQz
IGEsIHVpbnQzIGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0Mng0IHRhbmgoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7Cit1aW50IGRvdCh1aW50
NCBhLCB1aW50NCBiKSB7CisgICAgdWludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
M10gKiBiWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiB0YW5oKGZsb2F0M3gy
IHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgo
eFsyXVsxXSk7CitpbnQgZG90KGludCBhLCBpbnQgYikgeworICAgIHJldHVybiBhICogYjsKK30K
K2ludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKKyAgICBpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1
bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICog
YlsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgdGFuaChmbG9hdDN4MyB4KSB7
Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0
YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOworaW50
IGRvdChpbnQzIGEsIGludDMgYikgeworICAgIGludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDN4NCB0YW5oKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5o
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
dGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IHRhbmgoeFsyXVszXSk7CitpbnQgZG90KGludDQgYSwgaW50NCBiKSB7CisgICAgaW50IHJl
c3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJb
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJbM107CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NHgyIHRhbmgoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRh
bmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSB0YW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CitmbG9h
dCBkb3QoZmxvYXQgYSwgZmxvYXQgYikgeworICAgIHJldHVybiBhICogYjsKK30KK2Zsb2F0IGRv
dChmbG9hdDIgYSwgZmxvYXQyIGIpIHsKKyAgICBmbG9hdCByZXN1bHQgPSAwOworICAgIHJlc3Vs
dCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBi
WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyB0YW5oKGZsb2F0NHgzIHgpIHsK
LSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CitmbG9hdCBkb3QoZmxv
YXQzIGEsIGZsb2F0MyBiKSB7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHRhbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRh
bmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSB0YW5oKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhb
M11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHRhbmgoeFszXVszXSk7CitmbG9hdCBkb3QoZmxv
YXQ0IGEsIGZsb2F0NCBiKSB7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzNdICogYlszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXh6PSAqLwotYm9vbDMgb3BlcmF0b3IueXh6PShib29sMyB2LCBib29sMyBj
KSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc2Zs
b2F0ICovCituYXRpdmUgZmxvYXQgYXNmbG9hdChpbnQpOworZmxvYXQyIGFzZmxvYXQoaW50MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2w0IG9wZXJhdG9yLnl4ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7CitmbG9hdDMgYXNmbG9hdChpbnQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50MyBvcGVyYXRvci55eHo9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OworZmxvYXQ0IGFzZmxvYXQoaW50NCB4KSB7CisgICAgZmxvYXQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFz
ZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKKyAgICByZXN1bHRb
M10gPSBhc2Zsb2F0KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55eHo9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owor
bmF0aXZlIGZsb2F0IGFzZmxvYXQodWludCk7CitmbG9hdDIgYXNmbG9hdCh1aW50MiB4KSB7Cisg
ICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3Bl
cmF0b3IueXh6PShpbnQzIHYsIGludDMgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
K2Zsb2F0MyBhc2Zsb2F0KHVpbnQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnl4ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7CitmbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2Zsb2F0
KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXh6PShmbG9h
dDMgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0OworZmxvYXQgYXNmbG9hdChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1m
bG9hdDQgb3BlcmF0b3IueXh6PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyIGFzZmxvYXQoZmxvYXQy
IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4
enk9ICovCi1ib29sNCBvcGVyYXRvci53eHp5PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OworZmxvYXQzIGFzZmxvYXQoZmxvYXQzIHgpIHsKKyAgICByZXR1cm4geDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnd4enk9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56
ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdDQg
YXNmbG9hdChmbG9hdDQgeCkgeworICAgIHJldHVybiB4OwogfQotaW50NCBvcGVyYXRvci53eHp5
PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1
bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyeDIgYXNmbG9hdChmbG9hdDJ4
MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6eT0oZmxvYXQ0IHYs
IGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0Lnkg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0M3gyIGFzZmxvYXQoZmxvYXQzeDIgeCkg
eworICAgIHJldHVybiB4OworfQorZmxvYXQ0eDIgYXNmbG9hdChmbG9hdDR4MiB4KSB7CisgICAg
cmV0dXJuIHg7Cit9CitmbG9hdDJ4MyBhc2Zsb2F0KGZsb2F0MngzIHgpIHsKKyAgICByZXR1cm4g
eDsKK30KK2Zsb2F0M3gzIGFzZmxvYXQoZmxvYXQzeDMgeCkgeworICAgIHJldHVybiB4OworfQor
ZmxvYXQ0eDMgYXNmbG9hdChmbG9hdDR4MyB4KSB7CisgICAgcmV0dXJuIHg7Cit9CitmbG9hdDJ4
NCBhc2Zsb2F0KGZsb2F0Mng0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0M3g0IGFzZmxv
YXQoZmxvYXQzeDQgeCkgeworICAgIHJldHVybiB4OworfQorZmxvYXQ0eDQgYXNmbG9hdChmbG9h
dDR4NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ciogKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3IqKGludCwgaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJh
dG9yKih1aW50LCB1aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvciooZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MiBvcGVy
YXRvcioodWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50LCB1aW50Mik7
Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgdWludDMgb3Bl
cmF0b3IqKHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvcioodWludCwgdWludDMp
OwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludDQpOwotbmF0aXZlIHVpbnQ0IG9w
ZXJhdG9yKih1aW50NCwgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IqKHVpbnQsIHVpbnQ0
KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQyIG9wZXJh
dG9yKihpbnQyLCBpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IqKGludCwgaW50Mik7Ci1uYXRp
dmUgaW50MyBvcGVyYXRvciooaW50MywgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvciooaW50
MywgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQsIGludDMpOwotbmF0aXZlIGludDQg
b3BlcmF0b3IqKGludDQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IqKGludDQsIGludCk7
Ci1uYXRpdmUgaW50NCBvcGVyYXRvciooaW50LCBpbnQ0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0
b3IqKGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZsb2F0MiwgZmxv
YXQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxv
YXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yKihm
bG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDMpOwot
bmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0NCBv
cGVyYXRvciooZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKihmbG9hdCwg
ZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0MngyKTsK
LW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9h
dDJ4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRv
ciooZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQy
eDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngzKTsK
LW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVy
YXRvciooZmxvYXQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQz
eDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQzeDIsIGZsb2F0
KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3gyKTsKLW5hdGl2ZSBm
bG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4MyBv
cGVyYXRvciooZmxvYXQzeDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxv
YXQsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0
M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0KTsKLW5hdGl2
ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBv
cGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvcioo
ZmxvYXQ0eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0
NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5h
dGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4
MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcioo
ZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQ0eDQs
IGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHg0KTsKKy8q
IEZ1bmN0aW9ucyBuYW1lZCBpc25vcm1hbCAqLworbmF0aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQp
OwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgY29zICovCi1uYXRpdmUgZmxvYXQgY29zKGZsb2F0KTsK
LWZsb2F0MiBjb3MoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBjb3MoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gY29zKHhbMl0pOworYm9vbDIgaXNub3JtYWwoZmxvYXQyIHgpIHsKKyAgICBi
b29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gaXNub3JtYWwoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBjb3Mo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGNvcyh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zKHhbMl0p
OwotICAgIHJlc3VsdFszXSA9IGNvcyh4WzNdKTsKK2Jvb2wzIGlzbm9ybWFsKGZsb2F0MyB4KSB7
CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGlzbm9ybWFsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhb
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBjb3MoZmxvYXQyeDIgeCkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBj
b3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4NCBjb3MoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4MiBjb3MoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDMgY29zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3Mo
eFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGNvcyhmbG9hdDN4NCB4
KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
Y29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBj
b3MoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3Mo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOworYm9v
bDQgaXNub3JtYWwoZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gaXNub3JtYWwoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp6encgKi8KLWJvb2w0IG9wZXJhdG9yLnp6encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenp6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl3eSAqLwotYm9v
bDQgb3BlcmF0b3IueXl3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55
eXd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl3eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
CisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRFeGNoYW5nZSAqLworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCos
IGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZp
Y2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0
aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmlj
ZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdl
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2
aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54end5PSAqLwotYm9vbDQgb3Bl
cmF0b3IueHp3eT0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBj
Lno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh6d3k9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0g
Yy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnh6d3k9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHp3eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lncg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1
bmN0aW9ucyBuYW1lZCBHZXREaW1lbnNpb25zICovCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3p6ICovCi1ib29sNCBvcGVyYXRv
ci55d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3enoodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3p6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXd6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenc9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29s
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56dz0odWludDQgdiwgdWludDIg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LncgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenc9KGlu
dDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3Iuenc9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enh6ICovCi1ib29sNCBvcGVyYXRv
ci54enh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eHooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHp4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp4eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I9PSAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShi
b29sLCBib29sKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0oaW50LCBpbnQpOwotbmF0aXZlIGJv
b2wgb3BlcmF0b3I9PSh1aW50LCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0oZmxvYXQs
IGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGJvb2wyLCBib29sMik7Ci1uYXRpdmUg
Ym9vbDMgb3BlcmF0b3I9PShib29sMywgYm9vbDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0o
Ym9vbDQsIGJvb2w0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KHVpbnQyLCB1aW50Mik7Ci1u
YXRpdmUgYm9vbDMgb3BlcmF0b3I9PSh1aW50MywgdWludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJh
dG9yPT0odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGludDIsIGludDIp
OwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPT0oaW50MywgaW50Myk7Ci1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3I9PShpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGZsb2F0MiwgZmxv
YXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj09KGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBi
b29sNCBvcGVyYXRvcj09KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9y
PT0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9wZXJhdG9yPT0oZmxvYXQy
eDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBib29sMng0IG9wZXJhdG9yPT0oZmxvYXQyeDQsIGZsb2F0
Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5h
dGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBib29s
M3g0IG9wZXJhdG9yPT0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJh
dG9yPT0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJhdG9yPT0oZmxv
YXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29sNHg0IG9wZXJhdG9yPT0oZmxvYXQ0eDQsIGZs
b2F0NHg0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPT0oYm9vbDJ4MiwgYm9vbDJ4Mik7Ci1u
YXRpdmUgYm9vbDJ4MyBvcGVyYXRvcj09KGJvb2wyeDMsIGJvb2wyeDMpOwotbmF0aXZlIGJvb2wy
eDQgb3BlcmF0b3I9PShib29sMng0LCBib29sMng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9y
PT0oYm9vbDN4MiwgYm9vbDN4Mik7Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj09KGJvb2wzeDMs
IGJvb2wzeDMpOwotbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9PShib29sM3g0LCBib29sM3g0KTsK
LW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPT0oYm9vbDR4MiwgYm9vbDR4Mik7Ci1uYXRpdmUgYm9v
bDR4MyBvcGVyYXRvcj09KGJvb2w0eDMsIGJvb2w0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0
b3I9PShib29sNHg0LCBib29sNHg0KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj4gKi8KLW5hdGl2ZSBpbnQgb3BlcmF0
b3I+PihpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3I+Pih1aW50LCB1aW50KTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVu
Y3Rpb25zIG5hbWVkIHJlZmxlY3QgKi8KLWZsb2F0IHJlZmxlY3QoZmxvYXQgaSwgZmxvYXQgbikg
ewotICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19Ci1mbG9hdDIgcmVmbGVjdChm
bG9hdDIgaSwgZmxvYXQyIG4pIHsKLSAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4pOwot
fQotZmxvYXQzIHJlZmxlY3QoZmxvYXQzIGksIGZsb2F0MyBuKSB7Ci0gICAgcmV0dXJuIGkgLSAy
ICogbiAqIGRvdChpLCBuKTsKLX0KLWZsb2F0NCByZWZsZWN0KGZsb2F0NCBpLCBmbG9hdDQgbikg
ewotICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19CiAKIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd3eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd3eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd3eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53
d3h3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueHp5eiAqLwotYm9vbDQgb3BlcmF0b3IueHp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1i
b29sNCBvcGVyYXRvci54enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh6eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXooaW50MyB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHp5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh6eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eihmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGxpdCAqLwotZmxvYXQ0
IGxpdChmbG9hdCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7Ci0gICAgZmxvYXQg
YW1iaWVudCA9IDE7Ci0gICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKLSAgICBm
bG9hdCBzcGVjdWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90X2gg
KiBtOwotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSBhbWJpZW50OwotICAgIHJl
c3VsdC55ID0gZGlmZnVzZTsKLSAgICByZXN1bHQueiA9IHNwZWN1bGFyOwotICAgIHJlc3VsdC53
ID0gMTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1
aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHd4ICovCi1ib29s
NCBvcGVyYXRvci55eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4
d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd4KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGxvZzIgKi8KLWZsb2F0IGxvZzIoZmxvYXQgeCkg
ewotICAgIHJldHVybiBsb2coeCkgLyBsb2coZmxvYXQoMikpOwotfQotZmxvYXQyIGxvZzIoZmxv
YXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZzIoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIGxvZzIoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGxvZzIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBsb2cyKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbG9nMihmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gbG9nMih4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgbG9nMihmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzIoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGxvZzIoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMihmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
bG9nMihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBs
b2cyKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMih4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxv
ZzIoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGxvZzIoZmxvYXQz
eDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9n
Mih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGxvZzIoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbG9nMihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
bG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbG9nMihmbG9hdDR4MyB4KSB7
Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4NCBsb2cyKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9n
Mih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGxvZzIoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGxvZzIoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbG9nMih4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgbm9ybWFsaXplICovCi1mbG9hdCBub3JtYWxpemUoZmxvYXQgeCkgewotICAgIHJldHVy
biB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQyIG5vcm1hbGl6ZShmbG9hdDIgeCkgewotICAgIHJl
dHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQzIG5vcm1hbGl6ZShmbG9hdDMgeCkgewotICAg
IHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQ0IG5vcm1hbGl6ZShmbG9hdDQgeCkgewot
ICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBsZGV4cCAqLwotZmxvYXQgbGRleHAoZmxvYXQgeCwgZmxv
YXQgZSkgewotICAgIHJldHVybiB4ICogcG93KDIsIGUpOwotfQotZmxvYXQyIGxkZXhwKGZsb2F0
MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbGRl
eHAoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGxkZXhwKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhb
Ml0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbGRleHAoZmxvYXQ0IHgs
IGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsZGV4cCh4
WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBsZGV4cCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBsZGV4cCh4WzNdLCB5
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbGRleHAoZmxvYXQyeDIgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBs
ZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDMgbGRleHAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAg
IGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFd
WzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbGRleHAoZmxvYXQyeDQgeCwgZmxv
YXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4
cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbGRleHAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkg
ewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4
cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbGRleHAoZmxvYXQzeDMg
eCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBs
ZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBd
LCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgbGRleHAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAg
IGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
ZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDIgbGRleHAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAg
IGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDMgbGRleHAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDQgbGRleHAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4
WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBs
ZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFd
LCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsK
LSAgICByZXN1bHRbM11bM10gPSBsZGV4cCh4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHp3eiAqLwotYm9vbDQgb3BlcmF0b3IueHp3eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54end6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHp3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3ooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl4ICov
Ci1ib29sNCBvcGVyYXRvci53eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd4eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHl4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHcgKi8KLWJvb2w0IG9wZXJh
dG9yLnl3eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd4dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eHcoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55d3h3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl5eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl5eihib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXl6KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenl5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXoo
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl5eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iuenl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIGFicyAqLwotdWludCBhYnModWludCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1pbnQg
YWJzKGludCB4KSB7Ci0gICAgaWYgKHggPCAwKQotICAgICAgICByZXR1cm4gLXg7Ci0gICAgcmV0
dXJuIHg7Ci19Ci1mbG9hdCBhYnMoZmxvYXQgeCkgewotICAgIGlmICh4IDwgMCkKLSAgICAgICAg
cmV0dXJuIC14OwotICAgIHJldHVybiB4OwotfQotdWludDIgYWJzKHVpbnQyIHgpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGFicyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgYWJzKHVpbnQzIHgpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IGFicyh1aW50NCB4KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MiBhYnMoaW50MiB4KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBhYnMoaW50MyB4KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
YWJzKGludDQgeCkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0p
OwotICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyIGFicyhmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzIGFicyhmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBhYnMoZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgYWJzKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBhYnMoZmxvYXQyeDMgeCkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFi
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYWJzKGZsb2F0M3gyIHgpIHsKLSAg
ICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQz
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
YnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGFi
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKLSAgICBm
bG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKLSAg
ICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IGFicyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWJzKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwotICAg
IHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVsz
XSA9IGFicyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53
d3l5ICovCi1ib29sNCBvcGVyYXRvci53d3l5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnd3eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3l5
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eShmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIHJvdW5kICovCi1uYXRpdmUg
ZmxvYXQgcm91bmQoZmxvYXQpOwotZmxvYXQyIHJvdW5kKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBy
b3VuZCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHJvdW5kKGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKLSAgICByZXN1bHRb
M10gPSByb3VuZCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcm91bmQo
ZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4
WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgcm91bmQoZmxvYXQyeDMg
eCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
b3VuZCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcm91bmQoZmxv
YXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgcm91bmQoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3Vu
ZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3Vu
ZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcm91bmQoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3Vu
ZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
b3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0
NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBy
b3VuZCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXN1bHRb
M11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10g
PSByb3VuZCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgbXVsICovCi11aW50IG11bCh1aW50IHgsIHVp
bnQgeSkgewotICAgIHJldHVybiB4ICogeTsKLX0KLWludCBtdWwoaW50IHgsIGludCB5KSB7Ci0g
ICAgcmV0dXJuIHggKiB5OwotfQotZmxvYXQgbXVsKGZsb2F0IHgsIGZsb2F0IHkpIHsKLSAgICBy
ZXR1cm4geCAqIHk7Ci19Ci11aW50MiBtdWwodWludCB4LCB1aW50MiB5KSB7Ci0gICAgdWludDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5
WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7
Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3Vs
dFsxXSA9IHhbMV0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBtdWwodWludCB4
LCB1aW50MyB5KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9
IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBtdWwodWludCB4LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJl
c3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBtdWwodWludDQgeCwgdWludCB5KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5
OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG11bChpbnQgeCwgaW50MiB5KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAq
IHlbMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgbXVsKGludDIgeCwgaW50IHkpIHsK
LSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRb
MV0gPSB4WzFdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBtdWwoaW50IHgsIGlu
dDMgeSkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAg
IHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQzIG11bChpbnQzIHgsIGludCB5KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0geFswXSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7
Ci0gICAgcmVzdWx0WzJdID0geFsyXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
bXVsKGludCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4
ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXN1bHRbMl0gPSB4ICog
eVsyXTsKLSAgICByZXN1bHRbM10gPSB4ICogeVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBtdWwoaW50NCB4LCBpbnQgeSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9
IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDIgbXVsKGZsb2F0IHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQgeSkgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geFswXSAqIHk7Ci0gICAgcmVzdWx0WzFd
ID0geFsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQgeCwg
ZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0MyB4LCBmbG9hdCB5KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRb
MV0gPSB4WzFdICogeTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG11bChmbG9hdCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAqIHlbMV07
Ci0gICAgcmVzdWx0WzJdID0geCAqIHlbMl07Ci0gICAgcmVzdWx0WzNdID0geCAqIHlbM107Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0IHgsIGZsb2F0IHkpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsx
XSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9
IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsK
LSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVsw
XSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRb
MV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAg
ICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDQgbXVsKGZsb2F0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNd
ID0geCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhb
MF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFsw
XVszXSA9IHhbMF1bM10gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAg
IHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0g
KiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3gzIG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9
IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5
WzJdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwg
ZmxvYXQgeSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBd
WzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICog
eTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4
WzJdWzFdICogeTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9h
dDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0geCAq
IHlbMl1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4NCB4
LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsw
XVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9
IHhbMV1bM10gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5Owot
ICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDR4MiBtdWwoZmxvYXQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1b
MV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVsw
XTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDR4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVsw
XSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgzIG11bChmbG9hdCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQ0eDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IHgg
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsy
XVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAg
IHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNd
WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxv
YXQgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
ICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0g
PSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
LSAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJd
WzFdICogeTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11b
MF0gPSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICBy
ZXN1bHRbM11bMl0gPSB4WzNdWzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
eDQgbXVsKGZsb2F0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJd
ID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107Ci0gICAgcmVz
dWx0WzNdWzBdID0geCAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07
Ci0gICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0geCAq
IHlbM11bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdDR4NCB4
LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsw
XVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9
IHhbMV1bM10gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5Owot
ICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwotICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OwotICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OwotICAgIHJlc3VsdFszXVsy
XSA9IHhbM11bMl0gKiB5OwotICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50IG11bCh1aW50MiB4LCB1aW50MiB5KSB7Ci0gICAgcmV0dXJu
IGRvdCh4LCB5KTsKLX0KLXVpbnQgbXVsKHVpbnQzIHgsIHVpbnQzIHkpIHsKLSAgICByZXR1cm4g
ZG90KHgsIHkpOwotfQotdWludCBtdWwodWludDQgeCwgdWludDQgeSkgewotICAgIHJldHVybiBk
b3QoeCwgeSk7Ci19Ci1pbnQgbXVsKGludDIgeCwgaW50MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4
LCB5KTsKLX0KLWludCBtdWwoaW50MyB4LCBpbnQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkp
OwotfQotaW50IG11bChpbnQ0IHgsIGludDQgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19
Ci1mbG9hdCBtdWwoZmxvYXQyIHgsIGZsb2F0MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsK
LX0KLWZsb2F0IG11bChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkp
OwotfQotZmxvYXQgbXVsKGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIHJldHVybiBkb3QoeCwg
eSk7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MiB5KSB7Ci0gICAgZmxvYXQyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsK
LSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0g
KiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MngyIHgs
IGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAg
IHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAq
IHlbMV07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyIG11bChmbG9hdDJ4MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07
Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBd
WzJdICogeVsyXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFd
ICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVsKGZs
b2F0MiB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XSArPSB4WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSAr
PSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MyB4LCBmbG9hdDN4MiB5KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9
IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhb
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBt
dWwoZmxvYXQzeDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAg
cmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
bXVsKGZsb2F0MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdICogeVsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9hdDN4
MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsK
LSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1b
MV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlb
Ml07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0
IHkpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl0g
PSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0g
eFsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFszXSArPSB4WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
ICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10g
KiB5WzNdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5
WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJl
c3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDIgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG11bChmbG9hdDR4MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFd
ICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1
bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFd
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MyB5
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKLSAgICBy
ZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1
bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG11bChmbG9hdDR4MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJd
ICogeVsyXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICog
eVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhb
Ml1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRb
M10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOwot
ICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsy
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdID0g
MDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhb
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMV0gKz0geFszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRb
Ml0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAq
IHlbM11bMl07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSAr
PSB4WzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSAr
PSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAg
cmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOwotICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVz
dWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzFdICogeVsx
XTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzNdICs9IHhb
M11bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MyB5
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMV0gKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtdWwoZmxv
YXQyeDIgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1
bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQy
eDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFd
WzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZs
b2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbXVsKGZs
b2F0MngzIHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1b
M10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVz
dWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNd
ICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbXVsKGZsb2F0Mng0
IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFd
WzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5
KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1b
M10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5
WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAw
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MngzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4
MiB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFd
WzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBt
dWwoZmxvYXQzeDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAg
cmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkp
IHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4MyB4LCBmbG9hdDN4
NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1b
Ml07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAq
IHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwot
ICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsK
LSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsy
XVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBd
ICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAg
cmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV1b
MV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVs
KGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFd
ID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAg
cmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlb
M11bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJl
c3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNd
WzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVsz
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsy
XSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJd
WzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1b
M107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZs
b2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJl
c3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0g
Kz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0g
MDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1b
M107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMl0g
PSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
M11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0gMDsKLSAgICBy
ZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxv
YXQ0eDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7Ci0g
ICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAg
cmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11b
MF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1
bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAg
ICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
NCBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwot
ICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAg
ICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsz
XTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bM10gPSAwOwot
ICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10g
Kz0geFszXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJd
WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDQgeCwgZmxv
YXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsK
LSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNd
ICogeVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVsw
XTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbXVsKGZsb2F0
NHg0IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAq
IHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsK
LSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsz
XSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0g
MDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNd
WzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVz
dWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11b
MV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFsz
XVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9h
dDR4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10g
KiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFd
ICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBd
ICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFszXVszXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM11b
M10gKz0geFszXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5
WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh6eXc9ICovCi1ib29sNCBvcGVyYXRvci54enl3PShib29sNCB2LCBib29sNCBjKSB7
Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
eiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5dz0odWludDQgdiwgdWludDQgYykg
ewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0
LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5dz0oaW50NCB2LCBpbnQ0IGMpIHsK
LSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0Lnog
PSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enl3PShmbG9hdDQgdiwgZmxvYXQ0IGMp
IHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1
bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4dyAq
LwotYm9vbDQgb3BlcmF0b3Iud3l4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci53eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4dyhpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eHcoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh6ICovCi1ib29sNCBvcGVy
YXRvci56eHh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4eHooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh4eih1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iuenh4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4eihmbG9hdDMgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4eCAqLwotYm9vbDQgb3BlcmF0b3IueXl4
eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXh4KGJvb2wzIHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueXl4eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci55eXh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eHgodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh4KGludDIgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnl5eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXl4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHgoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eChmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d3ICovCi1ib29sMyBvcGVyYXRvci53d3coYm9v
bDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDMgb3BlcmF0b3Iud3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3d3KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcmFkaWFucyAqLwotZmxvYXQgcmFkaWFucyhm
bG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggKiAzLjE0MTU5IC8gMTgwOwotfQotZmxvYXQyIHJhZGlh
bnMoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJhZGlh
bnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIHJhZGlhbnMoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmFkaWFucyh4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSByYWRpYW5zKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgcmFkaWFucyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcmFkaWFu
cyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcmFkaWFucyhmbG9hdDJ4
MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHJhZGlhbnMoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5z
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFu
cyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFu
cyh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgcmFkaWFucyhmbG9h
dDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlh
bnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlh
bnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MyByYWRpYW5zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRp
YW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRp
YW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRp
YW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewotICAgIGZs
b2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgcmFkaWFucyhm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJh
ZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJh
ZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJh
ZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7Ci0gICAg
ZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBy
YWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
YWRpYW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBy
YWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
YWRpYW5zKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCByYWRpYW5z
KGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
cmFkaWFucyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
cmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
cmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
cmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
cmFkaWFucyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuend5PSAqLwotYm9vbDQgb3BlcmF0b3Iuend5PShib29sNCB2LCBib29s
MyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3Iuend5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICBy
ZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3k9
KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0g
Yy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsK
LSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgY2VpbCAqLwotbmF0aXZlIGZsb2F0IGNlaWwoZmxvYXQpOwotZmxv
YXQyIGNlaWwoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGNlaWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIGNlaWwoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGNlaWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
Y2VpbChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gY2Vp
bCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNl
aWwoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gY2VpbCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDIgY2VpbChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2Vp
bCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mngz
IGNlaWwoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWls
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQg
Y2VpbChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgY2VpbChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MyBjZWlsKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0
IGNlaWwoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWls
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgY2VpbChmbG9hdDR4MiB4KSB7
Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBj
ZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgY2VpbChm
bG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gY2VpbCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBjZWlsKGZsb2F0NHg0IHgpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWls
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGNlaWwoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
Y2VpbCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY2VpbCh4WzNd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iuenl3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp5d3g9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAg
ICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXd4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0g
ICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXd4PShpbnQ0IHYsIGludDQgYykgewotICAg
IGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5d3g9KGZsb2F0NCB2LCBmbG9hdDQgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55ej0gKi8KLWJv
b2wzIG9wZXJhdG9yLnl6PShib29sMyB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXo9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55ej0odWludDMgdiwgdWlu
dDIgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6
PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci55ej0oaW50MyB2LCBpbnQyIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXo9KGZsb2F0MyB2LCBmbG9hdDIgYykg
ewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXo9KGZs
b2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55
ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBhc2luICovCi1uYXRpdmUgZmxvYXQgYXNpbihmbG9hdCk7Ci1mbG9h
dDIgYXNpbihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YXNpbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgYXNpbihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gYXNpbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGFzaW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBh
c2luKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2lu
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNp
bih4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhc2luKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDJ4MiBhc2luKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMg
YXNpbihmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBh
c2luKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3gzIGFzaW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2lu
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQg
YXNpbihmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFzaW4o
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
c2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBhc2luKGZsb2F0NHgyIHgpIHsK
LSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFz
aW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBhc2luKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBhc2luKGZs
b2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBhc2luKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkgewotICAgIGZs
b2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFzaW4o
eFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBh
c2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFzaW4oeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhc2luKHhbM11b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci54d3p3ICovCi1ib29sNCBvcGVyYXRvci54d3p3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnh3encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54
d3p3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6dyhmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3encgKi8KLWJv
b2w0IG9wZXJhdG9yLnl3encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXd6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3encoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp5eiAqLwotYm9vbDQgb3BlcmF0b3Iu
enp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enl6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXoodWludDMgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3Iuenp5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnp6eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eihpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXooZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6enkoYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp6eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp6enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp6enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBhc3VpbnQgKi8KLXVpbnQgYXN1aW50KGludCB4KSB7Ci0gICAgcmV0dXJuIHVpbnQo
eCk7Ci19Ci11aW50MiBhc3VpbnQoaW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIGFzdWludChpbnQzIHgpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFz
dWludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IGFzdWludChpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhb
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGFzdWludCh1aW50IHgpIHsKLSAgICBy
ZXR1cm4geDsKLX0KLXVpbnQyIGFzdWludCh1aW50MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci11
aW50MyBhc3VpbnQodWludDMgeCkgewotICAgIHJldHVybiB4OwotfQotdWludDQgYXN1aW50KHVp
bnQ0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLW5hdGl2ZSB1aW50IGFzdWludChmbG9hdCk7Ci11
aW50MiBhc3VpbnQoZmxvYXQyIHgpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgYXN1aW50KGZsb2F0MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQo
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBhc3VpbnQoZmxvYXQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
enh5ICovCi1ib29sNCBvcGVyYXRvci55enh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnl6eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4
eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh5KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci55enh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4
eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh5KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcG93ICovCi1uYXRpdmUgZmxv
YXQgcG93KGZsb2F0LCBmbG9hdCk7Ci1mbG9hdDIgcG93KGZsb2F0MiB4LCBmbG9hdDIgeSkgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOwotICAg
IHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIHBvdyhmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgcG93KGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IHBvdyh4
WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gcG93KHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBw
b3coZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7
Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBwb3coZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBwb3coeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0s
IHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4
MiBwb3coZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsy
XSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3g0IHBvdyhmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBd
WzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBwb3coeFsx
XVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhb
Ml1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBwb3coZmxv
YXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBwb3coZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcG93
KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJd
WzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHBv
dyh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcG93
KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBw
b3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
cG93KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVszXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwg
eVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gcG93KHhbM11bM10sIHlbM11bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh3ICov
Ci1ib29sNCBvcGVyYXRvci56eHh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh3KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6enogKi8KLWJvb2w0IG9wZXJh
dG9yLnh6enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp6KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci54enp6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6enooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enp6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHkgKi8KLWJvb2wzIG9wZXJhdG9yLnp4eShi
b29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBvcGVyYXRvci56eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenh5KHVpbnQzIHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnp4eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHkoaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci56eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3h5eSAqLwotYm9vbDQgb3BlcmF0b3Iud3h5eShib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3h5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4
eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56eXp4ICovCi1ib29sNCBvcGVyYXRvci56eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnp5engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXp4KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eXp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enl6eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXp4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4dyAq
LwotYm9vbDQgb3BlcmF0b3IueHp4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci54enh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4dyhpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHcoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enc9ICovCi1ib29sNCBvcGVy
YXRvci54enc9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enc9KHVpbnQ0IHYsIHVp
bnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVz
dWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enc9
KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCB0YW4gKi8KLW5hdGl2ZSBm
bG9hdCB0YW4oZmxvYXQpOwotZmxvYXQyIHRhbihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbih4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHRhbihmbG9hdDMgeCkgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IHRhbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0YW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCB0YW4oZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHRhbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7Ci0gICAgcmVz
dWx0WzJdID0gdGFuKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHRhbih4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgdGFuKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MyB0YW4oZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgdGFu
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHRhbih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
dGFuKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSB0YW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIHRhbihmbG9h
dDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCB0YW4oZmxvYXQzeDQgeCkgewotICAgIGZsb2F0
M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFu
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4o
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IHRhbih4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgdGFu
KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0
YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
dGFuKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IHRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IHRhbihmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gdGFuKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11b
Ml0pOwotICAgIHJlc3VsdFszXVszXSA9IHRhbih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZm1hICovCi1mbG9hdCBmbWEoZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgeikgewotICAgIHJldHVybiB4ICogeSArIHo7Ci19Ci1mbG9hdDIgZm1hKGZs
b2F0MiB4LCBmbG9hdDIgeSwgZmxvYXQyIHopIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGZtYSh4WzBdLCB5WzBdLCB6WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbWEoeFsx
XSwgeVsxXSwgelsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBmbWEoZmxvYXQz
IHgsIGZsb2F0MyB5LCBmbG9hdDMgeikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gZm1hKHhbMF0sIHlbMF0sIHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5
WzFdLCB6WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBmbWEoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQg
eikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZm1hKHhbMF0sIHlbMF0s
IHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZm1hKHhbM10s
IHlbM10sIHpbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbWEoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MngzIGZtYShmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7Ci0gICAg
ZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmbWEoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQg
eikgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelsw
XVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MiBmbWEoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIg
eikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZm1hKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHks
IGZsb2F0M3gzIHopIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
Zm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZtYShmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9h
dDN4NCB6KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNd
LCB6WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1h
KHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1h
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MyBmbWEoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1h
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwg
eVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5WzNdWzJdLCB6
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1h
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1b
Ml0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBm
bWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZm1hKHhb
M11bM10sIHlbM11bM10sIHpbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBkZXRlcm1pbmFudCAqLwotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQgeCkg
ewotICAgIHJldHVybiB4OwotfQotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgewotICAg
IHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOwotfQotZmxvYXQg
ZGV0ZXJtaW5hbnQoZmxvYXQzeDMgeCkgewotICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAq
IHhbMl1bMl0gKwotICAgICAgICAgICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1bMF0gKwotICAg
ICAgICAgICB4WzBdWzJdICogeFsxXVswXSAqIHhbMl1bMV0gLQotICAgICAgICAgICB4WzJdWzBd
ICogeFsxXVsxXSAqIHhbMF1bMl0gLQotICAgICAgICAgICB4WzJdWzFdICogeFsxXVsyXSAqIHhb
MF1bMF0gLQotICAgICAgICAgICB4WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07Ci19Ci1mbG9h
dCBkZXRlcm1pbmFudChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQgcmVzdWx0OwotICAgIGZsb2F0
M3gzIG1pbm9yOwotICAgIG1pbm9yWzBdWzBdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsxXSA9
IHhbMV1bMl07Ci0gICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOwotICAgIG1pbm9yWzFdWzBdID0g
eFsyXVsxXTsKLSAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4
WzJdWzNdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKLSAgICBtaW5vclsyXVsxXSA9IHhb
M11bMl07Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAr
IHhbMF1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBd
OwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107
Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsK
LSAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwot
ICAgIG1pbm9yWzJdWzFdID0geFszXVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBt
aW5vclswXVswXSA9IHhbMV1bMF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1p
bm9yWzBdWzJdID0geFsxXVszXTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlu
b3JbMV1bMV0gPSB4WzJdWzFdOwotICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKLSAgICBtaW5v
clsyXVswXSA9IHhbM11bMF07Ci0gICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9y
WzJdWzJdID0geFszXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyB4WzBdWzJdICogZGV0ZXJt
aW5hbnQobWlub3IpOwotICAgIG1pbm9yWzBdWzBdID0geFsxXVswXTsKLSAgICBtaW5vclswXVsx
XSA9IHhbMV1bMV07Ci0gICAgbWlub3JbMF1bMl0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzFdWzBd
ID0geFsyXVswXTsKLSAgICBtaW5vclsxXVsxXSA9IHhbMl1bMV07Ci0gICAgbWlub3JbMV1bMl0g
PSB4WzJdWzJdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9
IHhbM11bMV07Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAtIHhbMF1bM10gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd4eSAqLwotYm9vbDQgb3BlcmF0b3Iu
eXd4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55d3h5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl3eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBmbG9vciAqLwotbmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KTsKLWZsb2F0MiBm
bG9vcihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmxv
b3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBmbG9vcihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZmxvb3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBmbG9vcihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
Zmxvb3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gZmxvb3IoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZmxvb3IoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGZsb29yKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxv
b3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0Mng0IGZsb29yKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxv
b3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGZsb29yKGZsb2F0M3gyIHgp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGZsb29yKGZsb2F0
M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxv
b3IoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZsb29yKGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsy
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGZsb29yKGZsb2F0NHgyIHgp
IHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIGZsb29yKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gZmxvb3IoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZs
b29yKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxv
b3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
Zmxvb3IoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3Io
eFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZmxvb3IoeFszXVszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGNyb3NzICovCi1mbG9hdDMgY3Jvc3Mo
ZmxvYXQzIHUsIGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHUueSAqIHYueiAtIHUueiAqIHYueTsKLSAgICByZXN1bHQueSA9IHUueiAqIHYueCAtIHUueCAq
IHYuejsKLSAgICByZXN1bHQueiA9IHUueCAqIHYueSAtIHUueSAqIHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3l6ICovCi1ib29s
NCBvcGVyYXRvci54d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3
eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3l6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnh4
eXkoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHh5eShib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHl5KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh4eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHh5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eShpbnQyIHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eHl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh4eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl5KGZsb2F0MiB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQzIHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIGlzZmluaXRlICovCi1uYXRpdmUgYm9vbCBpc2Zpbml0ZShmbG9h
dCk7Ci1ib29sMiBpc2Zpbml0ZShmbG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBpc2Zpbml0ZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc2Zpbml0ZSh4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgaXNmaW5pdGUoZmxvYXQzIHgpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IGlzZmluaXRlKGZsb2F0NCB4KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGlzZmluaXRlKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzZmluaXRlKHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGlzZmluaXRlKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHk9ICovCi1ib29sMyBvcGVyYXRvci56eHk9
KGJvb2wzIHYsIGJvb2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eHk9KGJvb2w0IHYsIGJvb2wzIGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci56eHk9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHk9KHVpbnQ0
IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eT0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQz
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enh5PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eT0oZmxvYXQzIHYsIGZsb2F0MyBj
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56eHk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBJbnRlcmxvY2tlZE9yICovCi1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2Ug
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0
aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAg
dWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp4encgKi8KLWJvb2w0IG9wZXJhdG9yLnp4encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenh6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXRhbjIgKi8KLW5hdGl2ZSBmbG9h
dCBhdGFuMihmbG9hdCwgZmxvYXQpOwotZmxvYXQyIGF0YW4yKGZsb2F0MiB4LCBmbG9hdDIgeSkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7
Ci0gICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBhdGFuMihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGF0YW4yKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0
YW4yKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGF0YW4yKHhbMl0sIHlbMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgYXRhbjIoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuMih4
WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBhdGFuMih4WzNdLCB5WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgYXRhbjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDQgYXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAg
IGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgYXRhbjIoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkg
ewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
Mih4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgYXRhbjIoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBh
dGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFu
Mih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYXRh
bjIoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
dGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFu
Mih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgYXRh
bjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhdGFu
Mih4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55end5ICovCi1ib29sNCBvcGVyYXRvci55end5
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6d3kodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55end5KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXp3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnp6eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp6eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56
enh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3l3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3l3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53eXd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
d3l3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3ooZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l6ICovCi1i
b29sNCBvcGVyYXRvci55d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl3eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3l6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd5eihmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eCAqLwotYm9vbDMgb3BlcmF0b3Iu
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl6eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55engodWludDMgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMg
b3BlcmF0b3IueXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXp4KGludDMgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eChpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnl6eChmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55engoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eiAqLwotYm9vbDIgb3BlcmF0b3IueXooYm9vbDMgdikgewot
ICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXooYm9vbDQgdikgewot
ICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDMgdikgewot
ICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDQgdikgewot
ICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eihpbnQzIHYpIHsKLSAg
ICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eihpbnQ0IHYpIHsKLSAgICBp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3h4eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53eHh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h4
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4eHooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54dz0gKi8KLWJvb2w0
IG9wZXJhdG9yLnh3PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3PShpbnQ0IHYsIGludDIgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl4eSAqLwotYm9vbDQgb3BlcmF0b3IueHl4eShib29s
MiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXh5KGJvb2wzIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl4eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh5
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXh5KGludDIgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHkoZmxvYXQyIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eXh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXl5eCAqLwotYm9vbDQgb3BlcmF0b3IueXl5eChib29sMiB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXl4KGJvb2wzIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnl5eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXl5eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXl4KHVp
bnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eXgodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci55eXl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnl5eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl5eChpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXgoZmxvYXQyIHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci55eXl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXp6eCAqLwotYm9vbDQgb3BlcmF0b3IueXp6eChib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55enp4KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl6engodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXp6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6engoaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh6eiAqLwotYm9vbDMgb3BlcmF0b3IueHp6KGJvb2wzIHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnh6
eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci54enoodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHp6KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3IueHp6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eihmbG9hdDMg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyBvcGVyYXRvci54enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHl6
ICovCi1ib29sNCBvcGVyYXRvci55eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnl4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eih1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl6KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci55eHl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5eihm
bG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHl6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp4eCAqLwotYm9v
bDQgb3BlcmF0b3Iuenp4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56
enh4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHgodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp4eCh1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp6eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enp4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHgoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6d3ggKi8KLWJvb2w0IG9wZXJh
dG9yLnp6d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3eCh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6d3goaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci56end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4ICovCi1ib29sMyBvcGVyYXRvci55eHgoYm9vbDIg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDMgb3BlcmF0b3IueXh4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl4eChib29sNCB2KSB7Ci0gICAgYm9v
bDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55
eHgodWludDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3IueXh4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eCh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl4eChpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh4KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueXh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4eChmbG9hdDMgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRv
ci55eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdy
b3VwU3luYyAqLwotbmF0aXZlIHZvaWQgRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMo
KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3cgKi8KLWJvb2w0IG9wZXJhdG9y
Lnp3d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3dyh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3d3coaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6ICovCi1ib29sMyBvcGVyYXRvci53enooYm9vbDQgdikg
ewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMg
b3BlcmF0b3Iud3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3p6KGludDQgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3p6KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZm1vZCAqLwotCi1mbG9hdCBmbW9kKGZsb2F0IHgsIGZs
b2F0IHkpIHsKLSAgICB1aW50IHdob2xlID0gdWludCh4IC8geSk7Ci0gICAgZmxvYXQgbXVsdGlw
bGUgPSBmbG9hdCh3aG9sZSkgKiB5OwotICAgIHJldHVybiB4IC0gbXVsdGlwbGU7Ci19Ci1mbG9h
dDIgZm1vZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGZtb2QoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGZtb2QoZmxvYXQzIHgsIGZsb2F0
MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
Zm1vZCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGZtb2QoZmxv
YXQ0IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBm
bW9kKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gZm1vZCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBmbW9kKHhbM10s
IHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgs
IGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDMgZm1vZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxv
YXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2Qo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmbW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsK
LSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MiBmbW9kKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0M3gzIGZtb2QoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0
M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZt
b2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4
LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZt
b2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBmbW9kKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhb
Ml1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MyBmbW9kKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhb
Ml1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZt
b2QoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZt
b2QoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJd
LCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhb
MV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZt
b2QoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5
WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBmbW9kKHhbM11b
M10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh6enggKi8KLWJvb2w0IG9wZXJhdG9yLnh6engoYm9vbDMgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci54enp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6
engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enp4KGludDMgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54enp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh6engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci55eXp5ICovCi1ib29sNCBvcGVyYXRvci55eXp5KGJvb2wzIHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2w0IG9wZXJhdG9yLnl5enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXl6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXp5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl6eShpbnQzIHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eXp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueXl6eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXp5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5
ICovCi1ib29sMyBvcGVyYXRvci53eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iud3l5KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3Iud3l5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3l5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXp5eCAqLwotYm9vbDQgb3BlcmF0b3IueXp5eChib29sMyB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55enl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnl6eXgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eCh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eXgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXp5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5
eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl3eng9ICovCi1ib29sNCBvcGVyYXRvci55d3p4PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAg
Ym9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMu
eTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6eD0odWludDQgdiwgdWludDQgYykgewotICAg
IHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd6eD0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7
Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3p4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6dyAqLwotYm9v
bDQgb3BlcmF0b3IueHh6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
eHp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh6dyhpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXh4ICovCi1ib29sNCBvcGVyYXRvci54
eXh4KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHgoYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl4eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXh4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnh5eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl4eCh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eHgoaW50MiB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueHl4eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci54eXh4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eChmbG9hdDIg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXh4KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXc9ICovCi1ib29sNCBvcGVyYXRvci56eXc9
KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp5dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXc9KGZsb2F0NCB2
LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enh5ICovCi1ib29sNCBv
cGVyYXRvci53enh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53enh5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eCAqLwotYm9vbDMgb3BlcmF0b3Iuend4KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIG9wZXJhdG9yLnp3eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp3eChpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnp3eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLSAqLwotbmF0aXZlIGludCBv
cGVyYXRvci0oaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3ItKHVpbnQsIHVpbnQpOwot
bmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGludCBvcGVyYXRv
ci0oaW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci0oZmxvYXQpOwotbmF0aXZlIHVpbnQyIG9w
ZXJhdG9yLSh1aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50LCB1aW50
Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3ItKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBv
cGVyYXRvci0odWludDMsIHVpbnQzKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludCwgdWlu
dDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQg
b3BlcmF0b3ItKHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQsIHVp
bnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci0odWludDQsIHVpbnQpOwotbmF0aXZlIGludDIg
b3BlcmF0b3ItKGludDIsIGludDIpOwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludCwgaW50Mik7
Ci1uYXRpdmUgaW50MiBvcGVyYXRvci0oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9y
LShpbnQzLCBpbnQzKTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQsIGludDMpOwotbmF0aXZl
IGludDMgb3BlcmF0b3ItKGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCwg
aW50NCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yLShpbnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyLCBmbG9h
dDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLShmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZs
b2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDMpOwot
bmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9w
ZXJhdG9yLShmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdCwg
ZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZl
IGludDIgb3BlcmF0b3ItKGludDIpOwotbmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMpOwotbmF0
aXZlIGludDQgb3BlcmF0b3ItKGludDQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQy
KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJh
dG9yLShmbG9hdDQpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQy
eDIpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQpOwotbmF0aXZl
IGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngyIG9w
ZXJhdG9yLShmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBm
bG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Myk7Ci1u
YXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQy
eDMgb3BlcmF0b3ItKGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQy
eDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mng0
KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShm
bG9hdDN4MiwgZmxvYXQzeDIpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdCwgZmxv
YXQzeDIpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4MiwgZmxvYXQpOwotbmF0
aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3ItKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0
LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBv
cGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0o
ZmxvYXQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZs
b2F0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQpOwotbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLShmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yLShmbG9hdCwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4
MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4Mik7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3ItKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZs
b2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzKTsKLW5h
dGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9h
dDR4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRv
ci0oZmxvYXQ0eDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQp
OwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgbWluICovCi11aW50IG1pbih1aW50IHgsIHVpbnQgeSkg
ewotICAgIHJldHVybiB4ID4geSA/IHkgOiB4OwotfQotdWludDIgbWluKHVpbnQyIHgsIHVpbnQy
IHkpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgbWluKHVpbnQzIHgsIHVpbnQzIHkpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG1pbih1aW50NCB4LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsx
XSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFsz
XSA9IG1pbih4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50IG1pbihpbnQg
eCwgaW50IHkpIHsKLSAgICByZXR1cm4geCA+IHkgPyB5IDogeDsKLX0KLWludDIgbWluKGludDIg
eCwgaW50MiB5KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBtaW4oaW50MyB4LCBpbnQzIHkpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBtaW4oaW50NCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10g
PSBtaW4oeFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IG1pbihmbG9h
dCB4LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Ci19Ci1mbG9hdDIgbWlu
KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG1pbihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbWluKGZsb2F0NCB4LCBmbG9hdDQg
eSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4o
eFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4o
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG1pbihm
bG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4o
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWlu
KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtaW4o
ZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWlu
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1p
bih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBt
aW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsK
LSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG1pbihmbG9hdDN4NCB4
LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwg
eVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MiBtaW4oZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtaW4oZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtaW4oeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbWluKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhb
MF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4
WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtaW4o
eFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbWlu
KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXogKi8KLWJvb2wzIG9wZXJhdG9yLnh5eihib29sMyB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVy
YXRvci54eXooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHl6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5eih1aW50
NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQzIG9wZXJhdG9yLnh5eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54eXooaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54eXoo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3o9ICovCi1ib29sNCBvcGVyYXRvci53ej0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6PSh1aW50NCB2LCB1aW50
MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53ej0o
aW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci53ej0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXkgKi8KLWJvb2w0IG9w
ZXJhdG9yLnp5eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl5eShi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl5KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56eXl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXko
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl5KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZFhvciAqLwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQg
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1
aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0
b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9y
KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsK
LW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQs
IGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eng9ICovCi1ib29sNCBvcGVyYXRvci53
eng9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eng9KHVpbnQ0IHYsIHVpbnQzIGMp
IHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd6eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eng9KGZsb2F0
NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3p5ICovCi1ib29s
NCBvcGVyYXRvci56d3p5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3
enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3p5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8K
LW5hdGl2ZSB2b2lkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6eSAqLwotYm9vbDQgb3BlcmF0b3IueHl6eShib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXp5KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5enko
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueHl6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIHRydW5jICovCi1uYXRpdmUgZmxvYXQgdHJ1bmMoZmxvYXQpOwotZmxvYXQyIHRydW5j
KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVuYyh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzIHRydW5jKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSB0cnVuYyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICBy
ZXN1bHRbMl0gPSB0cnVuYyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHRy
dW5jKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVu
Yyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0
cnVuYyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSB0cnVuYyh4WzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDIgdHJ1bmMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDMgdHJ1bmMoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgdHJ1bmMoZmxvYXQzeDIgeCkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgdHJ1bmMoZmxvYXQzeDMg
eCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4
WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQg
eCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgewot
ICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
dHJ1bmMoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSB0cnVuYyh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgdHJ1bmMo
ZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0
cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVu
Yyh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNd
WzJdKTsKLSAgICByZXN1bHRbM11bM10gPSB0cnVuYyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IubGVuZ3RoICovCi11aW50IG9w
ZXJhdG9yLmxlbmd0aChib29sMikgewotICAgIHJldHVybiAyOwotfQotdWludCBvcGVyYXRvci5s
ZW5ndGgoYm9vbDMpIHsKLSAgICByZXR1cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGJv
b2w0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50Mikgewot
ICAgIHJldHVybiAyOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgodWludDMpIHsKLSAgICByZXR1
cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKHVpbnQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19
Ci11aW50IG9wZXJhdG9yLmxlbmd0aChpbnQyKSB7Ci0gICAgcmV0dXJuIDI7Ci19Ci11aW50IG9w
ZXJhdG9yLmxlbmd0aChpbnQzKSB7Ci0gICAgcmV0dXJuIDM7Ci19Ci11aW50IG9wZXJhdG9yLmxl
bmd0aChpbnQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aChmbG9h
dDIpIHsKLSAgICByZXR1cm4gMjsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGZsb2F0Mykgewot
ICAgIHJldHVybiAzOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgoZmxvYXQ0KSB7Ci0gICAgcmV0
dXJuIDQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3ggKi8KLWJvb2w0
IG9wZXJhdG9yLnp3d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3d3goaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l4
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXh4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd5eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55d3o9ICovCi1ib29sNCBvcGVyYXRvci55d3o9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55d3o9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3
ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnkg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3o9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enl5ICovCi1ib29sNCBvcGVyYXRvci54enl5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eXkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54enl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eHp5eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enl5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54enl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueHh4eiAqLwotYm9vbDQgb3BlcmF0b3IueHh4eihib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHh6KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHh4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHooaW50
MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnh4eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueHh4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnd4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd4d3koYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnd4d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHd5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXh3eiAqLwotYm9vbDQgb3BlcmF0b3IueXh3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci55eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3ooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d3ICovCi1ib29s
NCBvcGVyYXRvci55d3d3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3
d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3d3KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6dyAqLwotYm9vbDMgb3BlcmF0b3IueHp3
KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQzIG9wZXJhdG9yLnh6dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6dyhpbnQ0IHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJh
dG9yLnh6dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3d3ggKi8KLWJvb2w0
IG9wZXJhdG9yLnd3d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3d3goaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d4
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3h4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd3eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXc9ICovCi1ib29sNCBvcGVyYXRvci54eXc9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXc9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enkgKi8KLWJvb2wzIG9wZXJhdG9yLnh6eShi
b29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBvcGVyYXRvci54enkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHp5KHVpbnQzIHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnh6eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54enkoaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci54enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenp6eiAqLwotYm9vbDQgb3BlcmF0b3Iuenp6eihib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp6enoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enp6eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enooaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp6enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenp6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6enggKi8KLWJvb2w0IG9wZXJhdG9yLnp6engoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3Iuenp6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci56enp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6engodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp4KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56enp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6engo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
dyAqLwotYm9vbDIgb3BlcmF0b3IueHcoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueHcodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MiBvcGVyYXRvci54dyhpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyIG9wZXJhdG9yLnh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5dyAqLwotYm9vbDQgb3BlcmF0
b3Iud3h5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl3KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd4eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55end3ICovCi1ib29sNCBvcGVyYXRvci55end3KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6d3codWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd4dyAqLwotYm9vbDMgb3BlcmF0b3Iud3h3KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4
dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnd4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4dyhmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3koYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54d3d5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3p6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3p6dyhib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53enp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3p6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6encoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd3
ICovCi1ib29sNCBvcGVyYXRvci53eHd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd4d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHd3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG1heCAqLwotCi0KLXVpbnQgbWF4KHVpbnQg
eCwgdWludCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geCA6IHk7Ci19Ci11aW50MiBtYXgodWlu
dDIgeCwgdWludDIgeSkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgo
eFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50MyBtYXgodWludDMgeCwgdWludDMgeSkgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0g
bWF4KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgbWF4KHVpbnQ0IHgsIHVpbnQ0IHkpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsx
XSA9IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LQotCi1pbnQgbWF4KGludCB4LCBpbnQgeSkgewotICAgIHJldHVybiB4ID4geSA/IHggOiB5Owot
fQotaW50MiBtYXgoaW50MiB4LCBpbnQyIHkpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG1heChpbnQzIHgsIGludDMgeSkgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0p
OwotICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0KLWZsb2F0IG1heChmbG9hdCB4LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8g
eCA6IHk7Ci19Ci1mbG9hdDIgbWF4KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9
IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG1heChmbG9h
dDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1h
eCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVz
dWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
bWF4KGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWF4KHhb
M10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtYXgoZmxvYXQyeDIg
eCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MngzIG1heChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQy
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDJ4NCBtYXgoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0
Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVsz
XSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1b
M10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtYXgoZmxvYXQz
eDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbWF4KGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0M3g0IG1heChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhb
MF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxv
YXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
eCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBtYXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0s
IHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFd
LCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzNdID0gbWF4KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eiAqLwotYm9vbDMgb3Bl
cmF0b3Iud3d6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd3eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3eihpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnd3eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5ej0g
Ki8KLWJvb2w0IG9wZXJhdG9yLnd5ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAg
cmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5
ej0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l6PShpbnQ0IHYsIGludDMgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd5ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl3eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnl3eXkoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueXd5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl3eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3l5KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXNpbnQgKi8KLWludCBh
c2ludChpbnQgeCkgewotICAgIHJldHVybiB4OwotfQotaW50MiBhc2ludChpbnQyIHgpIHsKLSAg
ICByZXR1cm4geDsKLX0KLWludDMgYXNpbnQoaW50MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1p
bnQ0IGFzaW50KGludDQgeCkgewotICAgIHJldHVybiB4OwotfQotaW50IGFzaW50KHVpbnQgeCkg
ewotICAgIHJldHVybiBpbnQoeCk7Ci19Ci1pbnQyIGFzaW50KHVpbnQyIHgpIHsKLSAgICBpbnQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBh
c2ludCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBhc2ludCh1aW50MyB4KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgYXNpbnQodWludDQgeCkgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFzaW50
KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1uYXRpdmUgaW50IGFzaW50KGZsb2F0KTsK
LWludDIgYXNpbnQoZmxvYXQyIHgpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBhc2ludChmbG9hdDMgeCkgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IGFzaW50KGZsb2F0NCB4KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNp
bnQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
YXNpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNpbnQoeFszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6d3ogKi8KLWJvb2w0IG9w
ZXJhdG9yLnl6d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp3eih1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6d3ooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55end6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6eSAqLwotYm9vbDQgb3BlcmF0b3IueXh6eShi
b29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHp5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXh6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4
enkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh6eShpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueXh6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnl6eHogKi8KLWJvb2w0IG9wZXJhdG9yLnl6eHooYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp4eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55enh6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl6eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh6KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHooaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55enh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53enp4ICovCi1ib29sNCBvcGVyYXRvci53enp4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci53enp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p6eChm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6
eHc9ICovCi1ib29sNCBvcGVyYXRvci55enh3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0g
ICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eCAqLwotYm9vbDQg
b3BlcmF0b3Iuenl4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh4
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHgodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp5eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHgoZmxvYXQzIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5d3ogKi8KLWJvb2w0IG9wZXJhdG9y
Lnh5d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl3eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5d3ooaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eXd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p3eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53end6KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iud3p3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnd6d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eHh5ICovCi1ib29sNCBvcGVyYXRvci54eHh5KGJvb2wyIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnh4eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3IueHh4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHh5KHVp
bnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHh4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh4eHkoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHh5KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh4eShmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh4eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56d3h5PSAqLwotYm9vbDQgb3BlcmF0b3Iuend4eT0oYm9vbDQgdiwgYm9vbDQgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHk9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eHk9KGludDQgdiwgaW50NCBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend4eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3encgKi8K
LWJvb2w0IG9wZXJhdG9yLnp3encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iuend6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3encoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d3eSAqLwotYm9vbDQgb3BlcmF0
b3Iud3d3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3d5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d3eShpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd3d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3ggKi8KLWJvb2wzIG9wZXJhdG9yLnl3eChib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55d3godWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3goaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3go
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHp6ICovCi1ib29sNCBvcGVyYXRv
ci54eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4enooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh6eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh6eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXo9
KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
c3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3l6
PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3l6
PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1
bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXo9
KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eXggKi8KLWJvb2wzIG9wZXJhdG9yLnl5eChib29sMiB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRv
ci55eXgoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXl4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eCh1aW50MiB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55eXgodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl4KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl4
KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnl5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eXgoaW50NCB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55
eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5eChmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnp6
d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56end5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3g9ICovCi1ib29sNCBvcGVyYXRvci53eD0oYm9vbDQgdiwgYm9v
bDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4
PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eD0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eD0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6
dyAqLwotYm9vbDMgb3BlcmF0b3Iuenp3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp6dyh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnp6dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp6dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnh4enkoYm9vbDMgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDQgb3BlcmF0b3IueHh6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54eHp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4enko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp5KGludDMgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci54eHp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4
enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eHogKi8KLWJvb2wzIG9wZXJhdG9yLnl4eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eHooYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3IueXh6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eih1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4
eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci55eHooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHooZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3IueXh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5ICovCi1ib29s
MyBvcGVyYXRvci55enkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXp5KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl6
eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci55enkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55enkoaW50MyB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0
b3IueXp5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eShmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnk9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0
b3IueT0oYm9vbDIsIGJvb2wpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yLnk9KGJvb2wzLCBib29s
KTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvci55PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDIg
b3BlcmF0b3IueT0odWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLnk9KHVpbnQz
LCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci55PSh1aW50NCwgdWludCk7Ci1uYXRpdmUg
aW50MiBvcGVyYXRvci55PShpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IueT0oaW50
MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnk9KGludDQsIGludCk7Ci1uYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLnk9KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci55
PShmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IueT0oZmxvYXQ0LCBmbG9h
dCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHp6ICovCi1ib29sNCBvcGVyYXRv
ci56eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4enooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci56eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHp6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh6eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6dyAqLwotYm9vbDQgb3BlcmF0b3IueHl6dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56d3l3ICovCi1ib29sNCBvcGVyYXRvci56d3l3KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56d3l3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5
dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnh5dyAqLwotYm9vbDMgb3BlcmF0b3IueHl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5dyh1aW50NCB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQz
IG9wZXJhdG9yLnh5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh5dyhmbG9hdDQgdikgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp6d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp6d3coYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp6d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56end3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enl3ICovCi1ib29sMyBvcGVyYXRvci56eXcoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenl3KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3Iuenl3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgY2xhbXAgKi8KLW5hdGl2ZSB1aW50IGNsYW1wKHVpbnQsIHVpbnQsIHVpbnQpOwotbmF0aXZl
IHVpbnQyIGNsYW1wKHVpbnQyLCB1aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQzIGNsYW1wKHVp
bnQzLCB1aW50MywgdWludDMpOwotbmF0aXZlIHVpbnQ0IGNsYW1wKHVpbnQ0LCB1aW50NCwgdWlu
dDQpOwotbmF0aXZlIGludCBjbGFtcChpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBpbnQyIGNsYW1w
KGludDIsIGludDIsIGludDIpOwotbmF0aXZlIGludDMgY2xhbXAoaW50MywgaW50MywgaW50Myk7
Ci1uYXRpdmUgaW50NCBjbGFtcChpbnQ0LCBpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBmbG9hdCBjbGFt
cChmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDIgY2xhbXAoZmxvYXQyLCBmbG9h
dDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzIGNsYW1wKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMp
OwotbmF0aXZlIGZsb2F0NCBjbGFtcChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBm
bG9hdDJ4MiBjbGFtcChmbG9hdDJ4MiwgZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9h
dDJ4MyBjbGFtcChmbG9hdDJ4MywgZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4
NCBjbGFtcChmbG9hdDJ4NCwgZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBj
bGFtcChmbG9hdDN4MiwgZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MyBjbGFt
cChmbG9hdDN4MywgZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBjbGFtcChm
bG9hdDN4NCwgZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBjbGFtcChmbG9h
dDR4MiwgZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBjbGFtcChmbG9hdDR4
MywgZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBjbGFtcChmbG9hdDR4NCwg
ZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd4eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3h4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh3eSAqLwotYm9vbDQgb3Bl
cmF0b3IueXh3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd5KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnh3eShib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci54d3kodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54d3koaW50NCB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54
d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcjwgKi8KLW5hdGl2ZSBib29sIG9w
ZXJhdG9yPChpbnQsIGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjwodWludCwgdWludCk7Ci1u
YXRpdmUgYm9vbCBvcGVyYXRvcjwoZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cjwodWludDIsIHVpbnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjwodWludDMsIHVpbnQzKTsK
LW5hdGl2ZSBib29sNCBvcGVyYXRvcjwodWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVy
YXRvcjwoaW50MiwgaW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8KGludDMsIGludDMpOwot
bmF0aXZlIGJvb2w0IG9wZXJhdG9yPChpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cjwoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPChmbG9hdDMsIGZsb2F0
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I8KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29s
MngyIG9wZXJhdG9yPChmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0
b3I8KGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcjwoZmxvYXQy
eDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPChmbG9hdDN4MiwgZmxvYXQz
eDIpOwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8KGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRp
dmUgYm9vbDN4NCBvcGVyYXRvcjwoZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgy
IG9wZXJhdG9yPChmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I8
KGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcjwoZmxvYXQ0eDQs
IGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5dyAqLwotYm9vbDMg
b3BlcmF0b3Iud3l3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd5dyh1aW50NCB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5dyhp
bnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnd5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6
eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenp5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXco
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enl3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh6ICovCi1ib29sMyBv
cGVyYXRvci56eHooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iuenh6KGJvb2w0IHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eih1
aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBvcGVyYXRvci56eHoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHooaW50MyB2KSB7Ci0gICAg
aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iu
enh6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eihmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3enggKi8KLWJvb2w0IG9wZXJhdG9yLnl3engo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3p4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenh4eSAqLwotYm9vbDQgb3BlcmF0b3Iuenh4eShib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eHh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp4eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enh4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHkoaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp4eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenh4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGlz
bmFuICovCi1uYXRpdmUgYm9vbCBpc25hbihmbG9hdCk7Ci0KLWJvb2wyIGlzbmFuKGZsb2F0MiB4
KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGlzbmFuKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBp
c25hbihmbG9hdDMgeCkgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc25h
bih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc25hbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBp
c25hbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgaXNuYW4oZmxvYXQ0IHgp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gaXNuYW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh3dyAqLwotYm9vbDQgb3BlcmF0b3IueHh3dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHd3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh4d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54d3k9ICovCi1ib29sNCBvcGVyYXRvci54d3k9KGJvb2w0IHYsIGJvb2wz
IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJl
c3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54d3k9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eT0o
aW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3k9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBBbGxNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyAqLwotbmF0aXZl
IHZvaWQgQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnl4PSAqLwotYm9vbDIgb3BlcmF0b3IueXg9KGJvb2wyIHYsIGJvb2wyIGMp
IHsKLSAgICBib29sMiByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eD0oYm9v
bDMgdiwgYm9vbDIgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnl4PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueXg9KHVpbnQyIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MiBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eD0odWludDMgdiwgdWludDIgYykg
ewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4PSh1aW50
NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVy
YXRvci55eD0oaW50MiB2LCBpbnQyIGMpIHsKLSAgICBpbnQyIHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgb3BlcmF0b3IueXg9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl4PShmbG9hdDIgdiwgZmxvYXQy
IGMpIHsKLSAgICBmbG9hdDIgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4
PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl4PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3JeICovCi1ib29s
IG9wZXJhdG9yXihib29sIGEsIGJvb2wgYikgewotICAgIGlmIChhKQotICAgICAgICByZXR1cm4g
IWI7Ci0gICAgcmV0dXJuIGI7Ci19Ci1uYXRpdmUgaW50IG9wZXJhdG9yXihpbnQsIGludCk7Ci1u
YXRpdmUgdWludCBvcGVyYXRvcl4odWludCwgdWludCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55enl3ICovCi1ib29sNCBvcGVyYXRvci55enl3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl6eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55enl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3og
Ki8KLWJvb2w0IG9wZXJhdG9yLnh3d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHd3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3ooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3d6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgaXNpbmYgKi8KLW5hdGl2ZSBib29sIGlzaW5m
KGZsb2F0KTsKLWJvb2wyIGlzaW5mKGZsb2F0MiB4KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBpc2luZihmbG9hdDMgeCkgewotICAgIGJvb2wz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc2luZih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBp
c2luZih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc2luZih4WzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgaXNpbmYoZmxvYXQ0IHgpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gaXNpbmYoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNpbmYoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gaXNpbmYoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXNpbmYoeFszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfCAq
LwotYm9vbCBvcGVyYXRvcnwoYm9vbCBhLCBib29sIGIpIHsKLSAgICByZXR1cm4gYSB8fCBiOwot
fQotbmF0aXZlIGludCBvcGVyYXRvcnwoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3J8
KHVpbnQsIHVpbnQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5ICovCi1ib29s
MyBvcGVyYXRvci56d3koYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuend5KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuend5
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgb3BlcmF0b3Iuend5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXp4eCAqLwotYm9vbDQgb3BlcmF0b3IueXp4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci55enh4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6
eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4eCh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXp4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6
eHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXggKi8K
LWJvb2w0IG9wZXJhdG9yLnp5eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0
b3Iuenl5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl4KHVpbnQz
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXgodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci56eXl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnp5eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl4KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXgoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXd5ICovCi1ib29sNCBv
cGVyYXRvci56eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3ko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXd5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl3eXgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd5eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3l4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXh4eCAqLwotYm9vbDQgb3BlcmF0b3IueXh4eChib29sMiB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnl4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXh4eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh4KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHgodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eHh4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnl4eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eChpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXh4eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci55eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueHl5eiAqLwotYm9vbDQgb3BlcmF0b3IueHl5eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnh5eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh5eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh4eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnh4eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHh5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh4eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl3KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4eCAqLwot
Ym9vbDQgb3BlcmF0b3Iud3p4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53enh4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p4eChpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHd6ICovCi1ib29sNCBvcGVyYXRv
ci56eHd6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4d3oodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHd6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eXogKi8KLWJvb2w0IG9wZXJhdG9yLnd4eXooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h5eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eXooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci53eHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueHd5eSAqLwotYm9vbDQgb3BlcmF0b3IueHd5eShib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54d3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHd5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXkoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53end3
ICovCi1ib29sNCBvcGVyYXRvci53end3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd6d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53end3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGRlZ3JlZXMgKi8KLWZsb2F0IGRlZ3JlZXMo
ZmxvYXQgeCkgewotICAgIHJldHVybiB4ICogMTgwIC8gMy4xNDE1OTsKLX0KLWZsb2F0MiBkZWdy
ZWVzKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZWdy
ZWVzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBkZWdyZWVzKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMo
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IGRlZ3JlZXMoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGRlZ3JlZXMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBkZWdyZWVzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRlZ3Jl
ZXMoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRlZ3JlZXMoZmxvYXQy
eDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVz
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVz
KHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZWdyZWVzKGZsb2F0
MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVl
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVl
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0Mng0IGRlZ3JlZXMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3Jl
ZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3Jl
ZXMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRlZ3JlZXMoZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdy
ZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdy
ZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgZGVncmVlcyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVn
cmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBkZWdyZWVzKGZsb2F0M3g0IHgpIHsKLSAgICBm
bG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRl
Z3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRl
Z3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRl
Z3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRl
Z3JlZXMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGRlZ3JlZXMo
ZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBk
ZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGRlZ3JlZXMoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZGVncmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
ZGVncmVlcyh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGVncmVl
cyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGRlZ3JlZXMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9
IGRlZ3JlZXMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IGRlZ3JlZXMoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl5eSAqLwotYm9vbDMgb3BlcmF0b3IueXl5KGJvb2wyIHYpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJh
dG9yLnl5eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl5KHVpbnQy
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnl5eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXkodWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55
eXkoaW50MiB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDMgb3BlcmF0b3IueXl5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5eShpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnl5eShmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6eSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3p6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enp5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnd6enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56end6ICovCi1ib29sNCBvcGVyYXRvci56end6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6d3oodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56end6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenp3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eXkoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3Iuenp5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci56enl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXkodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl5KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56enl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXko
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBTYW1wbGUgKi8K
LW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMUQ8dWludD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0
aW9uKTsKLW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50Piwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkQ8dWludD4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVp
bnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50
IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTNEPHVp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1
cmUzRDx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRp
dmUgdWludCBTYW1wbGUoVGV4dHVyZUN1YmU8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7Ci1uYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUxRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0
IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8
dWludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShU
ZXh0dXJlMkQ8dWludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsK
LW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQyIFNh
bXBsZShUZXh0dXJlM0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZl
IHVpbnQyIFNhbXBsZShUZXh0dXJlM0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24s
IGludDMgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDI+LCBz
YW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMUQ8
dWludDM+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1
aW50MyBTYW1wbGUoVGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxv
Y2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zm
c2V0KTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxl
KFRleHR1cmVDdWJlPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1
aW50NCBTYW1wbGUoVGV4dHVyZTFEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwot
bmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50
ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQ0
IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQ0Piwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUz
RDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxl
KFRleHR1cmUzRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQp
OwotbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlQ3ViZTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMUQ8aW50Piwgc2FtcGxlciwg
ZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Piwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyRDxp
bnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVy
ZTJEPGludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZl
IGludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTNEPGlu
dD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJl
M0Q8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUg
aW50IFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUxRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRp
b24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUxREFycmF5PGludDI+LCBzYW1wbGVyLCBm
bG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyRDxpbnQyPiwgc2Ft
cGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50
Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludDIg
U2FtcGxlKFRleHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlM0Q8aW50
Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVy
ZTNEPGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2
ZSBpbnQyIFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMUQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQzPiwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkQ8aW50Mz4s
IHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJE
PGludDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBp
bnQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTNE
PGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDMgU2FtcGxlKFRl
eHR1cmUzRDxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1u
YXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTFEPGludDQ+LCBzYW1wbGVyLCBmbG9h
dCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEPGlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1
cmUyRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRp
dmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1
cmUzRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IFNhbXBs
ZShUZXh0dXJlM0Q8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQp
OwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmVDdWJlPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQ+LCBzYW1wbGVy
LCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4
dHVyZTJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZTJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBm
bG9hdCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVDdWJlPGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRl
eHR1cmUxRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQy
IFNhbXBsZShUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQyPiwgc2Ft
cGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBs
ZShUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlM0Q8
ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxl
KFRleHR1cmUzRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQzPiwg
c2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMg
U2FtcGxlKFRleHR1cmUyRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2Nh
dGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxl
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mz4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQz
Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQz
IFNhbXBsZShUZXh0dXJlQ3ViZTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkQ8
ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxl
KFRleHR1cmUyRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0
KTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBm
bG9hdDQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwotbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZUN1
YmU8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1w
bGUoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
biwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3eD0oYm9vbDQgdiwgYm9vbDMgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp3eD0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend4PShpbnQ0IHYs
IGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp6eSAqLwotYm9vbDMgb3BlcmF0b3Iuenp5KGJvb2wzIHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9w
ZXJhdG9yLnp6eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56enkodWludDMgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenp5KHVp
bnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgb3BlcmF0b3Iuenp5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp6eShpbnQ0IHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp6
eShmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBvcGVyYXRvci56enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXd5ICovCi1ib29sNCBvcGVyYXRvci53eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd5d3kodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53eXd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eShmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHggKi8K
LWJvb2w0IG9wZXJhdG9yLnd4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3h4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgc2luaCAqLwotbmF0aXZlIGZsb2F0IHNpbmgoZmxv
YXQpOwotZmxvYXQyIHNpbmgoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHNpbmgoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzaW5oKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgc2luaChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gc2luaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IHNpbmgoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc2luaCh4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgc2luaChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MngzIHNpbmgoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDQgc2luaChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IHNpbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3g0IHNpbmgoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBzaW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
c2luaCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgc2luaChmbG9h
dDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBz
aW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
eDMgc2luaChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW5oKHhb
M11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBzaW5oKGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBzaW5oKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5o
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
c2luaCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgZGR5ICovCi1uYXRpdmUgZmxvYXQgZGR5KGZsb2F0KTsKLWZsb2F0MiBkZHkoZmxvYXQyIHgp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBkZHkoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZHko
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5KHhbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZGR5KGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
ZGR5KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBk
ZHkoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRkeShmbG9hdDJ4MiB4
KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgZGR5KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGRkeSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIGRkeShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MyBkZHkoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGR5KGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGRkeSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgyIGRkeShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgzIGRkeShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gZGR5KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5
KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHkoZmxvYXQ0eDQg
eCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZHkoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHkoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj0g
Ki8KLW5hdGl2ZSBib29sIG9wZXJhdG9yPj0oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0
b3I+PSh1aW50LCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPj0oZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3Bl
cmF0b3I+PSh1aW50MywgdWludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPj0odWludDQsIHVp
bnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wz
IG9wZXJhdG9yPj0oaW50MywgaW50Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+PShpbnQ0LCBp
bnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBi
b29sMyBvcGVyYXRvcj49KGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj49
KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPj0oZmxvYXQyeDIsIGZs
b2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9wZXJhdG9yPj0oZmxvYXQyeDMsIGZsb2F0MngzKTsK
LW5hdGl2ZSBib29sMng0IG9wZXJhdG9yPj0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBi
b29sM3gyIG9wZXJhdG9yPj0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9w
ZXJhdG9yPj0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPj0o
ZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPj0oZmxvYXQ0eDIs
IGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJhdG9yPj0oZmxvYXQ0eDMsIGZsb2F0NHgz
KTsKLW5hdGl2ZSBib29sNHg0IG9wZXJhdG9yPj0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIGRzdCAqLwotdWludDQgZHN0KHVpbnQ0IHNyYzAsIHVpbnQ0IHNyYzEp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSAxOwotICAgIHJlc3VsdC55ID0g
c3JjMC55ICogc3JjMS55OwotICAgIHJlc3VsdC56ID0gc3JjMC56OwotICAgIHJlc3VsdC53ID0g
c3JjMS53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IGRzdChpbnQ0IHNyYzAsIGludDQg
c3JjMSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gMTsKLSAgICByZXN1bHQu
eSA9IHNyYzAueSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAuejsKLSAgICByZXN1bHQu
dyA9IHNyYzEudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRzdChmbG9hdDQgc3Jj
MCwgZmxvYXQ0IHNyYzEpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gMTsK
LSAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAuejsK
LSAgICByZXN1bHQudyA9IHNyYzEudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXo9ICovCi1ib29sMyBvcGVyYXRvci54eXo9KGJvb2wz
IHYsIGJvb2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXo9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci54eXo9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXo9KHVpbnQ0IHYsIHVp
bnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnh5ej0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6PShp
bnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh5ej0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0Lnkg
PSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eXo9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55eHh3ICovCi1ib29sNCBvcGVyYXRvci55eHh3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55eHh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh4dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eSAq
LwotYm9vbDMgb3BlcmF0b3Iud3h5KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4eSh1aW50NCB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnd4eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGRv
dCAqLwotdWludCBkb3QodWludCBhLCB1aW50IGIpIHsKLSAgICByZXR1cm4gYSAqIGI7Ci19Ci11
aW50IGRvdCh1aW50MiBhLCB1aW50MiBiKSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJl
c3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0g
KiBiWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50MyBhLCB1aW50MyBi
KSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBi
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50
NCBhLCB1aW50NCBiKSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
M10gKiBiWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQgZG90KGludCBhLCBpbnQgYikg
ewotICAgIHJldHVybiBhICogYjsKLX0KLWludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKLSAgICBp
bnQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
IGRvdChpbnQzIGEsIGludDMgYikgewotICAgIGludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQgZG90KGludDQgYSwgaW50NCBiKSB7Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsx
XSAqIGJbMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVszXSAqIGJbM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IGRv
dChmbG9hdCBhLCBmbG9hdCBiKSB7Ci0gICAgcmV0dXJuIGEgKiBiOwotfQotZmxvYXQgZG90KGZs
b2F0MiBhLCBmbG9hdDIgYikgewotICAgIGZsb2F0IHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICsgYVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IGRvdChmbG9hdDMgYSwgZmxvYXQzIGIpIHsK
LSAgICBmbG9hdCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBkb3QoZmxvYXQ0
IGEsIGZsb2F0NCBiKSB7Ci0gICAgZmxvYXQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1
bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzNdICogYlszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56eHl3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenh5dz0oYm9vbDQgdiwgYm9vbDQg
YykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eXc9KHVpbnQ0IHYsIHVpbnQ0
IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJl
c3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXc9KGludDQgdiwgaW50NCBj
KSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh5dz0oZmxvYXQ0IHYsIGZsb2F0
NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5
dyAqLwotYm9vbDMgb3BlcmF0b3IueXl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5dyh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnl3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnl3eD0oYm9vbDQgdiwgYm9vbDMgYykg
ewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0
LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl3eD0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd4PShpbnQ0
IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnh6eHgoYm9vbDMg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp4eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh6eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh4KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eHgoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eHp3PSAqLwotYm9vbDQgb3BlcmF0b3IueXh6dz0oYm9vbDQgdiwgYm9v
bDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4enc9KHVpbnQ0IHYsIHVp
bnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4enc9KGludDQgdiwgaW50
NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJl
c3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6dz0oZmxvYXQ0IHYsIGZs
b2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBj
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd4eiAqLwotYm9vbDMgb3BlcmF0b3Iud3h6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4eih1aW50NCB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQz
IG9wZXJhdG9yLnd4eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4eihmbG9hdDQgdikgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnd3enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd3enkoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnd3enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3p5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHd4eiAqLwotYm9vbDQgb3BlcmF0b3IueHd4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci54d3h6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd4
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eHooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3p6ICovCi1ib29s
NCBvcGVyYXRvci53d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3
enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3p6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eHggKi8KLWJvb2w0IG9wZXJhdG9yLnp4
eHgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh4eChib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnp4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci56eHh4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHgoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnp4eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBhc2Zsb2F0ICovCi1uYXRpdmUgZmxvYXQgYXNmbG9hdChpbnQpOwotZmxv
YXQyIGFzZmxvYXQoaW50MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhc2Zsb2F0KGludDMgeCkgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zs
b2F0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBhc2Zsb2F0KGludDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNm
bG9hdCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotbmF0aXZlIGZsb2F0IGFzZmxvYXQo
dWludCk7Ci1mbG9hdDIgYXNmbG9hdCh1aW50MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhc2Zsb2F0KHVpbnQzIHgpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKLSAgICBy
ZXN1bHRbM10gPSBhc2Zsb2F0KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBh
c2Zsb2F0KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0MiBhc2Zsb2F0KGZsb2F0
MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDMgYXNmbG9hdChmbG9hdDMgeCkgewotICAg
IHJldHVybiB4OwotfQotZmxvYXQ0IGFzZmxvYXQoZmxvYXQ0IHgpIHsKLSAgICByZXR1cm4geDsK
LX0KLWZsb2F0MngyIGFzZmxvYXQoZmxvYXQyeDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxv
YXQyeDMgYXNmbG9hdChmbG9hdDJ4MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDJ4NCBh
c2Zsb2F0KGZsb2F0Mng0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0M3gyIGFzZmxvYXQo
ZmxvYXQzeDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQzeDMgYXNmbG9hdChmbG9hdDN4
MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDN4NCBhc2Zsb2F0KGZsb2F0M3g0IHgpIHsK
LSAgICByZXR1cm4geDsKLX0KLWZsb2F0NHgyIGFzZmxvYXQoZmxvYXQ0eDIgeCkgewotICAgIHJl
dHVybiB4OwotfQotZmxvYXQ0eDMgYXNmbG9hdChmbG9hdDR4MyB4KSB7Ci0gICAgcmV0dXJuIHg7
Ci19Ci1mbG9hdDR4NCBhc2Zsb2F0KGZsb2F0NHg0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5eCAqLwotYm9vbDQgb3BlcmF0b3Iuend5
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3l4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp3eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBpc25vcm1hbCAqLwotbmF0aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQpOwotCi1ib29s
MiBpc25vcm1hbChmbG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBpc25vcm1hbCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc25vcm1hbCh4WzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgaXNub3JtYWwoZmxvYXQzIHgpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
aXNub3JtYWwoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2w0IGlzbm9ybWFsKGZsb2F0NCB4KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlz
bm9ybWFsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGlzbm9ybWFsKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIEludGVybG9ja2VkRXhjaGFuZ2UgKi8KLW5hdGl2ZSB2b2lkIEludGVybG9j
a2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhj
aGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lk
IEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3Jv
dXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGlu
dCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRn
cm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3Vp
bnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4ICovCi1ib29sMyBvcGVyYXRvci54engo
Ym9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDMgb3BlcmF0b3IueHp4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh6eCh1aW50MyB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci54engodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54engoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHp4KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueHp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eChmbG9hdDQgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIEdldERpbWVuc2lvbnMgKi8KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4s
IHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJl
YWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQy
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1
aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRl
dmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQy
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBkZXZp
Y2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgZGV2
aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsK
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCBk
ZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxm
bG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4s
IGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0
aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQot
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXcgKi8KLWJvb2w0
IG9wZXJhdG9yLnh3eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd5
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3l3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IrICovCi1uYXRpdmUgaW50IG9wZXJhdG9yKyhp
bnQsIGludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcisodWludCwgdWludCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQy
LCB1aW50Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSB1
aW50MiBvcGVyYXRvcisodWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50
MywgdWludDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50LCB1aW50Myk7Ci1uYXRpdmUg
dWludDMgb3BlcmF0b3IrKHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWlu
dDQsIHVpbnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludCwgdWludDQpOwotbmF0aXZl
IHVpbnQ0IG9wZXJhdG9yKyh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50
MiwgaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50LCBpbnQyKTsKLW5hdGl2ZSBpbnQy
IG9wZXJhdG9yKyhpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludDMp
OwotbmF0aXZlIGludDMgb3BlcmF0b3IrKGludCwgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRv
cisoaW50MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQ0KTsKLW5hdGl2
ZSBpbnQ0IG9wZXJhdG9yKyhpbnQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IrKGludDQs
IGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUg
ZmxvYXQyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3Ir
KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdDMp
OwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQz
IG9wZXJhdG9yKyhmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0
NCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDQpOwotbmF0
aXZlIGZsb2F0NCBvcGVyYXRvcisoZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3Bl
cmF0b3IrKGZsb2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZs
b2F0LCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBmbG9h
dCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRp
dmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZs
b2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9h
dDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQz
eDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Ir
KGZsb2F0M3gyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBm
bG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Myk7Ci1u
YXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQz
eDQgb3BlcmF0b3IrKGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0
b3IrKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdDR4Mik7
Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0
b3IrKGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0
LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUg
ZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3IrKGZsb2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyKTsK
LW5hdGl2ZSB1aW50MyBvcGVyYXRvcisodWludDMpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1
aW50NCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRv
cisoaW50Myk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvcisoaW50NCk7Ci1uYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yKyhmbG9hdDIpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzKTsKLW5hdGl2
ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZs
b2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMpOwotbmF0aXZlIGZs
b2F0Mng0IG9wZXJhdG9yKyhmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZs
b2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvcisoZmxvYXQzeDMpOwotbmF0aXZlIGZs
b2F0M3g0IG9wZXJhdG9yKyhmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZs
b2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQ0eDMpOwotbmF0aXZlIGZs
b2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56eHggKi8KLWJvb2wzIG9wZXJhdG9yLnp4eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eHgoYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3Iuenh4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4
eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci56eHgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eHgoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3Iuenh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh5eCAqLwotYm9v
bDQgb3BlcmF0b3IueHh5eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54
eHl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eCh1aW50MiB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eHl4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnh4eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHl4KGludDIg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXgoaW50MyB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHh5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh4eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh5eChmbG9h
dDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp6dyAqLwotYm9vbDQg
b3BlcmF0b3IueHp6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp3
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp6dyhpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXd6PSAqLwotYm9vbDQgb3BlcmF0b3IueHl3
ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAg
cmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5
d3o9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
d3o9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
c3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3
ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0g
ICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd4eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd4eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd4eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53
eHh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p5eCAqLwotYm9vbDQgb3BlcmF0b3Iud3p5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
d3p5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eXgoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBmcmFjICovCi1mbG9hdCBmcmFj
KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geCAtIGZsb29yKHgpOwotfQotZmxvYXQyIGZyYWMoZmxv
YXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIGZyYWMoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGZyYWMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBmcmFjKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZnJhYyhmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gZnJhYyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgZnJhYyhmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZy
YWMoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZyYWMoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZnJh
Yyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZnJhYyhmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
ZnJhYyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBm
cmFjKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZy
YWMoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZyYWMoZmxvYXQz
eDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJh
Yyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGZyYWMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZnJhYyhmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7
Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBm
cmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4NCBmcmFjKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGZyYWMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBmcmFjKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGZyYWMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZnJhYyh4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgc3RvcmUgKi8KLW5hdGl2ZSB2
b2lkIHN0b3JlKGRldmljZSBhdG9taWNfaW50KiwgaW50KTsKLW5hdGl2ZSB2b2lkIHN0b3JlKGRl
dmljZSBhdG9taWNfdWludCosIHVpbnQpOwotbmF0aXZlIHZvaWQgc3RvcmUodGhyZWFkZ3JvdXAg
YXRvbWljX2ludCosIGludCk7Ci1uYXRpdmUgdm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNf
dWludCosIHVpbnQpOwotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3cgKi8KLWJv
b2wzIG9wZXJhdG9yLnp3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56d3codWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56
d3coaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBvcGVyYXRvci56d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55enp6ICovCi1ib29sNCBvcGVyYXRvci55enp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnl6enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXp6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci55enp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eXp6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcmVmcmFjdCAqLwotZmxv
YXQgcmVmcmFjdChmbG9hdCBpLCBmbG9hdCBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdCByZXN1
bHQ7Ci0gICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChu
LCBpKSk7Ci0gICAgaWYgKGsgPCAwKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVy
biBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykpICogbjsKLX0KLWZsb2F0MiBy
ZWZyYWN0KGZsb2F0MiBpLCBmbG9hdDIgbiwgZmxvYXQgZXRhKSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4s
IGkpKTsKLSAgICBpZiAoayA8IDApCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgcmV0dXJu
IGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBuOwotfQotZmxvYXQzIHJl
ZnJhY3QoZmxvYXQzIGksIGZsb2F0MyBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3Qobiwg
aSkpOwotICAgIGlmIChrIDwgMCkKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICByZXR1cm4g
ZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGspKSAqIG47Ci19Ci1mbG9hdDQgcmVm
cmFjdChmbG9hdDQgaSwgZmxvYXQ0IG4sIGZsb2F0IGV0YSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBp
KSk7Ci0gICAgaWYgKGsgPCAwKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVybiBl
dGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykpICogbjsKLX0KLQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5dyAqLwotYm9vbDQgb3BlcmF0b3Iuenh5dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iuenh5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnp4eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53encgKi8KLWJvb2wzIG9wZXJhdG9yLnd6dyhib29sNCB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53enco
dWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci53encoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53encoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56d3p6ICovCi1ib29sNCBvcGVyYXRvci56d3p6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56d3p6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuend6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGxv
ZzEwICovCi1mbG9hdCBsb2cxMChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGxvZyh4KSAvIGxvZyhm
bG9hdCgxMCkpOwotfQotZmxvYXQyIGxvZzEwKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cxMCh4
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGxvZzEwKGZsb2F0MyB4KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBsb2cxMCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGxvZzEwKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cx
MCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBs
b2cxMCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbG9nMTAoZmxvYXQy
eDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewot
ICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQg
eCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBs
b2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDIgbG9nMTAoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDMgbG9nMTAoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cx
MCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cx
MCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgbG9nMTAoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBs
b2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBsb2cx
MCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IvICovCi1uYXRpdmUgaW50IG9wZXJhdG9yLyhpbnQsIGludCk7Ci1uYXRpdmUgdWlu
dCBvcGVyYXRvci8odWludCwgdWludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBm
bG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvci8odWludCwg
dWludDIpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50MywgdWludDMpOwotbmF0aXZlIHVp
bnQzIG9wZXJhdG9yLyh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IvKHVpbnQs
IHVpbnQzKTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSB1
aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLyh1aW50
LCB1aW50NCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci8oaW50MiwgaW50Mik7Ci1uYXRpdmUgaW50
MiBvcGVyYXRvci8oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLyhpbnQsIGludDIp
OwotbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMsIGludDMpOwotbmF0aXZlIGludDMgb3BlcmF0
b3IvKGludDMsIGludCk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvci8oaW50LCBpbnQzKTsKLW5hdGl2
ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0
LCBpbnQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IvKGludCwgaW50NCk7Ci1uYXRpdmUgZmxvYXQy
IG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9h
dDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDIpOwotbmF0
aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0MyBvcGVy
YXRvci8oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLyhmbG9hdCwgZmxv
YXQzKTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBm
bG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci8o
ZmxvYXQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9h
dDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3Iv
KGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9h
dDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1u
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Iv
KGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gy
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Mik7Ci1u
YXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxv
YXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3IvKGZsb2F0LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0
LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IvKGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDIgb3Bl
cmF0b3IvKGZsb2F0NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0
LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdDR4
Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3IvKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZs
b2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4
NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3p4ICovCi1ib29sNCBvcGVyYXRv
ci54d3p4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3engodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p4KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueHd6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3coYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh3dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56eHd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3l6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l6eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3l6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5engoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eSAq
LwotYm9vbDIgb3BlcmF0b3Iud3koYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDIgb3BlcmF0b3Iud3kodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MiBvcGVyYXRvci53eShpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG9wZXJhdG9yLnd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p5eiAqLwotYm9vbDQgb3BlcmF0b3Iu
d3p5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnd6eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBkZHlfZmluZSAqLwotZmxvYXQgZGR5X2ZpbmUoZmxvYXQgeCkgewotICAgIHJl
dHVybiBkZHkoeCk7Ci19Ci1mbG9hdDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGRkeV9maW5lKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR5X2ZpbmUo
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5l
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGRkeV9maW5lKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZGR5X2ZpbmUo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5l
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGRkeV9maW5lKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeV9maW5lKHhbM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7Ci0gICAgZmxv
YXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7Ci0g
ICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4
NCBkZHlfZmluZShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBkZHlfZmlu
ZShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MyBkZHlfZmluZShmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5l
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRk
eV9maW5lKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBkZHlfZmlu
ZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhb
MV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5l
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhb
MF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5l
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9m
aW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRk
eV9maW5lKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHlfZmlu
ZShmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhb
MV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5l
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9m
aW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwotICAg
IHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXp4ICovCi1ib29sNCBvcGVyYXRvci54
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl6eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4PSAqLwotYm9vbDQgb3BlcmF0b3Iud3l4PShib29s
NCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci53eXg9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l4PShmbG9hdDQgdiwgZmxv
YXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p5eSAqLwotYm9vbDQgb3BlcmF0
b3Iud3p5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eShpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd6eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3ogKi8KLWJvb2wzIG9wZXJhdG9yLnl3eihib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55d3oodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3ooaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3oo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhbnkgKi8KLWJvb2wgYW55KGJvb2wgeCkgewotICAg
IHJldHVybiB4OwotfQotYm9vbCBhbnkoYm9vbDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShib29sMyB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0pOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDQgeCkgewotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkodWludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYW55KHVpbnQy
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KHVpbnQzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDAp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueSh1aW50NCB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0K
LWJvb2wgYW55KGludDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAh
PSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoaW50MyB4KSB7Ci0gICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoaW50NCB4KSB7
Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0g
MCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0IHgpIHsKLSAgICByZXR1
cm4geCAhPSAwOwotfQotYm9vbCBhbnkoZmxvYXQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZs
b2F0MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkoZmxvYXQ0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnko
ZmxvYXQyeDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
IGFueShmbG9hdDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQyeDQgeCkgewotICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQzeDIgeCkgewotICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZs
b2F0M3gzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShmbG9hdDN4NCB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbCBhbnkoZmxvYXQ0eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkoZmxvYXQ0eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM11bMl0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NHg0
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
M10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbM11bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAhPSAwKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9v
bDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4NCB4KSB7Ci0gICAg
Ym9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDN4MiB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbCBhbnkoYm9vbDN4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDN4NCB4KSB7
Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnko
Ym9vbDR4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDR4
MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsy
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bCBhbnkoYm9vbDR4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsz
XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK
KworCisKKworCisKKworCisKKworCisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCBkZXZp
Y2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKwor
CisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQy
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisK
KworCisKKworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGlu
dDM+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
CisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
CisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQy
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAK
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHd3ICovCi1ib29sNCBvcGVyYXRvci55eHd3
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4d3codWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXh3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp5PSAqLwotYm9vbDMgb3BlcmF0b3Iuenk9KGJvb2wzIHYsIGJvb2wyIGMpIHsKLSAg
ICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eT0oYm9vbDQgdiwg
Ym9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9y
Lnp5PSh1aW50MyB2LCB1aW50MiBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3Iuenk9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5PShpbnQzIHYsIGludDIgYykgewotICAgIGlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eT0oaW50NCB2LCBpbnQyIGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eT0oZmxv
YXQzIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnog
PSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56eT0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eiAqLwotYm9vbDMg
b3BlcmF0b3Iud3l6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd5eih1aW50NCB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5eihp
bnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnd5eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4
dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl4dz0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl4dz0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3PShpbnQ0IHYsIGludDMgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl4dz0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd5eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd5eHooYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iud3l4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnd5eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh6KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2NvYXJzZSAq
LwotZmxvYXQgZGR5X2NvYXJzZShmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGRkeSh4KTsKLX0KLWZs
b2F0MiBkZHlfY29hcnNlKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZHlfY29hcnNlKGZsb2F0MyB4KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5X2Nv
YXJzZSh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRkeV9jb2Fyc2UoZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9jb2Fyc2Uo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBkZHlfY29hcnNlKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeV9jb2Fyc2UoeFszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHlfY29hcnNl
KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGRkeV9jb2Fyc2UoZmxvYXQyeDQgeCkgewot
ICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29h
cnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsx
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRkeV9jb2Fyc2UoZmxvYXQz
eDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4KSB7Ci0gICAgZmxv
YXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9j
b2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDN4NCBkZHlfY29hcnNlKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9j
b2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5
X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgyIGRkeV9jb2Fyc2UoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5
X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNl
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGRkeV9jb2Fyc2UoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNl
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fy
c2UoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGR5X2NvYXJzZShmbG9hdDR4NCB4KSB7Ci0g
ICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fy
c2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhb
M11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGRkeV9jb2Fyc2UoeFszXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5enogKi8KLWJv
b2w0IG9wZXJhdG9yLnh5enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iu
eHl6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp6KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eXp6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh5enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp6KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5enooZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IrKyAqLwotdWludCBvcGVyYXRvcisrKHVpbnQgdmFsdWUpIHsKLSAg
ICByZXR1cm4gdmFsdWUgKyAxOwotfQotaW50IG9wZXJhdG9yKysoaW50IHZhbHVlKSB7Ci0gICAg
cmV0dXJuIHZhbHVlICsgMTsKLX0KLWZsb2F0IG9wZXJhdG9yKysoZmxvYXQgdmFsdWUpIHsKLSAg
ICByZXR1cm4gdmFsdWUgKyAxOwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRB
bmQgKi8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRv
bWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQo
ZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRn
cm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2lu
dCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50
Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCos
IHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRn
cm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxv
Y2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBp
bnQsIHRocmVhZGdyb3VwIGludCopOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6
eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnd5eng9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29s
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55Owot
ICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXp4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci53eXp4PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAg
ICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eng9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZs
b2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHd4ICovCi1ib29sNCBv
cGVyYXRvci54eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHd4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3go
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IuenkgKi8KLWJvb2wyIG9wZXJhdG9yLnp5KGJvb2wzIHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnp5KGJvb2w0IHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQzIHYpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQ0IHYpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuenkoaW50MyB2KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuenkoaW50NCB2KSB7Ci0gICAgaW50MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eShmbG9hdDMgdikgewotICAgIGZsb2F0
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eShmbG9hdDQgdikgewotICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXcgKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl5
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd6eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3enk9KGJvb2w0IHYsIGJvb2w0IGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3p5PSh1aW50NCB2LCB1aW50NCBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p5PShpbnQ0IHYsIGludDQgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3enk9KGZsb2F0NCB2LCBmbG9hdDQgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcn4gKi8KLWJvb2wgb3Bl
cmF0b3J+KGJvb2wgdmFsdWUpIHsKLSAgICByZXR1cm4gIXZhbHVlOwotfQotbmF0aXZlIGludCBv
cGVyYXRvcn4oaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yfih1aW50KTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVk
IGRkeCAqLwotbmF0aXZlIGZsb2F0IGRkeChmbG9hdCk7Ci1mbG9hdDIgZGR4KGZsb2F0MiB4KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZGR4KHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR4KGZs
b2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRkeChmbG9hdDQgeCkgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRk
eCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZGR4
KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngzIGRkeChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBkZHgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBk
ZHgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGRkeChmbG9hdDN4
NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR4KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBkZHgoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBkZHgoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHgo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGRkeCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGR4KGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBkZHgoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZGR4KHhbM11bM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enl4ICovCi1ib29sNCBvcGVyYXRvci56enl4KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6eXgoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iuenp5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eChp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56enl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd6eiAqLwotYm9vbDQgb3BlcmF0b3IueHd6eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54d3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHd6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3enooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXd4ICov
Ci1ib29sNCBvcGVyYXRvci53eXd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXd4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkTWF4ICovCi1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCop
OwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfdWlu
dCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZp
Y2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRNYXgoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdy
b3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgo
dGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3Jv
dXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE1heCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBp
bnQqKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvc2ggKi8KLW5hdGl2ZSBmbG9hdCBjb3NoKGZs
b2F0KTsKLWZsb2F0MiBjb3NoKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBjb3NoKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvc2go
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGNvc2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY29zaCh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBjb3NoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGNvc2goeFszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGNvc2goZmxvYXQyeDIgeCkgewotICAgIGZsb2F0Mngy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MyBjb3NoKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBjb3NoKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2go
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDMgY29zaChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gY29zaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29z
aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGNvc2goeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGNvc2goZmxv
YXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3No
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
Y29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIGNvc2goZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBj
b3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gY29zaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY29zaCh4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zaChmbG9hdDR4NCB4
KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gY29zaCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY29z
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwotICAgIHJlc3Vs
dFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zaCh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IGNvc2goeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5h
bWVkIGRkeF9jb2Fyc2UgKi8KLWZsb2F0IGRkeF9jb2Fyc2UoZmxvYXQgeCkgewotICAgIHJldHVy
biBkZHgoeCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
Q3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJl
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcisgKi8KK25h
dGl2ZSBpbnQgb3BlcmF0b3IrKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9yKyh1aW50
LCB1aW50KTsKK25hdGl2ZSBmbG9hdCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSB1
aW50MiBvcGVyYXRvcisodWludDIsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvcisodWlu
dCwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKyh1aW50MiwgdWludCk7CituYXRpdmUg
dWludDMgb3BlcmF0b3IrKHVpbnQzLCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3IrKHVp
bnQsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvcisodWludDMsIHVpbnQpOworbmF0aXZl
IHVpbnQ0IG9wZXJhdG9yKyh1aW50NCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1
aW50LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3IrKHVpbnQ0LCB1aW50KTsKK25hdGl2
ZSBpbnQyIG9wZXJhdG9yKyhpbnQyLCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQs
IGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3IrKGludDIsIGludCk7CituYXRpdmUgaW50MyBv
cGVyYXRvcisoaW50MywgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvcisoaW50LCBpbnQzKTsK
K25hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQzLCBpbnQpOworbmF0aXZlIGludDQgb3BlcmF0b3Ir
KGludDQsIGludDQpOworbmF0aXZlIGludDQgb3BlcmF0b3IrKGludCwgaW50NCk7CituYXRpdmUg
aW50NCBvcGVyYXRvcisoaW50NCwgaW50KTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0
MiwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDIpOworbmF0
aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQzIG9wZXJh
dG9yKyhmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yKyhmbG9hdCwgZmxv
YXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IrKGZsb2F0MywgZmxvYXQpOworbmF0aXZlIGZs
b2F0NCBvcGVyYXRvcisoZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvciso
ZmxvYXQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQsIGZsb2F0KTsK
K25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBm
bG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVy
YXRvcisoZmxvYXQyeDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQz
eDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0M3gy
KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQzeDIsIGZsb2F0KTsKK25hdGl2ZSBm
bG9hdDR4MiBvcGVyYXRvcisoZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4MiBv
cGVyYXRvcisoZmxvYXQsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvcisoZmxv
YXQ0eDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMsIGZsb2F0
MngzKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0MngzKTsKK25hdGl2
ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBv
cGVyYXRvcisoZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciso
ZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvcisoZmxvYXQzeDMsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4
MyBvcGVyYXRvcisoZmxvYXQ0eDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciso
ZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQsIGZs
b2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQsIGZsb2F0KTsKK25h
dGl2ZSBmbG9hdDN4NCBvcGVyYXRvcisoZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9h
dDN4NCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRv
cisoZmxvYXQzeDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQs
IGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0NHg0KTsK
K25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQsIGZsb2F0KTsKK25hdGl2ZSB1aW50
MiBvcGVyYXRvcisodWludDIpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50Myk7CituYXRp
dmUgdWludDQgb3BlcmF0b3IrKHVpbnQ0KTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQyKTsK
K25hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQzKTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0
KTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0Mik7CituYXRpdmUgZmxvYXQzIG9wZXJh
dG9yKyhmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvcisoZmxvYXQ0KTsKK25hdGl2ZSBm
bG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhm
bG9hdDN4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyKTsKK25hdGl2ZSBm
bG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKyhm
bG9hdDN4Myk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzKTsKK25hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhm
bG9hdDN4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0KTsKKworLyogRnVu
Y3Rpb25zIG5hbWVkIGZyYWMgKi8KK2Zsb2F0IGZyYWMoZmxvYXQgeCkgeworICAgIHJldHVybiB4
IC0gZmxvb3IoeCk7CiB9Ci1mbG9hdDIgZGR4X2NvYXJzZShmbG9hdDIgeCkgeworZmxvYXQyIGZy
YWMoZmxvYXQyIHgpIHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeF9j
b2Fyc2UoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1
bHRbMF0gPSBmcmFjKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBkZHhfY29hcnNlKGZsb2F0MyB4KSB7CitmbG9hdDMgZnJh
YyhmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4X2Nv
YXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBkZHhfY29hcnNlKGZsb2F0NCB4KSB7CitmbG9h
dDQgZnJhYyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
ZGR4X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZGR4X2NvYXJz
ZSh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZy
YWMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZnJhYyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBm
cmFjKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBkZHhfY29hcnNlKGZs
b2F0MngyIHgpIHsKK2Zsb2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2Nv
YXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHhfY29hcnNlKGZsb2F0MngzIHgpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2Nv
YXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4
WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgZGR4X2NvYXJzZShmbG9h
dDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9j
b2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4
X2NvYXJzZSh4WzFdWzNdKTsKK2Zsb2F0M3gyIGZyYWMoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0
M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZGR4X2NvYXJzZShmbG9hdDN4MiB4KSB7Ci0gICAg
ZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2Uo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworZmxvYXQ0eDIgZnJhYyhmbG9hdDR4
MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMg
ZGR4X2NvYXJzZShmbG9hdDN4MyB4KSB7CitmbG9hdDJ4MyBmcmFjKGZsb2F0MngzIHgpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGZyYWMoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNl
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgZGR4X2Nv
YXJzZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4
X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNl
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBk
ZHhfY29hcnNlKHhbMl1bM10pOworZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2Uo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOworZmxvYXQyeDQgZnJh
YyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhf
Y29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2Uo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOworZmxvYXQzeDQgZnJhYyhmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFj
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCBkZHhfY29hcnNlKGZsb2F0NHg0IHgpIHsKK2Zsb2F0
NHg0IGZyYWMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2Nv
YXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHhf
Y29hcnNlKHhbM11bM10pOworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZnJh
Yyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGZyYWMoeFsz
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnd4ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnd4ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAg
IGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd4ej0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h6PShpbnQ0IHYsIGlu
dDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd4ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBu
YW1lZCBzdG9yZSAqLworbmF0aXZlIHZvaWQgc3RvcmUoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQp
OworbmF0aXZlIHZvaWQgc3RvcmUoZGV2aWNlIGF0b21pY191aW50KiwgdWludCk7CituYXRpdmUg
dm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50KTsKK25hdGl2ZSB2b2lkIHN0
b3JlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBmaXJzdGJpdGhpZ2ggKi8KLXVpbnQgZmlyc3RiaXRoaWdoKHVpbnQgeCkgewotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzMSkpICE9IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAzMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyOSkpICE9IDApCi0gICAgICAgIHJldHVybiAyOwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyOCkpICE9IDApCi0gICAgICAgIHJldHVybiAzOwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyNykpICE9IDApCi0gICAgICAgIHJldHVybiA0OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAy
NikpICE9IDApCi0gICAgICAgIHJldHVybiA1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNSkp
ICE9IDApCi0gICAgICAgIHJldHVybiA2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9
IDApCi0gICAgICAgIHJldHVybiA3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDAp
Ci0gICAgICAgIHJldHVybiA4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCi0g
ICAgICAgIHJldHVybiA5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMSkpICE9IDApCi0gICAg
ICAgIHJldHVybiAxMDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMTE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDEyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOCkpICE9IDApCi0gICAgICAgIHJl
dHVybiAxMzsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMTQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDE1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNSkpICE9IDApCi0gICAgICAgIHJldHVybiAx
NjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTc7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE4Owot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMikpICE9IDApCi0gICAgICAgIHJldHVybiAxOTsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjA7Ci0gICAg
aWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIxOwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCA5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIyOwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCA4KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIzOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA3KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI0OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI1OwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCA1KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCA0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAz
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyKSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDI5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0g
MCkKLSAgICAgICAgcmV0dXJuIDMwOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDMxOwotICAgIHJldHVybiAzMjsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBy
ZWZyYWN0ICovCitmbG9hdCByZWZyYWN0KGZsb2F0IGksIGZsb2F0IG4sIGZsb2F0IGV0YSkgewor
ICAgIGZsb2F0IHJlc3VsdDsKKyAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90
KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAoayA8IDApCisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBu
OwogfQotdWludCBmaXJzdGJpdGhpZ2goaW50IHgpIHsKLSAgICByZXR1cm4gZmlyc3RiaXRoaWdo
KHVpbnQoeCkpOworZmxvYXQyIHJlZnJhY3QoZmxvYXQyIGksIGZsb2F0MiBuLCBmbG9hdCBldGEp
IHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEg
LSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGsp
KSAqIG47CiB9Ci11aW50MiBmaXJzdGJpdGhpZ2godWludDIgeCkgewotICAgIHVpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOworZmxvYXQzIHJlZnJhY3QoZmxvYXQzIGksIGZsb2F0MyBuLCBm
bG9hdCBldGEpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICog
ZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkg
KyBzcXJ0KGspKSAqIG47Cit9CitmbG9hdDQgcmVmcmFjdChmbG9hdDQgaSwgZmxvYXQ0IG4sIGZs
b2F0IGV0YSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEgLSBldGEgKiBl
dGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAwKQorICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSAr
IHNxcnQoaykpICogbjsKK30KKworLyogRnVuY3Rpb25zIG5hbWVkIGxvZzEwICovCitmbG9hdCBs
b2cxMChmbG9hdCB4KSB7CisgICAgcmV0dXJuIGxvZyh4KSAvIGxvZyhmbG9hdCgxMCkpOworfQor
ZmxvYXQyIGxvZzEwKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBsb2cxMCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDMgZmlyc3RiaXRoaWdoKHVpbnQzIHgpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsy
XSk7CitmbG9hdDMgbG9nMTAoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzEwKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGxvZzEwKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBm
aXJzdGJpdGhpZ2godWludDQgeCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBm
aXJzdGJpdGhpZ2goeFszXSk7CitmbG9hdDQgbG9nMTAoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxv
ZzEwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzEwKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGxvZzEwKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBmaXJzdGJpdGhpZ2go
aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGln
aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CitmbG9hdDJ4MiBs
b2cxMChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzEwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBmaXJzdGJpdGhpZ2go
aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGln
aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0pOworZmxvYXQzeDIgbG9nMTAoZmxvYXQzeDIgeCkgewor
ICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRoaWdoKGludDQg
eCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGZpcnN0Yml0aGlnaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGhpZ2goeFszXSk7
CitmbG9hdDR4MiBsb2cxMChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEw
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBsb2cxMChmbG9hdDJ4MyB4KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBsb2cxMChmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEw
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBsb2cxMChmbG9hdDR4MyB4KSB7
CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEw
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhbM11bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBsb2cxMChmbG9hdDJ4NCB4KSB7CisgICAg
ZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBsb2cx
MChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxv
ZzEwKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBsb2cxMChmbG9h
dDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEw
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxv
ZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzEwKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVszXSA9IGxvZzEwKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enp5ICovCi1ib29sNCBvcGVyYXRv
ci54enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IvICovCituYXRpdmUgaW50IG9wZXJh
dG9yLyhpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRvci8odWludCwgdWludCk7CituYXRp
dmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdCk7CituYXRpdmUgdWludDIgb3BlcmF0b3Iv
KHVpbnQyLCB1aW50Mik7CituYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50KTsKK25h
dGl2ZSB1aW50MiBvcGVyYXRvci8odWludCwgdWludDIpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9y
Lyh1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50MywgdWludCk7Citu
YXRpdmUgdWludDMgb3BlcmF0b3IvKHVpbnQsIHVpbnQzKTsKK25hdGl2ZSB1aW50NCBvcGVyYXRv
ci8odWludDQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQpOwor
bmF0aXZlIHVpbnQ0IG9wZXJhdG9yLyh1aW50LCB1aW50NCk7CituYXRpdmUgaW50MiBvcGVyYXRv
ci8oaW50MiwgaW50Mik7CituYXRpdmUgaW50MiBvcGVyYXRvci8oaW50MiwgaW50KTsKK25hdGl2
ZSBpbnQyIG9wZXJhdG9yLyhpbnQsIGludDIpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMs
IGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMsIGludCk7CituYXRpdmUgaW50MyBv
cGVyYXRvci8oaW50LCBpbnQzKTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQ0KTsK
K25hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQpOworbmF0aXZlIGludDQgb3BlcmF0b3Iv
KGludCwgaW50NCk7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0Mik7Citu
YXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDIgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBm
bG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3Iv
KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQp
OworbmF0aXZlIGZsb2F0NCBvcGVyYXRvci8oZmxvYXQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQy
eDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0
b3IvKGZsb2F0MngyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0LCBm
bG9hdDJ4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdDN4Mik7
CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdCk7CituYXRpdmUgZmxv
YXQzeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0
b3IvKGZsb2F0NHgyLCBmbG9hdDR4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0
NHgyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4Mik7
CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUg
ZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDMgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0
M3gzLCBmbG9hdDN4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9h
dCk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Myk7CituYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZs
b2F0LCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9h
dDJ4NCk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdCk7CituYXRp
dmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQzeDQg
b3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3Iv
KGZsb2F0M3g0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9h
dDN4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9hdDR4NCk7Citu
YXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0
eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBkZHlf
ZmluZSAqLworZmxvYXQgZGR5X2ZpbmUoZmxvYXQgeCkgeworICAgIHJldHVybiBkZHkoeCk7Cit9
CitmbG9hdDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci54enp5KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMgZGR5
X2ZpbmUoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRk
eV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGRkeV9maW5lKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci54enp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDQgZGR5X2ZpbmUoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9m
aW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeV9maW5lKHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGRkeV9maW5lKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci54enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CitmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6enkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5l
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnh6enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp6eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBkZHlfZmluZShmbG9h
dDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRk
eV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBkZHlfZmluZShmbG9hdDN4MyB4
KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9m
aW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3p4ICovCi1ib29sNCBvcGVyYXRvci56
d3p4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7CitmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5l
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9m
aW5lKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3p4
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4NCBkZHlfZmluZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGRkeV9maW5lKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnp3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5l
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9m
aW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRk
eV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGRkeV9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iuend6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDR4NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5l
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9m
aW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGRkeV9maW5lKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eXp3ICovCi1ib29sNCBvcGVyYXRvci55eXp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBhbnkgKi8KK2Jvb2wgYW55KGJvb2wgeCkgeworICAgIHJldHVybiB4Owog
fQotdWludDQgb3BlcmF0b3IueXl6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkoYm9vbDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl5encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Citib29sIGFueShib29sMyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkoYm9vbDQgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4dyAqLwotYm9vbDQgb3BlcmF0b3IueHd4dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Citib29sIGFueSh1aW50IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOwog
fQotdWludDQgb3BlcmF0b3IueHd4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkodWludDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci54d3h3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OworYm9vbCBhbnkodWludDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54d3h3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55
KHVpbnQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgcmNwICovCi1mbG9hdCByY3AoZmxvYXQgeCkgewotICAgIHJldHVybiAxIC8geDsKK2Jvb2wg
YW55KGludCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLWZsb2F0MiByY3AoZmxvYXQyIHgp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSByY3AoeFsxXSk7Citib29sIGFueShpbnQyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MyByY3AoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJj
cCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSByY3AoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcmNw
KHhbMl0pOworYm9vbCBhbnkoaW50MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHJjcChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHJjcCh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSByY3AoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcmNwKHhbM10p
OworYm9vbCBhbnkoaW50NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mngy
IHJjcChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFd
WzFdKTsKK2Jvb2wgYW55KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBh
bnkoZmxvYXQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIHJjcChmbG9hdDJ4MyB4KSB7Ci0gICAg
ZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworYm9vbCBh
bnkoZmxvYXQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSByY3AoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworYm9vbCBhbnkoZmxvYXQ0
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgcmNwKGZsb2F0M3gyIHgp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBy
Y3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7
Citib29sIGFueShmbG9hdDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gzIHJjcChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3Ao
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gcmNwKHhbMl1bMl0pOworYm9vbCBhbnkoZmxvYXQzeDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0
IHJjcChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworYm9vbCBh
bnkoZmxvYXQ0eDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgcmNw
KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBy
Y3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKK2Jvb2wgYW55KGZsb2F0MngzIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDR4MyByY3AoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3Ao
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gcmNwKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKK2Jv
b2wgYW55KGZsb2F0M3gzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkg
ewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNw
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSByY3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7Citi
b29sIGFueShmbG9hdDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsy
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFszXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3h6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eChib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworYm9vbCBhbnkoZmxvYXQy
eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3h6eCh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owor
Ym9vbCBhbnkoZmxvYXQzeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3h6
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
K2Jvb2wgYW55KGZsb2F0NHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAh
PSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4engoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworYm9v
bCBhbnkoYm9vbDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p5ICovCi1ib29sMyBvcGVyYXRvci53enkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKK2Jvb2wgYW55KGJvb2wzeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQz
IG9wZXJhdG9yLnd6eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OworYm9vbCBh
bnkoYm9vbDR4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRv
ci53enkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Citib29sIGFueShib29sMngz
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iud3p5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKK2Jvb2wgYW55KGJvb2wzeDMgeCkgeworICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4dyAqLwotYm9vbDMgb3BlcmF0b3Iuenh3KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Citib29sIGFueShib29sNHgzIHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVy
YXRvci56eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jvb2wgYW55KGJv
b2wyeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenh3
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworYm9vbCBhbnkoYm9vbDN4NCB4KSB7
CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9w
ZXJhdG9yLnp4dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Citib29sIGFu
eShib29sNHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHl5
ICovCi1ib29sNCBvcGVyYXRvci56eHl5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnp4eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh5eSh1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl5KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBkZHlfY29hcnNlICovCitmbG9hdCBkZHlfY29hcnNl
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZGR5KHgpOwogfQotaW50NCBvcGVyYXRvci56eHl5KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQyIGRkeV9jb2Fyc2UoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGRkeV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHl5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGRkeV9j
b2Fyc2UoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRk
eV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBkZHlfY29hcnNlKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDQgb3BlcmF0b3Iuenh5eShmbG9hdDMgdikgeworZmxvYXQ0IGRkeV9jb2Fyc2UoZmxvYXQ0IHgp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworICAgIHJl
c3VsdFswXSA9IGRkeV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHlfY29hcnNlKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGRkeV9jb2Fyc2UoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci56eHl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0Mngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eXl5ICovCi1ib29sNCBvcGVyYXRvci55eXl5KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MiBkZHlfY29hcnNlKGZsb2F0M3gy
IHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJz
ZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGRkeV9jb2Fyc2UoZmxv
YXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlf
Y29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eV9jb2Fyc2UoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9y
Lnl5eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0MngzIGRkeV9jb2Fyc2UoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3IueXl5eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OworZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fy
c2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50NCBvcGVyYXRvci55eXl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgp
IHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5
X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNl
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHlfY29hcnNlKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFszXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eXkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0Mng0
IGRkeV9jb2Fyc2UoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9j
b2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3IueXl5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRkeV9jb2Fyc2UoZmxvYXQzeDQgeCkgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNl
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fy
c2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eXl5KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQgZGR5X2NvYXJz
ZShmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlf
Y29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGRkeV9jb2Fyc2Uo
eFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl5eShpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IrKyAqLwordWludCBv
cGVyYXRvcisrKHVpbnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOwogfQotZmxvYXQ0
IG9wZXJhdG9yLnl5eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQgb3BlcmF0b3IrKyhpbnQg
dmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXko
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBvcGVyYXRvcisrKGZsb2F0IHZhbHVlKSB7Cisg
ICAgcmV0dXJuIHZhbHVlICsgMTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXl5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRBbmQgKi8KK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5k
KGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhy
ZWFkZ3JvdXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmlj
ZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJl
YWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkQW5kKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdy
b3VwIGludCopOworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3J+ICovCitib29sIG9wZXJh
dG9yfihib29sIHZhbHVlKSB7CisgICAgcmV0dXJuICF2YWx1ZTsKIH0KK25hdGl2ZSBpbnQgb3Bl
cmF0b3J+KGludCk7CituYXRpdmUgdWludCBvcGVyYXRvcn4odWludCk7CiAKLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55end4PSAqLwotYm9vbDQgb3BlcmF0b3IueXp3eD0oYm9vbDQgdiwg
Ym9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBj
Lnc7CisvKiBGdW5jdGlvbnMgbmFtZWQgZGR4ICovCituYXRpdmUgZmxvYXQgZGR4KGZsb2F0KTsK
K2Zsb2F0MiBkZHgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGRkeCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6d3g9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OworZmxvYXQzIGRkeChm
bG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp3eD0oaW50NCB2LCBpbnQ0
IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Citm
bG9hdDQgZGR4KGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBkZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGRkeCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHgoeFszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NCBvcGVyYXRvci55end4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKK2Zsb2F0MngyIGRk
eChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enp4eSAqLwotYm9vbDQgb3BlcmF0b3Iuenp4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZGR4KGZsb2F0M3gyIHgpIHsK
KyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnp6eHkoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGRkeChm
bG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRk
eCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBkZHgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnp6eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0MngzIGRkeChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBk
ZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci11aW50NCBvcGVyYXRvci56enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBkZHgoZmxvYXQzeDMgeCkgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci56enh5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgZGR4KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBkZHgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3Iuenp4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0Mng0IGRkeChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56enh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRkeChmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBkZHgoZmxvYXQ0eDQgeCkgeworICAg
IGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGRkeCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBkZHgoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGZ3aWR0aCAqLworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkTWF4ICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJl
YWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhy
ZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heCh0aHJl
YWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKIAotZmxvYXQgZndp
ZHRoKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gYWJzKGRkeCh4KSkgKyBhYnMoZGR5KHgpKTsKLX0K
LWZsb2F0MiBmd2lkdGgoZmxvYXQyIHgpIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBjb3NoICovCitu
YXRpdmUgZmxvYXQgY29zaChmbG9hdCk7CitmbG9hdDIgY29zaChmbG9hdDIgeCkgewogICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZ3aWR0aCh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGNvc2goeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBmd2lkdGgo
ZmxvYXQzIHgpIHsKK2Zsb2F0MyBjb3NoKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZndpZHRoKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKKyAgICByZXN1bHRbMF0gPSBjb3No
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY29z
aCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkg
eworZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGZ3aWR0aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gZndpZHRoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGZ3aWR0aCh4WzNdKTsK
KyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBjb3NoKHhbM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBmd2lkdGgoZmxvYXQyeDIgeCkgewor
ZmxvYXQyeDIgY29zaChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDMgZndpZHRoKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0Mng0IGZ3aWR0aChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
d2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lk
dGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzeDIgZndpZHRoKGZsb2F0M3gyIHgpIHsKK2Zsb2F0M3gyIGNvc2goZmxvYXQz
eDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMg
ZndpZHRoKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3g0IGZ3aWR0aChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsx
XVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFswXVsw
XSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2go
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBjb3NoKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBm
d2lkdGgoZmxvYXQ0eDIgeCkgeworZmxvYXQ0eDIgY29zaChmbG9hdDR4MiB4KSB7CiAgICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRo
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBjb3NoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBmd2lk
dGgoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
d2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKK2Zsb2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
d2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgo
eFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFsz
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZndpZHRoKHhbM11bM10pOworZmxvYXQzeDMgY29z
aChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3No
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLno9ICovCi1uYXRpdmUgYm9vbDMgb3BlcmF0b3Iuej0oYm9vbDMsIGJvb2wpOwot
bmF0aXZlIGJvb2w0IG9wZXJhdG9yLno9KGJvb2w0LCBib29sKTsKLW5hdGl2ZSB1aW50MyBvcGVy
YXRvci56PSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3Iuej0odWludDQsIHVp
bnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3Iuej0oaW50MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yLno9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLno9KGZsb2F0Mywg
ZmxvYXQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci56PShmbG9hdDQsIGZsb2F0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLng9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueD0o
Ym9vbDIsIGJvb2wpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yLng9KGJvb2wzLCBib29sKTsKLW5h
dGl2ZSBib29sNCBvcGVyYXRvci54PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0
b3IueD0odWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLng9KHVpbnQzLCB1aW50
KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci54PSh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50MiBv
cGVyYXRvci54PShpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IueD0oaW50MywgaW50
KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLng9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yLng9KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci54PShmbG9h
dDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IueD0oZmxvYXQ0LCBmbG9hdCk7Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eT0gKi8KLW5hdGl2ZSBib29sMiBvcGVyYXRv
ci54eT0oYm9vbDIsIGJvb2wyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvci54eT0oYm9vbDMsIGJv
b2wyKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvci54eT0oYm9vbDQsIGJvb2wyKTsKLW5hdGl2ZSB1
aW50MiBvcGVyYXRvci54eT0odWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci54
eT0odWludDMsIHVpbnQyKTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci54eT0odWludDQsIHVpbnQy
KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5PShpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQzIG9w
ZXJhdG9yLnh5PShpbnQzLCBpbnQyKTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnh5PShpbnQ0LCBp
bnQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IueHk9KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2
ZSBmbG9hdDMgb3BlcmF0b3IueHk9KGZsb2F0MywgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDQgb3Bl
cmF0b3IueHk9KGZsb2F0NCwgZmxvYXQyKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl4dyAqLwotYm9vbDMgb3BlcmF0b3IueXh3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7CitmbG9hdDR4MyBjb3NoKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBj
b3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGNvc2goeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJh
dG9yLnl4dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyeDQgY29z
aChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50MyBvcGVyYXRvci55eHcoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7CitmbG9h
dDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGNvc2goeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2go
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci55eHcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQ0eDQgY29zaChmbG9hdDR4
NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gY29zaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
Y29zaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsz
XSA9IGNvc2goeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnh4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh4d3koYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGRkeF9jb2Fyc2UgKi8KK2Zsb2F0IGRkeF9jb2Fy
c2UoZmxvYXQgeCkgeworICAgIHJldHVybiBkZHgoeCk7CiB9Ci11aW50NCBvcGVyYXRvci54eHd5
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
CitmbG9hdDIgZGR4X2NvYXJzZShmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNl
KHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4d3koaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMg
ZGR4X2NvYXJzZShmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci54eHd5KGZsb2F0NCB2KSB7CitmbG9hdDQgZGR4X2NvYXJzZShmbG9h
dDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cisg
ICAgcmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29h
cnNlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gZGR4X2NvYXJzZSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXcgKi8KLWJvb2wyIG9wZXJhdG9yLnl3KGJvb2w0IHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7CitmbG9hdDJ4MiBkZHhfY29hcnNlKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IueXcodWludDQgdikgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKK2Zs
b2F0M3gyIGRkeF9jb2Fyc2UoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2Nv
YXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVyYXRvci55dyhp
bnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKK2Zsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29h
cnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci55dyhmbG9hdDQgdikgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
CitmbG9hdDJ4MyBkZHhfY29hcnNlKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnp4d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3goYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gzIGRk
eF9jb2Fyc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fy
c2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2Nv
YXJzZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenh3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNl
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fy
c2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1pbnQ0IG9wZXJhdG9yLnp4d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsK
KyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2Nv
YXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhb
MV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDN4NCBkZHhfY29hcnNlKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9j
b2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRb
M11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enl5ICovCi1ib29sNCBvcGVyYXRvci55enl5KGJv
b2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGZpcnN0Yml0aGlnaCAqLwor
dWludCBmaXJzdGJpdGhpZ2godWludCB4KSB7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI1KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDg7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDk7Cisg
ICAgaWYgKCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEwOworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAyMCkpICE9IDApCisgICAgICAgIHJldHVybiAxMTsKKyAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMTkpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTI7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDE4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEzOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAxNykpICE9IDApCisgICAgICAgIHJldHVybiAxNDsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMTYpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTU7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDE1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE2OworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAxNCkpICE9IDApCisgICAgICAgIHJldHVybiAxNzsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMTMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTg7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDEyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE5OworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAxMSkpICE9IDApCisgICAgICAgIHJldHVybiAyMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MTApKSAhPSAwKQorICAgICAgICByZXR1cm4gMjE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDkp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMjI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMjM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMjU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMjY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMjc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMjg7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMjk7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4g
MzA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gMzE7
CisgICAgcmV0dXJuIDMyOworfQordWludCBmaXJzdGJpdGhpZ2goaW50IHgpIHsKKyAgICByZXR1
cm4gZmlyc3RiaXRoaWdoKHVpbnQoeCkpOwogfQotYm9vbDQgb3BlcmF0b3IueXp5eShib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDIg
Zmlyc3RiaXRoaWdoKHVpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXp5eSh1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDMgZmly
c3RiaXRoaWdoKHVpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
Zmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnl6eXkodWludDQgdikgewordWludDQgZmlyc3RiaXRoaWdoKHVp
bnQ0IHgpIHsKICAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp5eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55enl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enl5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBmaXJzdGJpdGhpZ2goeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eCAqLwotYm9vbDMgb3BlcmF0b3Iu
d3d4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cit1aW50MiBmaXJzdGJpdGhp
Z2goaW50MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnd3eCh1aW50NCB2KSB7Cit1aW50MyBmaXJz
dGJpdGhpZ2goaW50MyB4KSB7CiAgICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd3eChmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXggKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
KyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmly
c3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd5eCh1aW50NCB2KSB7Cit1aW50
NCBmaXJzdGJpdGhpZ2goaW50NCB4KSB7CiAgICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXgo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3l4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRb
MF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBmaXJzdGJpdGhpZ2goeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd4eCAqLwotYm9vbDMgb3BlcmF0b3Iud3h4KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnd4eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgcmNwICovCitmbG9hdCByY3AoZmxvYXQgeCkg
eworICAgIHJldHVybiAxIC8geDsKIH0KLWludDMgb3BlcmF0b3Iud3h4KGludDQgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyIHJjcChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJjcCh4
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnd4eChmbG9hdDQg
dikgeworZmxvYXQzIHJjcChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eXgg
Ki8KLWJvb2w0IG9wZXJhdG9yLnh5eXgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3IueHl5eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OworICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBy
Y3AoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcmNwKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1ib29sNCBvcGVyYXRvci54eXl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDQgcmNwKGZsb2F0NCB4KSB7CisgICAgZmxv
YXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
cmNwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBy
Y3AoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh5eXgodWlu
dDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJj
cCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl5eCh1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owor
ZmxvYXQzeDIgcmNwKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnh5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKK2Zsb2F0NHgyIHJjcChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHl5eChpbnQyIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngzIHJjcChmbG9hdDJ4MyB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eXgoaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4MyByY3Ao
ZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBy
Y3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJj
cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54eXl4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgcmNwKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNw
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3Ao
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHJjcCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByY3AoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IHJjcChmbG9hdDJ4NCB4
KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBy
Y3AoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl4
KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKK2Zsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDR4NCByY3AoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
M10gPSByY3AoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl3eHggKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHgoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnl3eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55
d3h4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorLyogRnVuY3Rpb25zIG5hbWVkIGZ3aWR0aCAq
LwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d5dyAqLwotYm9vbDQgb3BlcmF0b3Iu
d3d5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBmd2lkdGgoZmxvYXQgeCkgeworICAgIHJl
dHVybiBhYnMoZGR4KHgpKSArIGFicyhkZHkoeCkpOwogfQotdWludDQgb3BlcmF0b3Iud3d5dyh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQyIGZ3aWR0aChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZndpZHRoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3l3KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzIGZ3aWR0aChmbG9hdDMg
eCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3l3KGZsb2F0NCB2
KSB7CitmbG9hdDQgZndpZHRoKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iuend5eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3eXg9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC54ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3l4PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueCA9
IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l4PShpbnQ0IHYs
IGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueCA9IGMu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eXg9KGZsb2F0NCB2
LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC54
ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54enk9ICovCi1ib29sMyBvcGVyYXRvci54enk9KGJvb2wzIHYsIGJvb2wzIGMpIHsKLSAg
ICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci54enk9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0g
Yy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54enk9KHVpbnQzIHYs
IHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworICAgIHJlc3VsdFswXSA9
IGZ3aWR0aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gZndpZHRoKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZ3aWR0aCh4WzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHp5PSh1aW50NCB2LCB1aW50MyBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
eiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0MngyIGZ3aWR0aChmbG9hdDJ4MiB4
KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54enk9KGludDMgdiwgaW50
MyBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJl
c3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQzeDIgZndpZHRoKGZsb2F0
M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRo
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueHp5PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsK
K2Zsb2F0NHgyIGZ3aWR0aChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lk
dGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFsz
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54enk9KGZsb2F0
MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQyeDMg
ZndpZHRoKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0NCBvcGVyYXRvci54enk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55Owot
ICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQzeDMgZndpZHRoKGZsb2F0M3gzIHgpIHsKKyAgICBm
bG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh5eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnh5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIGZ3aWR0aChmbG9hdDR4
MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54
eXl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7CitmbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndp
ZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRo
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eXcoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9h
dDN4NCBmd2lkdGgoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnh5eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBm
d2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lk
dGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZndpZHRoKHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKQEAgLTM3MjQyLDExNyArMTk1ODMsMTE3IEBAIGZsb2F0NCBsZXJwKGZsb2F0
NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHoKIGZsb2F0MngyIGxlcnAoZmxvYXQyeDIgeCwgZmxvYXQy
eDIgeSwgZmxvYXQyeDIgeikgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVy
cCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIGxl
cnAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewotICAgIGZsb2F0MngzIHJl
c3VsdDsKK2Zsb2F0M3gyIGxlcnAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikg
eworICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0s
IHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQyeDQgbGVycChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4
NCB6KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBm
bG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxl
cnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwg
eVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGxlcnAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwg
ZmxvYXQzeDIgeikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIGxlcnAoZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0MngzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGVy
cCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbGVycChm
bG9hdDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxl
cnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBd
WzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IGxlcnAoZmxvYXQzeDQgeCwg
ZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKK2Zsb2F0NHgz
IGxlcnAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVy
cCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBsZXJwKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0
NHgyIHopIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7CitmbG9hdDJ4NCBsZXJwKGZsb2F0Mng0IHgs
IGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFd
LCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlb
M11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsx
XSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgbGVycChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5
LCBmbG9hdDR4MyB6KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbGVycChmbG9h
dDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBs
ZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAo
eFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IGxlcnAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGVy
cCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10g
PSBsZXJwKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CkBAIC0zNzM3MCwxMjQgKzE5NzExLDMgQEAgZmxvYXQgZGlzdGFuY2UoZmxvYXQzIHgsIGZsb2F0
MyB5KSB7CiBmbG9hdCBkaXN0YW5jZShmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKICAgICByZXR1cm4g
bGVuZ3RoKHggLSB5KTsKIH0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6eiAq
LwotYm9vbDQgb3BlcmF0b3Iuenl6eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci56eXp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5enoodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5enooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenl6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5enooZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl6eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLncgKi8KLW5hdGl2ZSBi
b29sIG9wZXJhdG9yLncoYm9vbDQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3Iudyh1aW50NCk7Ci1u
YXRpdmUgaW50IG9wZXJhdG9yLncoaW50NCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IudyhmbG9h
dDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eiAqLwotYm9vbDQgb3BlcmF0
b3Iud3d4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3h6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd3eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eSAqLwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yLnh5KGJv
b2wyKTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvci54eShib29sMyk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3IueHkoYm9vbDQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLnh5KHVpbnQyKTsKLW5hdGl2
ZSB1aW50MiBvcGVyYXRvci54eSh1aW50Myk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IueHkodWlu
dDQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueHkoaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRv
ci54eShpbnQzKTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5KGludDQpOwotbmF0aXZlIGZsb2F0
MiBvcGVyYXRvci54eShmbG9hdDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDMp
OwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDQpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRp
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAg
ICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNp
dChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
KSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9u
TmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFu
ZGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFt
ZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9y
TGVuZ3RoLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5jcHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSw4MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaCIKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFycmF5VHlwZS5oIgotI2luY2x1ZGUg
IldITFNMUHJvZ3JhbS5oIgotI2luY2x1ZGUgIldITFNMVHlwZVJlZmVyZW5jZS5oIgotI2luY2x1
ZGUgIldITFNMVmlzaXRvci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBX
SExTTCB7Ci0KLWNsYXNzIEZpbmRBcnJheVR5cGVzIDogcHVibGljIFZpc2l0b3IgewotcHVibGlj
OgotICAgIHZpcnR1YWwgfkZpbmRBcnJheVR5cGVzKCkgPSBkZWZhdWx0OwotCi0gICAgdm9pZCB2
aXNpdChBU1Q6OkFycmF5VHlwZSYgYXJyYXlUeXBlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
bV9hcnJheVR5cGVzLmFwcGVuZChhcnJheVR5cGUpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChh
cnJheVR5cGUpOwotICAgIH0KLQotICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFT
VDo6QXJyYXlUeXBlPj4gdGFrZUFycmF5VHlwZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdU
Rk1vdmUobV9hcnJheVR5cGVzKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgVmVjdG9yPHN0ZDo6
cmVmZXJlbmNlX3dyYXBwZXI8QVNUOjpBcnJheVR5cGU+PiBtX2FycmF5VHlwZXM7Ci19OwotCi1F
eHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgoUHJvZ3Jh
bSYgcHJvZ3JhbSkKLXsKLSAgICBGaW5kQXJyYXlUeXBlcyBmaW5kQXJyYXlUeXBlczsKLSAgICBm
aW5kQXJyYXlUeXBlcy5jaGVja0Vycm9yQW5kVmlzaXQocHJvZ3JhbSk7Ci0gICAgYXV0byBhcnJh
eVR5cGVzID0gZmluZEFycmF5VHlwZXMudGFrZUFycmF5VHlwZXMoKTsKLQotICAgIGJvb2wgaXNP
cGVyYXRvciA9IHRydWU7Ci0KLSAgICBmb3IgKGF1dG8mIGFycmF5VHlwZSA6IGFycmF5VHlwZXMp
IHsKLSAgICAgICAgYXV0byBsb2NhdGlvbiA9IGFycmF5VHlwZS5nZXQoKS5jb2RlTG9jYXRpb24o
KTsKLSAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgJmFycmF5
VHlwZS5nZXQoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAgICBBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgIHBhcmFtZXRlcnMuYXBwZW5k
KFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBB
U1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIHByb2dyYW0uaW50cmluc2ljcygpLnVp
bnRUeXBlKCkpLCAib3BlcmF0b3IubGVuZ3RoIl9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51
bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAg
ICAgaWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24p
KSkKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IHN5bnRo
ZXNpemUgb3BlcmF0b3IubGVuZ3RoIGZvciBhcnJheSB0eXBlLiIpKTsKLSAgICB9Ci0gICAgcmV0
dXJuIHsgfTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV0hMU0wKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKClByb3BlcnR5IGNoYW5nZXMgb246IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3Bl
cmF0b3JMZW5ndGguY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSAr
MCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVy
YXRvckxlbmd0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaAkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVz
aXplQXJyYXlPcGVyYXRvckxlbmd0aC5oCShub25leGlzdGVudCkKQEAgLTEsNDUgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1
ZGUgIldITFNMRXJyb3IuaCIKLSNpbmNsdWRlIDx3dGYvRXhwZWN0ZWQuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1jbGFzcyBQcm9ncmFtOwotCi1FeHBl
Y3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgoUHJvZ3JhbSYp
OwotCi19Ci0KLX0KLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3Ro
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2
ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVt
ZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDE1ICs1Niw2IEBAIEV4
cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplRW51bWVyYXQKICAgICAgICAgICAgIGF1dG8g
dmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0
aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3Jh
cChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51
bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJz
OwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0
aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFT
VDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24t
PnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxw
dHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAg
ICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW5ub3Qg
Y3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBlbnVtIHR5cGUuIikpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMo
KSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRp
b24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgICAgICAgICBBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVu
ZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAgICAgICAgICAgIEFTVDo6TmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rp
b25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxv
cHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBX
VEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3Rh
bmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQogICAgICAgICAgICAgICAgIHJldHVybiBtYWtl
VW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBjb3B5IGNvbnN0cnVjdG9yIGZvciBlbnVt
IHR5cGUuIikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nl
c3NvcnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCShub25leGlz
dGVudCkKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaCIKLQotI2lmIEVO
QUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFkZHJlc3NTcGFjZS5oIgotI2luY2x1ZGUg
IldITFNMUG9pbnRlclR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFByb2dyYW0uaCIKLSNpbmNsdWRl
ICJXSExTTFJlZmVyZW5jZVR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFR5cGVSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlICJXSExTTFZhcmlhYmxlRGVjbGFyYXRpb24uaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1FeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhl
c2l6ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJiBwcm9ncmFtKQotewotICAgIGJvb2wgaXNP
cGVyYXRvciA9IHRydWU7Ci0gICAgZm9yIChhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uIDogcHJv
Z3JhbS5zdHJ1Y3R1cmVEZWZpbml0aW9ucygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgc3RydWN0
dXJlRWxlbWVudCA6IHN0cnVjdHVyZURlZmluaXRpb24tPnN0cnVjdHVyZUVsZW1lbnRzKCkpIHsK
LSAgICAgICAgICAgIC8vIFRoZSBhbmRlcjogb3BlcmF0b3ImLmZpZWxkCi0gICAgICAgICAgICBh
dXRvIGNyZWF0ZUFuZGVyID0gWyZdKEFTVDo6QWRkcmVzc1NwYWNlIGFkZHJlc3NTcGFjZSkgLT4g
QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIHsKLSAgICAgICAgICAgICAgICBhdXRvIGFy
Z3VtZW50VHlwZSA9IEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShzdHJ1Y3R1cmVFbGVtZW50LmNv
ZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChzdHJ1
Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBzdHJ1Y3R1cmVEZWZpbml0aW9uKSk7Ci0gICAg
ICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+KHN0cnVjdHVyZUVsZW1lbnQuY29kZUxvY2F0aW9uKCksIEFT
VDo6UXVhbGlmaWVycygpLCBXVEZNb3ZlKGFyZ3VtZW50VHlwZSksIFN0cmluZygpLCBudWxscHRy
LCBudWxscHRyKTsKLSAgICAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBh
cmFtZXRlcnM7Ci0gICAgICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJp
YWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICAgICAgYXV0byByZXR1cm5UeXBlID0gQVNU
OjpQb2ludGVyVHlwZTo6Y3JlYXRlKHN0cnVjdHVyZUVsZW1lbnQuY29kZUxvY2F0aW9uKCksIGFk
ZHJlc3NTcGFjZSwgc3RydWN0dXJlRWxlbWVudC50eXBlKCkpOwotICAgICAgICAgICAgICAgIEFT
VDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFT
VDo6RnVuY3Rpb25EZWNsYXJhdGlvbihzdHJ1Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgV1RGTW92ZShyZXR1cm5UeXBlKSwg
bWFrZVN0cmluZygib3BlcmF0b3ImLiIsIHN0cnVjdHVyZUVsZW1lbnQubmFtZSgpKSwgV1RGTW92
ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJk
TGlicmFyeSkpOwotICAgICAgICAgICAgICAgIHJldHVybiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uOwotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoY3Jl
YXRlQW5kZXIoQVNUOjpBZGRyZXNzU3BhY2U6OkNvbnN0YW50KSkKLSAgICAgICAgICAgICAgICB8
fCAhcHJvZ3JhbS5hcHBlbmQoY3JlYXRlQW5kZXIoQVNUOjpBZGRyZXNzU3BhY2U6OkRldmljZSkp
Ci0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRk
cmVzc1NwYWNlOjpUaHJlYWRncm91cCkpCi0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBw
ZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQpKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbiBub3QgY3JlYXRlIGFuZGVyIikp
OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiB7IH07Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdITFNMCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJH
UFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRo
ZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BV
KQotCi0jaW5jbHVkZSAiV0hMU0xFcnJvci5oIgotI2luY2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBXSExTTCB7Ci0KLWNsYXNzIFByb2dy
YW07Ci0KLUV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3Jz
KFByb2dyYW0mKTsKLQotfQotCi19Ci0KLSNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJl
QWNjZXNzb3JzLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAg
IyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAJ
KHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMVmlzaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw4ICsxOTIsNiBAQCB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6Q29uc3RhbnRFeHByZXNzCiAgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdCh1bnNpZ25lZEludGVnZXJMaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpGbG9hdExp
dGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZmxvYXRM
aXRlcmFsKTsKLSAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpIHsKLSAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxMaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpC
b29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGJvb2xlYW5MaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgewpAQCAtMjM4LDExICsyMzYsNiBAQCB2
b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmCiAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGZsb2F0TGl0ZXJhbC50eXBlKCkpOwogfQogCi12b2lkIFZpc2l0b3I6OnZpc2l0KEFT
VDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChu
dWxsTGl0ZXJhbC50eXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmKQogewogfQpAQCAtMjY4LDEyICsyNjEsNiBAQCB2b2lkIFZpc2l0b3I6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsVHlwCiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0ZXJh
bFR5cGUucHJlZmVycmVkVHlwZSgpKTsKIH0KIAotdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6Ok51
bGxMaXRlcmFsVHlwZSYgbnVsbExpdGVyYWxUeXBlKQotewotICAgIGlmIChudWxsTGl0ZXJhbFR5
cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxM
aXRlcmFsVHlwZS5yZXNvbHZlZFR5cGUoKSk7Ci19Ci0KIHZvaWQgVmlzaXRvcjo6dmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKQogewogfQpAQCAtMzk5LDkgKzM4Niw2IEBAIHZv
aWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHAKICAgICBjYXNlIEFTVDo6RXhw
cmVzc2lvbjo6S2luZDo6TWFrZVBvaW50ZXI6CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChk
b3duY2FzdDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVzc2lvbj4oZXhwcmVzc2lvbikpOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6TnVsbExpdGVyYWw6Ci0g
ICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6Ok51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgQVNUOjpFeHByZXNzaW9uOjpLaW5k
OjpEb3Q6CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6OkRvdEV4cHJl
c3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNp
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDYgQEAgY2xhc3MgU3RhZ2VJbk91dFNl
bWFudGljOwogY2xhc3MgSW50ZWdlckxpdGVyYWw7CiBjbGFzcyBVbnNpZ25lZEludGVnZXJMaXRl
cmFsOwogY2xhc3MgRmxvYXRMaXRlcmFsOwotY2xhc3MgTnVsbExpdGVyYWw7CiBjbGFzcyBCb29s
ZWFuTGl0ZXJhbDsKIGNsYXNzIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbDsKIGNsYXNzIE51bVRo
cmVhZHNGdW5jdGlvbkF0dHJpYnV0ZTsKQEAgLTEzOCwxMiArMTM3LDEwIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwg
dm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNU
OjpOdWxsTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRl
cmFsJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWxUeXBlJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUm
KTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJik7Ci0gICAg
dmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJik7CiAgICAgdmlydHVhbCB2
b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2
b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25BdHRyaWJ1dGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlz
aXQoQVNUOjpOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5oCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xBU1QuaAkod29ya2luZyBjb3B5KQpAQCAtNjksOCArNjksNiBAQAogI2luY2x1ZGUgIldITFNM
TmFtZWRUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLmgi
CiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExT
TE51bGxMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaCIKICNpbmNs
dWRlICJXSExTTE51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIldITFNM
UG9pbnRlclR5cGUuaCIKICNpbmNsdWRlICJXSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29u
c3RhbnRFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29uc3RhbnRFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0
YW50RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVk
ZSAiV0hMU0xFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEZsb2F0
TGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWwuaCIKLSNpbmNsdWRlICJX
SExTTE51bGxMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFs
LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5o
PgpAQCAtNjMsMTEgKzYyLDYgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBDb25zdGFu
dEV4cHJlc3Npb24oTnVsbExpdGVyYWwmJiBudWxsTGl0ZXJhbCkKLSAgICAgICAgOiBtX3Zhcmlh
bnQoV1RGTW92ZShudWxsTGl0ZXJhbCkpCi0gICAgewotICAgIH0KLQogICAgIENvbnN0YW50RXhw
cmVzc2lvbihCb29sZWFuTGl0ZXJhbCYmIGJvb2xlYW5MaXRlcmFsKQogICAgICAgICA6IG1fdmFy
aWFudChXVEZNb3ZlKGJvb2xlYW5MaXRlcmFsKSkKICAgICB7CkBAIC05MCwxMiArODQsMTIgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gV1RGOjpnZXQ8SW50ZWdlckxpdGVyYWw+KG1fdmFyaWFu
dCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQo
Y29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBz
dGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bCwgRmxvYXRMaXRlcmFsLCBOdWxsTGl0ZXJhbCwgQm9vbGVhbkxpdGVyYWwsIEVudW1lcmF0aW9u
TWVtYmVyTGl0ZXJhbD4mPigpKSkKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSAtPiBkZWNsdHlwZShXVEY6OnZpc2l0KHZp
c2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25lZEludGVn
ZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWw+Jj4oKSkpCiAgICAgewogICAgICAgICByZXR1cm4gV1RGOjp2aXNpdCh2aXNpdG9y
LCBtX3ZhcmlhbnQpOwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBh
dXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0IC0+IGRlY2x0eXBlKFdURjo6
dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2ln
bmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5MaXRl
cmFsLCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgY29uc3QgLT4g
ZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2Vy
TGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0
ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0
dXJuIFdURjo6dmlzaXQodmlzaXRvciwgbV92YXJpYW50KTsKICAgICB9CkBAIC0xMDgsOCArMTAy
LDYgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
Y2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFs
KSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAgcmV0dXJuIGZsb2F0TGl0ZXJh
bC5jbG9uZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmIG51bGxMaXRlcmFs
KSAtPiBDb25zdGFudEV4cHJlc3Npb24gewotICAgICAgICAgICAgcmV0dXJuIG51bGxMaXRlcmFs
LmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxp
dGVyYWwpIC0+IENvbnN0YW50RXhwcmVzc2lvbiB7CiAgICAgICAgICAgICByZXR1cm4gYm9vbGVh
bkxpdGVyYWwuY2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24g
ewpAQCAtMTI3LDggKzExOSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgRmxvYXRMaXRl
cmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVlID0gZmxvYXRMaXRlcmFsLnZh
bHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0ZXJhbCYpIHsKLSAgICAgICAgICAg
IHJlc3VsdCA9IFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8TnVsbExpdGVyYWw+KG90aGVyLm1fdmFy
aWFudCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVy
YWwpIHsKICAgICAgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEJvb2xlYW5MaXRl
cmFsPihvdGhlci5tX3ZhcmlhbnQpKSB7CiAgICAgICAgICAgICAgICAgY29uc3QgYXV0byYgb3Ro
ZXJCb29sZWFuTGl0ZXJhbCA9IFdURjo6Z2V0PEJvb2xlYW5MaXRlcmFsPihvdGhlci5tX3Zhcmlh
bnQpOwpAQCAtMTUyLDggKzE0Miw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdCA9IHZh
bHVlID09IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwgWyZdKGNv
bnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICByZXN1bHQgPSB2
YWx1ZSA9PSBmbG9hdExpdGVyYWwudmFsdWUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxM
aXRlcmFsJikgewotICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgIH0sIFsmXShj
b25zdCBCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAg
ICAgICB9LCBbJl0oY29uc3QgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgewpAQCAtMTY5LDcg
KzE1Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgIEludGVnZXJMaXRlcmFsLAogICAgICAgICBVbnNp
Z25lZEludGVnZXJMaXRlcmFsLAogICAgICAgICBGbG9hdExpdGVyYWwsCi0gICAgICAgIE51bGxM
aXRlcmFsLAogICAgICAgICBCb29sZWFuTGl0ZXJhbCwKICAgICAgICAgRW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsCiAgICAgICAgID4gbV92YXJpYW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Np
b24uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6OkRvdCwgV1RGTW92ZShiYXNlKSkKICAgICAgICAgLCBtX2ZpZWxkTmFtZShXVEZN
b3ZlKGZpZWxkTmFtZSkpCiAgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obV9wYWRkaW5nKTsK
ICAgICB9CiAKICAgICB+RG90RXhwcmVzc2lvbigpID0gZGVmYXVsdDsKQEAgLTUyLDI1ICs1Mywx
MSBAQCBwdWJsaWM6CiAgICAgRG90RXhwcmVzc2lvbihjb25zdCBEb3RFeHByZXNzaW9uJikgPSBk
ZWxldGU7CiAgICAgRG90RXhwcmVzc2lvbihEb3RFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAot
ICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1fZmllbGROYW1lKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBt
YWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSwgIj0iKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1h
a2VTdHJpbmcoIm9wZXJhdG9yJi4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCiAgICAgU3RyaW5n
JiBmaWVsZE5hbWUoKSB7IHJldHVybiBtX2ZpZWxkTmFtZTsgfQogCiBwcml2YXRlOgogICAgIFN0
cmluZyBtX2ZpZWxkTmFtZTsKKyAgICBjaGFyIG1fcGFkZGluZ1sxMl07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTEV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNz
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsOSArNzIsNiBAQCB2b2lkIEV4cHJlc3Npb246
OmRlc3Ryb3koRXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpNYWtl
UG9pbnRlcjoKICAgICAgICAgZGVsZXRlICZkb3duY2FzdDxNYWtlUG9pbnRlckV4cHJlc3Npb24+
KGV4cHJlc3Npb24pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6
Ok51bGxMaXRlcmFsOgotICAgICAgICBkZWxldGUgJmRvd25jYXN0PE51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpEb3Q6
CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oZXhwcmVzc2lvbik7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMTM4LDkgKzEzNSw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1
Y3QoRXhwcmVzc2lvbiYgZXgKICAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6Ok1ha2VQb2ludGVy
OgogICAgICAgICBkb3duY2FzdDxNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pLn5N
YWtlUG9pbnRlckV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHByZXNz
aW9uOjpLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZG93bmNhc3Q8TnVsbExpdGVyYWw+KGV4
cHJlc3Npb24pLn5OdWxsTGl0ZXJhbCgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEV4cHJl
c3Npb246OktpbmQ6OkRvdDoKICAgICAgICAgZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oZXhwcmVz
c2lvbikufkRvdEV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNjgsMzMgKzE2Miw2
IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYgZXgKICAgICB9CiB9CiAK
LVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRlckZ1bmN0aW9uTmFtZSgpIGNv
bnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJu
IGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAg
ICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2Fz
dDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHBy
ZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigq
dGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4o
KnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcyku
c2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5kZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJl
dHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsK
LSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEFTVAogCiB9
IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhw
cmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw2IEBAIHB1YmxpYzoKICAgICAg
ICAgTG9naWNhbE5vdCwKICAgICAgICAgTWFrZUFycmF5UmVmZXJlbmNlLAogICAgICAgICBNYWtl
UG9pbnRlciwKLSAgICAgICAgTnVsbExpdGVyYWwsCiAgICAgICAgIFJlYWRNb2RpZnlXcml0ZSwK
ICAgICAgICAgVGVybmFyeSwKICAgICAgICAgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwKQEAgLTEx
OSw4ICsxMTgsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoYXV0byogcmVzb2x2ZWRU
eXBlID0gY29uc3RfY2FzdDxFeHByZXNzaW9uKj4odGhpcyktPm1heWJlUmVzb2x2ZWRUeXBlKCkp
CiAgICAgICAgICAgICBvdGhlci5zZXRUeXBlKCpyZXNvbHZlZFR5cGUpOwotICAgICAgICBpZiAo
YXV0byogdHlwZUFubm90YXRpb24gPSBtYXliZVR5cGVBbm5vdGF0aW9uKCkpCi0gICAgICAgICAg
ICBvdGhlci5zZXRUeXBlQW5ub3RhdGlvbihUeXBlQW5ub3RhdGlvbigqdHlwZUFubm90YXRpb24p
KTsKICAgICB9CiAKICAgICBLaW5kIGtpbmQoKSBjb25zdCAgeyByZXR1cm4gbV9raW5kOyB9CkBA
IC0xMzgsNyArMTM1LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2dpY2FsTm90RXhwcmVzc2lv
bigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dpY2FsTm90OyB9CiAgICAgYm9v
bCBpc01ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkg
PT0gS2luZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9vbCBpc01ha2VQb2ludGVyRXhw
cmVzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpNYWtlUG9pbnRlcjsgfQot
ICAgIGJvb2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpO
dWxsTGl0ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oKSBjb25z
dCB7IHJldHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4RXhwcmVzc2lvbigpOyB9CiAg
ICAgYm9vbCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5k
KCkgPT0gS2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9vbCBpc1Rlcm5hcnlFeHByZXNz
aW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRlcm5hcnk7IH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkod29y
a2luZyBjb3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4RXhwcmVzc2lv
bihjb25zdCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4cHJlc3Npb24o
SW5kZXhFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlv
bk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdIl9zdHI7Ci0g
ICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICByZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVy
RnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3ImW10i
X3N0cjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24oKSB7IHJldHVy
biBtX2luZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRleCgpIHsgcmV0
dXJuIFdURk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlw
ZURlY2xhcmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBudW1iZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVu
c2lvbigxKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAgICB9CiAgICAg
dW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBt
YXRyaXhEaW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7Cisg
ICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxB
U1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0KKworICAgIHVu
c2lnbmVkIHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOwor
ICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1
bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVS
ZWZlcmVuY2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNN
YXRyaXgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNl
Pj4odHlwZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElzSW50KCkgeyBt
X2lzSW50ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxs
TGl0ZXJhbC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXhwcmVz
c2lvbi5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0jaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wg
ewotCi1uYW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVyYWwgZmluYWwgOiBwdWJsaWMg
RXhwcmVzc2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAg
TnVsbExpdGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAgICAgICA6IEV4cHJlc3Npb24o
bG9jYXRpb24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAgICB9Ci0KLSAgICB+TnVsbExp
dGVyYWwoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChjb25zdCBOdWxsTGl0ZXJhbCYp
ID0gZGVsZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQot
ICAgIE51bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsK
LSAgICBOdWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQot
ICAgIE51bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgTnVs
bExpdGVyYWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBOdWxs
TGl0ZXJhbChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvbHZlZFR5cGUg
PSBtX3R5cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgICAgIHJlc3VsdC5tX3R5cGUu
cmVzb2x2ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigqcmVzb2x2ZWRUeXBlKSk7Ci0g
ICAgICAgIGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFs
KQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJFU1NJT04oTnVsbExpdGVyYWws
IGlzTnVsbExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAs
MCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xO
dWxsTGl0ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxM
aXRlcmFsVHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgi
Ci0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNl
IEFTVCB7Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNvbHZlKGNvbnN0IFR5cGUmIHR5
cGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4odHlwZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PFVubmFtZWRUeXBl
Pih0eXBlKTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi11bnNpZ25lZCBOdWxsTGl0
ZXJhbFR5cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRUeXBlJikgY29uc3QKLXsKLSAg
ICByZXR1cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi0jZW5kaWYK
ClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xO
dWxsTGl0ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZXNvbHZh
YmxlVHlwZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNzIE51
bGxMaXRlcmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxlVHlwZSB7Ci0gICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWxUeXBlKCkKLSAgICAg
ICAgOiBSZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkKLSAgICB7IH0KLQotICAgIH5O
dWxsTGl0ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUoY29uc3Qg
TnVsbExpdGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlKE51bGxMaXRl
cmFsVHlwZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShj
b25zdCBOdWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9w
ZXJhdG9yPShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAgYm9vbCBjYW5SZXNv
bHZlKGNvbnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBjb252ZXJzaW9uQ29zdChjb25z
dCBVbm5hbWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
QVNUCi0KLX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUoTnVsbExpdGVyYWxUeXBlKQot
Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVsbExpdGVyYWxUeXBlLCBpc051
bGxMaXRlcmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEg
KzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
aAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNv
bnN0IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0g
ICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJG
dW5jdGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25z
dDsKLQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4g
bV9nZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rp
b24oKSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9u
KiB0aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9
Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3Nl
dHRlckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVj
bGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlv
biA9IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihG
dW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRl
ckZ1bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFu
ZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAg
ICB7Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247
Ci0gICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9u
KiBzZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0
ZXJGdW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9i
YXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1
cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1
cm4gV1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Np
b24+IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsg
bnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51
bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24g
eyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7
IG51bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAJKHJl
dmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw2IEBAIHZvaWQgVHlw
ZTo6ZGVzdHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAg
ICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZk
b3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAgICBicmVhazsKICAgICBjYXNl
IEtpbmQ6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAgICAgICBicmVhazsKQEAgLTEx
NSw5ICsxMTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUmIHR5cGUpCiAgICAgY2FzZSBL
aW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBl
Pih0eXBlKS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4odHlw
ZSkufk51bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVu
c2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxp
dGVyYWxUeXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKTsKICAgICAgICAg
YnJlYWs7CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZhYmxlVHlwZTo6Y2FuUmVzb2x2
ZShjb25zdCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRo
aXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29s
dmUodHlwZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRv
d25jYXN0PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2Fz
ZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAg
IGRlZmF1bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQgUmVzb2x2YWJsZVR5cGU6OmNv
bnZlcnNpb25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4o
KnRoaXMpLmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVy
YWw6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5j
b252ZXJzaW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3Qo
dHlwZSk7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJz
aW9uQ29zdCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUmVz
b2x2YWJsZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAgICAgICAgSW50ZWdlckxpdGVy
YWwsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFs
LAogICAgIH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0Zsb2F0
TGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6RmxvYXRMaXRlcmFs
OyB9CiAgICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGtpbmQo
KSA9PSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbFR5cGUo
KSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29s
IGlzVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAgVHlwZSYgdW5pZnlOb2RlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1
bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5j
dGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDU3IEBAIHN0YXRpYyB2
b2lkIGRlY2xhcmVGdW5jdGlvbihTdHJpbmdCdWlsZGUKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKTtcbiIpOwogfQogCitzdHJ1Y3QgVmFyaWFibGUgeworICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgbmFtZTsKKyAgICBNYW5nbGVkVHlwZU5hbWUgdHlwZTsKK307CisKIGNsYXNzIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICBjbGFzcyBIb2lzdGVkVmFy
aWFibGVDb2xsZWN0b3IgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIHB1YmxpYzoKKyAgICAg
ICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yKEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlciYgZnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAgICAgICAgOiBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXIoZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAgICB7CisgICAgICAgIH0KKwor
ICAgICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKSBv
dmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZhcmlhYmxl
czsKKyAgICAgICAgICAgIHNpemVfdCBzaXplID0gY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCku
c2l6ZSgpOworICAgICAgICAgICAgYm9vbCBpc1ZvaWQgPSBtYXRjaGVzKGNhbGxFeHByZXNzaW9u
LnJlc29sdmVkVHlwZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV9pbnRyaW5zaWNzLnZv
aWRUeXBlKCkpOworICAgICAgICAgICAgaWYgKCFpc1ZvaWQpCisgICAgICAgICAgICAgICAgKytz
aXplOworICAgICAgICAgICAgdmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7
CisKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxsRXhwcmVzc2lvbi5hcmd1
bWVudHMoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9IGZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYXJndW1lbnQtPnJlc29sdmVk
VHlwZSgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIG5hbWUgPSBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgICAgICAgICAgICAgdmFyaWFi
bGVzLnVuY2hlY2tlZEFwcGVuZChWYXJpYWJsZSB7IG5hbWUsIHR5cGUgfSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgIHZhcmlhYmxl
cy51bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpIH0p
OworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmY2FsbEV4cHJlc3Npb24sIFdURk1vdmUodmFy
aWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAg
IFZlY3RvcjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVzLmFwcGVu
ZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZSgqcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCkudHlwZSgpKSB9KTsKKyAgICAgICAg
ICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIu
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZSgpLnR5
cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZyZWFkTW9kaWZ5V3JpdGUsIFdU
Rk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KHJlYWRNb2Rp
ZnlXcml0ZSk7CisgICAgICAgIH0KKworICAgICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIm
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjsKKyAgICAgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Np
b24qLCBWZWN0b3I8VmFyaWFibGU+PiB0b0hvaXN0OworICAgIH07CisKIHB1YmxpYzoKICAgICBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgSW50
cmluc2ljcyYgaW50cmluc2ljcywgVHlwZU5hbWVyJiB0eXBlTmFtZXIsIEhhc2hNYXA8QVNUOjpG
dW5jdGlvbkRlY2xhcmF0aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFtZT4mIGZ1bmN0aW9uTWFwcGlu
ZywgTGF5b3V0JiBsYXlvdXQpCiAgICAgICAgIDogbV9zdHJpbmdCdWlsZGVyKHN0cmluZ0J1aWxk
ZXIpCkBAIC0xMDAsMTQgKzE1MCwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6
OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRl
cmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFs
VmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24m
KSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBv
dmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24mKSBvdmVy
cmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAg
LTEzMSw2NSArMTc5LDYgQEAgcHJvdGVjdGVkOgogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7IHJldHVybiB7IG1fdmFyaWFibGVDb3VudCsrIH07
IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFiaWxpdHkgOiB1aW50OF90IHsKLSAgICAgICAgTm90
TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0gICAgfTsKLQotICAgIHN0cnVjdCBTdGFja0l0ZW0g
ewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAgICAgTnVsbGFiaWxpdHkgdmFsdWVOdWxsYWJpbGl0
eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVmdFZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIHN0
ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZTsKLSAg
ICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFsdWUgewotICAgICAgICBNYW5nbGVkVmFyaWFibGVO
YW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0eSBudWxsYWJpbGl0eTsKLSAgICB9OwotCi0g
ICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50IGRhdGEgZmxvdyBzdGVwIHdoZXJlIHdlIGNhbiB0
YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBsdmFsdWUKLSAgICAvLyBhbmQgdHJhbnNmZXIgaXQg
aW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gcnZhbHVlLiBUaGlzIGlzIGNvbnZleWVkIGluIE1h
a2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8vIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24uIE1h
a2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRyeSB0byBwcm9kdWNlIHJ2YWx1ZXMgd2hpY2ggYXJl
Ci0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24gd2lsbCB0YWtlIGEg
bm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8gcHJvZHVjZQotICAgIC8vIGEgbm9uLW51bGwgbHZh
bHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShBU1Q6OkV4cHJl
c3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBOdWxsYWJpbGl0eSBudWxsYWJpbGl0
eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBwZW5kKHsgV1RGTW92ZSh2YWx1ZSksIHsgfSwg
bnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIHsgfSB9KTsKLSAgICB9Ci0KLSAg
ICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5n
bGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAgIHsKLSAgICAgICAgYXBwZW5kUmlnaHRWYWx1ZVdp
dGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBXVEZNb3ZlKHZhbHVlKSwgTnVsbGFiaWxpdHk6OkNh
bkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRMZWZ0VmFsdWUoQVNUOjpFeHByZXNz
aW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBNYW5nbGVkVmFyaWFi
bGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHksIHN0ZDo6ZnVuY3Rpb248
TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZSA9IHsgfSkKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi50eXBlQW5ub3RhdGlv
bigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0gICAgICAgIEFTU0VSVChsZWZ0VmFsdWUgfHwgZ2Vu
ZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBtX3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUp
LCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIG51bGxhYmlsaXR5
LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVlKSB9KTsKLSAgICB9Ci0KLSAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3RhY2su
dGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0KLSAgICBTdGFja1ZhbHVlIHRha2VMYXN0VmFsdWVB
bmROdWxsYWJpbGl0eSgpCi0gICAgewotICAgICAgICBhdXRvIGxhc3QgPSBtX3N0YWNrLnRha2VM
YXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QudmFsdWUsIGxhc3QudmFsdWVOdWxsYWJpbGl0
eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFsdWUgdGFrZUxhc3RMZWZ0VmFsdWUoKQotICAgIHsK
LSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICBpZiAoIWxh
c3QubGVmdFZhbHVlKQotICAgICAgICAgICAgbGFzdC5sZWZ0VmFsdWUgPSBsYXN0LmdlbmVyYXRl
TGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QubGVmdFZhbHVlLCBsYXN0LmxlZnRW
YWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCiAgICAgZW51bSBjbGFzcyBCcmVha0NvbnRleHQg
ewogICAgICAgICBMb29wLAogICAgICAgICBTd2l0Y2gKQEAgLTIwMywxMiArMTkyLDEyIEBAIHBy
b3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1hbmdsZWRG
dW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFwcGluZzsKICAgICBIYXNoTWFwPEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJpYWJsZU5hbWU+IG1fdmFyaWFibGVNYXBwaW5nOwog
Ci0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9zdGFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50
cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5UG9pbnRTY2FmZm9sZGluZzsKICAgICBMYXlvdXQm
IG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1fdmFyaWFibGVDb3VudCB7IDAgfTsKICAgICBPcHRp
b25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2JyZWFrT3V0T2ZDdXJyZW50TG9vcEVhcmx5VmFy
aWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9pbmRlbnQgeyAwIH07CisgICAgSGFzaE1hcDxB
U1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiBtX2hvaXN0ZWRWYXJpYWJsZXM7CiB9
OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsyMDcsMjAgQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKKwor
ICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIGNvbGxlY3RvcigqdGhpcyk7
CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2aXNpdChmdW5jdGlvbkRlZmluaXRpb24pOwor
ICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBXVEZNb3ZlKGNvbGxlY3Rvci50b0hvaXN0KTsK
KyAgICB9CisKKyAgICBhdXRvIGRlZmluZUhvaXN0ZWRWYXJpYWJsZXMgPSBbJl0geworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkg
eworICAgICAgICAgICAgZm9yIChhdXRvIHZhcmlhYmxlIDogdmVjdG9yKQorICAgICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywg
dmFyaWFibGUubmFtZSwgIjtcbiIpOworICAgICAgICB9CisgICAgfTsKKwogICAgIGF1dG8gaXRl
cmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAg
IEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAgaWYgKGZ1
bmN0aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsOCArMjQxLDEwIEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgICAg
ICBhdXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25EZWZpbml0
aW9uLnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFtZXRlclZh
cmlhYmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwg
YWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkZWZp
bmVIb2lzdGVkVmFyaWFibGVzKCk7CisKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChm
dW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9zdGFjay5p
c0VtcHR5KCkpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1c
blxuIik7CiAKQEAgLTI0OCwxNyArMjUzLDIyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nID09
IG51bGxwdHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSksICcg
JywgaXRlcmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0
aW9uLnBhcmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAg
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUoKnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0ZXJOYW1lKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4iKTsKKworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKworICAgICAgICBkZWZpbmVIb2lzdGVkVmFyaWFi
bGVzKCk7CisKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbi5i
bG9jaygpKTsKLSAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgifVxuIik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJ1xuJyk7CiAgICAgfQogfQpAQCAtMzA5LDggKzMxOSw5IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6RWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCYgZWZmZWN0ZnVsRXhwcmVz
c2lvblN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsK
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudC5lZmZl
Y3RmdWxFeHByZXNzaW9uKCkpOwotICAgIHRha2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVu
dCBpcyBhbHJlYWR5IGVmZmVjdGZ1bCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3
aXRoIHRoZSByZXN1bHQuCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZhbGx0aHJvdWdoJikK
QEAgLTMzMCwxMCArMzQxLDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0
TG9vcCgKICAgICAgICAgSW5kZW50YXRpb25TY29wZSB3aGlsZVNjb3BlKG1faW5kZW50KTsKIAog
ICAgICAgICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlv
bjo6QmVmb3JlQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7
CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwog
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2lu
ZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBt
X2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAgICAgICAgICIpKVxuIiwKKyAgICAg
ICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiZG8ge1xuIik7CkBAIC0zNTAsMTcgKzM2MywxOCBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgICAgICBt
X2luZGVudCwgIiAgICBicmVhaztcbiIpOwogCiAgICAgICAgIGlmIChpbmNyZW1lbnQpIHsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIigiKTsKICAgICAgICAgICAgIGNoZWNr
RXJyb3JBbmRWaXNpdCgqaW5jcmVtZW50KTsKLSAgICAgICAgICAgIC8vIEV4cHJlc3Npb24gcmVz
dWx0cyBnZXQgcHVzaGVkIHRvIG1fc3RhY2suIFdlIGRvbid0IHVzZSB0aGUgcmVzdWx0Ci0gICAg
ICAgICAgICAvLyBvZiBpbmNyZW1lbnQsIHNvIHdlIGRpc3BlbnNlIG9mIHRoYXQgbm93LgotICAg
ICAgICAgICAgdGFrZUxhc3RWYWx1ZSgpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2Nh
dGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkFmdGVyQm9keSAmJiBjb25kaXRpb25FeHBy
ZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAg
ICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlz
aXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgp
LCAiKVxuIiwKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAg
ICAgICAgICAgICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTM5MCwxMiArNDA0LDE1IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6SWZTdGF0ZW1lbnQmIGlmU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJpZiAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlm
U3RhdGVtZW50LmNvbmRpdGlvbmFsKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsICJpZiAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7XG4iKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpIHtcbiIpOworCiAgICAgewogICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IGlmU2NvcGUobV9pbmRlbnQpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaWZTdGF0ZW1l
bnQuYm9keSgpKTsKICAgICB9CisKICAgICBpZiAoaWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSkgewog
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifSBlbHNlIHtcbiIpOwog
ICAgICAgICB7CkBAIC00MDMsMjkgKzQyMCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmlmU3RhdGVt
ZW50LmVsc2VCb2R5KCkpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgIn1cbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpSZXR1cm4mIHJldHVyblN0YXRlbWVudCkKIHsKICAgICBpZiAocmV0
dXJuU3RhdGVtZW50LnZhbHVlKCkpIHsKKyAgICAgICAgYXV0byB0ZW1wUmV0dXJuTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOyAKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblN0YXRlbWVu
dC52YWx1ZSgpLT5yZXNvbHZlZFR5cGUoKSksICcgJywgdGVtcFJldHVybk5hbWUsICIgPSAiKTsg
CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqcmV0dXJuU3RhdGVtZW50LnZhbHVlKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICBpZiAobV9l
bnRyeVBvaW50U2NhZmZvbGRpbmcpIHsKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2Fm
Zm9sZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0YWtlTGFzdFZhbHVlKCksIHZhcmlh
YmxlTmFtZSwgbV9pbmRlbnQpOworICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmct
PmVtaXRQYWNrKG1fc3RyaW5nQnVpbGRlciwgdGVtcFJldHVybk5hbWUsIHZhcmlhYmxlTmFtZSwg
bV9pbmRlbnQpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
InJldHVybiAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRha2VMYXN0
VmFsdWUoKSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgInJldHVybiAiLCB0ZW1wUmV0dXJuTmFtZSwgIjtcbiIpOwogICAgIH0gZWxzZQogICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuO1xuIik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVu
dCYgc3dpdGNoU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsICJzd2l0Y2ggKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChzd2l0Y2hTdGF0ZW1lbnQu
dmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7Iik7CiAKLSAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiLCB0YWtlTGFzdFZhbHVlKCks
ICIpIHsiKTsKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUobV9p
bmRlbnQpOwogICAgICAgICBmb3IgKGF1dG8mIHN3aXRjaENhc2UgOiBzd2l0Y2hTdGF0ZW1lbnQu
c3dpdGNoQ2FzZXMoKSkKQEAgLTQ1NCw1OSArNDc2LDM0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmIGludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVk
VHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaW50ZWdlckxpdGVyYWwu
cmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1h
bmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5n
bGVkVHlwZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAg
YXBwZW5kUmlnaHRWYWx1ZShpbnRlZ2VyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmIHVuc2lnbmVkSW50
ZWdlckxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCB1
bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRW
YWx1ZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkKIHsK
LSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAg
IGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZs
b2F0TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19j
YXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpO1xu
Iik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShmbG9hdExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7Ci19
Ci0KLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFs
JiBudWxsTGl0ZXJhbCkKLXsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBudWxsTGl0ZXJhbC5yZXNv
bHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0
PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgYm9vbCBpc0FycmF5UmVmZXJlbmNl
VHlwZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSk7Ci0KLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShudWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7
Ci0gICAgaWYgKGlzQXJyYXlSZWZlcmVuY2VUeXBlKQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCJ7IG51bGxwdHIsIDAgfTtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobnVsbExp
dGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGlj
X2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwudmFsdWUoKSwgIiki
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYm9vbGVhbkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkp
OwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwg
JyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+
KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoYm9vbGVhbkxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAi
PigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIikiKTsKIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgQVNTRVJUKGVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7CiAgICAgQVNT
RVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0g
ICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBh
dXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShlbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIg
PSAiLCBtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51
bWVyYXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJl
cigpKSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5
cGVOYW1lLCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVy
KCplbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSkpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHBy
ZXNzaW9uKQpAQCAtNTE0LDUwICs1MTEsOTQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVAogICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwogfQogCi12b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RF
eHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAg
ICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4
OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZG90RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCkpOwotfQotCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYgZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Up
CiB7Ci0gICAgYXV0byB2YWx1ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAg
ICBNYW5nbGVkVHlwZU5hbWUgbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKLQotICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOwotICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgc3RydWN0VmFyaWFibGUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0K
ICAgICBNYW5nbGVkU3RydWN0dXJlRWxlbWVudE5hbWUgbWFuZ2xlZEZpZWxkTmFtZSA9IG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudChnbG9iYWxWYXJpYWJsZVJlZmVy
ZW5jZS5zdHJ1Y3RGaWVsZCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7Cisg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJhc2UoKSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS0+IiwgbWFuZ2xlZEZpZWxkTmFtZSk7Cit9CiAK
LSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5
cGVOYW1lLCAnICcsIHZhbHVlTmFtZSwgIiA9ICIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5n
bGVkRmllbGROYW1lLCAiO1xuIik7Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQoreworICAgIGF1dG8mIHR5cGUg
PSBkb3RFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKIAotICAg
IGFwcGVuZExlZnRWYWx1ZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSwgdmFsdWVOYW1lLCB7IH0s
IE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBz
dHJ1Y3RWYXJpYWJsZSwgbWFuZ2xlZEZpZWxkTmFtZV0gewotICAgICAgICAgICAgYXV0byBwb2lu
dGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgInRocmVhZCAiLCBt
YW5nbGVkVHlwZU5hbWUsICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHN0cnVjdFZhcmlhYmxl
LCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9p
bnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRp
b24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2Fz
dDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpOworICAgICAgICBhdXRvKiBzdHJ1Y3R1
cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIGF1dG8g
ZWxlbWVudE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQo
KnN0cnVjdHVyZUVsZW1lbnQpOworCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygn
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgU3RyaW5nIGVsZW1lbnROYW1lID0gZG90RXhwcmVzc2lvbi5maWVsZE5h
bWUoKTsKKyAgICAgICAgaWYgKGVsZW1lbnROYW1lID09ICJsZW5ndGgiICYmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpIHx8IChp
czxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpKSkgeworICAgICAgICAgICAgaWYg
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIikubGVuZ3RoIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6
QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lv
bi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwg
ZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51bUVsZW1lbnRzKCksICIpIik7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
JygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5i
YXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93
bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclNpemUoKSwgIiki
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RF
eHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIp
LiIsIGVsZW1lbnROYW1lKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Np
b24pCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxh
Y2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpKTsKLX0KKyAgICAvLyBGSVhNRTogTWFrZSBpdCBzbyB0aGF0IGV2YWx1YXRpbmcg
aW5kZXggYW5kIGJhc2UgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorCisgICAg
YXV0byYgdHlwZSA9IGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlO
b2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKS5wb2ludGVyWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIikgPCAoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGggPyAiKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Np
b24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA6IDBdIik7CisgICAgfSBl
bHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNz
aW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikuZGF0YSgpWygi
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJl
c3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPCAiLCBkb3duY2Fz
dDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwgIiA/ICIpOworICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDogMF0iKTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRp
dmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKQor
ICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Cisg
ICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkKKyAgICAgICAgICAgIHNpemUg
PSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAg
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4
IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2Uo
KSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilbKCIpOworICAgICAgICBjaGVj
a0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDwgIiwgc2l6ZSwgIikgPyAoIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogMF0iKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxl
RGVjbGFyYXRpb24pCkBAIC01NjgsMTgxICs2MDksMTg5IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVz
dWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZpZXJzLgogICAgIGlmICh2YXJp
YWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7CiAgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigpKTsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7IH07XG4iKTsK
IH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6QXNzaWdubWVu
dEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Np
b24ubGVmdCgpKTsKLSAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVsbGFiaWxpdHldID0gdGFrZUxh
c3RMZWZ0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3Np
Z25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIFtyaWdodE5hbWUsIHJpZ2h0TnVs
bGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0KLSAgICBpZiAobnVs
bGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCIsIHBvaW50ZXJOYW1lLCAi
KVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICoiLCBwb2ludGVyTmFtZSwgIiA9ICIs
IHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtcbiIp
OwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoYXNzaWdubWVudEV4cHJlc3Np
b24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7CisgICAgYXV0byBpdGVyID0gbV9o
b2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsKKyAgICBSRUxFQVNFX0FTU0VS
VChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVz
ID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQoY2FsbEV4cHJlc3Npb24uYXJndW1l
bnRzKCkuc2l6ZSgpIDw9IHZhcmlhYmxlcy5zaXplKCkpOwogICAgIFZlY3RvcjxNYW5nbGVkVmFy
aWFibGVOYW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxs
RXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXJn
dW1lbnQpOwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0YWtlTGFzdFZhbHVlKCkpOwot
ICAgIH0KIAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZl
ZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAgICAgICByZXR1cm5OYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lv
bi5yZXNvbHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtcbiIpOworICAgIE1hbmdsZWRW
YXJpYWJsZU5hbWUgcmVzdWx0TmFtZTsKKyAgICBpZiAoIW1hdGNoZXMoY2FsbEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKSkKKyAgICAgICAgcmVzdWx0
TmFtZSA9IHZhcmlhYmxlcy5sYXN0KCkubmFtZTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3Vt
ZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQodmFy
aWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxl
c1tpXS5uYW1lLCAiID0gIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChjYWxsRXhwcmVz
c2lvbi5hcmd1bWVudHMoKVtpXSk7CiAgICAgfQogCi0gICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpIHsKLSAgICAgICAg
YXV0byBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUgPSBbdGhpc10oKSAtPiBNYW5nbGVkVmFyaWFi
bGVOYW1lIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLT5nZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKLSAgICAgICAgfTsKKyAgICBpZiAoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6
ZSgpKQorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogCi0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
PihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgcmV0dXJuTmFtZSwgYXJndW1lbnROYW1lcywg
bV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgV1RGTW92ZShnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUpLCBtX2luZGVudCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Cisg
ICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24u
ZnVuY3Rpb24oKSkpIHsKKyAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdCdWls
ZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNz
aW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCByZXN1bHROYW1lLCBtX2ludHJpbnNpY3Ms
IG1fdHlwZU5hbWVyLCBtX2luZGVudCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fZnVu
Y3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpOwogICAgICAgICBB
U1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwotICAgICAgICBpZiAo
IWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmV0dXJuTmFtZSwg
IiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudE5hbWVzLnNpemUo
KTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Npb24u
YXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0gICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhwcmVzc2lvbiwg
cmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJlc3Npb24mIGNv
bW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiByZXN1
bHQ7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFuT25jZSA9
IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lvbi5saXN0
KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZhbHVlKCk7
CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY29tbWFF
eHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRlcmVmZXJlbmNl
RXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJlbmNlRXhwcmVz
c2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFiaWxpdHldID0g
dGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRWYWx1ZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9IG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBl
KCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCBy
ZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwgIiA/ICIs
ICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwotICAgIH0g
ZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1bHRWYWx1
ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZShk
ZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uJiBsb2dpY2Fs
RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIpOwogICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAgIGF1dG8gbGVm
dCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNhbEV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGxlZnQp
OwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAgY2FzZSBBU1Q6
OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNT
RVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpU
eXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcjoKICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBicmVhazsKICAg
ICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxF
eHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxOb3RF
eHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90RXhwcmVzc2lv
bi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywg
dmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUg
bWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZh
bHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwogICAg
IGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZhbHVlID0gdGFr
ZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBw
dHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUsICIsIDEgfSA6
ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0gZWxzZSBpZiAo
aXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0
VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNhc3Q8QVNUOjpB
cnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2
ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5n
bGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUsICItPmRhdGEo
KSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5VHlwZS5udW1F
bGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxWYWx1ZSA9IHRh
a2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxW
YWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xl
ZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uJiBtYWtlUG9p
bnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsK
LSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwot
ICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRo
TnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24m
KQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdy
aXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJl
IGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAg
ICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3Vs
dCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9u
CisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4g
QXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9y
ZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAgICovCisK
KyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRl
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7
CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQo
dmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFs
dWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUg
bmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJpYWJsZU1h
cHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7
CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwg
bmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOwor
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9u
KCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGxlZnQgdmFs
dWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5s
ZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFsdWVW
YXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRl
LnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhw
cmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNh
dGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhw
cmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtlTGFzdFZhbHVl
KCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBl
bHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9uLnJl
c29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIsIGJv
ZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVybmFy
eUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJp
YWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgwMSw3IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlQoaXRlcmF0
b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRMZWZ0VmFsdWUo
dmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lXSB7Ci0g
ICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAidGhyZWFkICIs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZl
ZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtcbiIp
OwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6Q29uc3RhbnRF
eHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODE2LDYgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0oQVNUOjpGbG9h
dExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAgIFsmXShBU1Q6
Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVs
bHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9v
bGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQog
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2Vu
ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0OTIyNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxD
b2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IGZhbHNl
OwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQorc3RhdGljIFN0cmluZ1Zp
ZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJpbmdWaWV3IHsKICAgICAg
ICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1MywxNzEgQEAgc3RhdGlj
IFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxuIgogICAgICAgICAidXNp
bmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisgICAgICAgICJ0ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAgICAgICAic3RydWN0IFdTTE1h
dHJpeFxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIHZlYzxULCBSb3dzPiBjb2x1bW5z
W0NvbHNdO1xuIgorICAgICAgICAiICAgIHByaXZhdGU6XG4iCisgICAgICAgICIgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwg
Um93cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29sLCBfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFIuLi4+KVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0
dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBSPlxuIgor
ICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGlu
aXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4geyooZWxlbXMuYmVn
aW4oKSArIGMgKiBSb3dzICsgUikuLi59O1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBzdHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGNv
bHNfYWxsX3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9
O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8
dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMu
YmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+
XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcs
IFUuLi4gY29scykgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29scy4u
LiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgorICAgICAg
ICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAge1xuIgorICAgICAgICAiICAg
ICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywg
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAg
IDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9
XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2
ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50
XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3soQyA8IGNvbHMuc2l6ZSgpID8gKihjb2xz
LmJlZ2luKCkgKyBDKSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFn
LCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29s
cy4uLiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhw
bGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIGNvbnN0YW50XG4iCisg
ICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgICAgICB7XG4iCisgICAgICAg
ICIgICAgICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisgICAg
ICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PFQ+IGVs
ZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorICAgICAgICAi
ICAgICAgICA6IGNvbHVtbnN7YnVpbGRfZnVsbF9jb2woQywgZWxlbXMsIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NM
TWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSB0aHJlYWRcbiIKKyAg
ICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29sc19pbml0X3RhZygpLCBjb2xzLCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgor
ICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4o
VSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBlbGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgor
ICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5l
IFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSBjb25zdGFudFxu
IgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMsIF9t
YWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJp
eChUIHZhbCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodmFsLCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSBj
b25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNp
emVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMu
Li4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4g
JnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0
aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAgICAg
IiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25z
dCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAg
ICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4i
CisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVu
Y2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRo
YXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFk
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
ICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwg
X21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xu
IgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0
IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVs
dDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29s
cywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4
KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJp
eChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50
ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1h
dHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAg
OiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3Qg
dGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgor
ICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgor
ICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgdGhyZWFkIHZlYzxU
LCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisgICAgICAgICIgICAge1xuIgor
ICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50
IHIpIGRldmljZVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJu
IGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSB0
aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIHRocmVhZGdyb3VwXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtc
biIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGNvbnN0IHRocmVhZCB2
ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZFxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBjb25zdCBkZXZpY2UgdmVjPFQsIFJvd3M+
ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBkZXZpY2VcbiIKKyAgICAgICAgIiAgICB7XG4iCisg
ICAgICAgICIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorICAgICAgICAiICAgIH1cbiIK
KyAgICAgICAgIiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRv
cltdKGludCByKSBjb25zdCBjb25zdGFudFxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAg
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAg
ICAiICAgIGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAg
ICJ9O1xuIgorCisKICAgICB9OworCiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5l
ZWRlZChTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyKQpAQCAtNjcsNyArMjMxLDcgQEAgc3Rh
dGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZwogUmVuZGVyTWV0YWxDb2RlIGdl
bmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRSZW5kZXJTZW1hbnRpY3Mm
JiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkKIHsKICAgICBTdHJpbmdCdWlsZGVy
IHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9n
KCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZ3VlKCkpOwogCiAg
ICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAgICB0eXBlTmFtZXIuZW1pdE1ldGFs
VHlwZXMoc3RyaW5nQnVpbGRlcik7CkBAIC04Miw3ICsyNDYsNyBAQCBSZW5kZXJNZXRhbENvZGUg
Z2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhCiBDb21wdXRlTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxD
b2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRDb21wdXRlU2VtYW50aWNzJiYgbWF0Y2hlZFNl
bWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWls
ZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1l
ciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmlu
Z0J1aWxkZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NSwxNiArOTUsNiBAQCBzdGF0aWMgaW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5
cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAotc3RhdGljIEFTVDo6TmFtZWRUeXBl
JiB2ZWN0b3JJbm5lclR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIG5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbikKLXsKLSAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVu
dHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBuYXRpdmVUeXBlRGVjbGFyYXRpb247Ci0K
LSAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkg
PT0gMik7Ci0gICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJl
ZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKLSAg
ICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKLX0KLQogc3RhdGlj
IGNvbnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdG9yTGVuZ3RoKQogewogICAgIHN3aXRj
aCAodmVjdG9yTGVuZ3RoKSB7CkBAIC0xMjAsNyArMTEwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIq
IHZlY3RvclN1ZmZpeChpbnQgdmVjdAogICAgIH0KIH0KIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdzLCBJbnRy
aW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgc3RkOjpmdW5jdGlvbjxN
YW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lLCBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdz
LCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIEludHJpbnNpY3MmIC8qaW50cmluc2lj
cyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50YXRpb248ND4pCiB7CiAgICAgYXV0byBh
c01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5cGUmIHVubmFtZWRUeXBlKSAtPiBBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAgICBhdXRvJiByZWFsVHlwZSA9IHVubmFt
ZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDMzMyArMTI5LDc2IEBAIHZvaWQgaW5saW5lTmF0
aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGVO
YW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5UeXBlKTsKIAogICAgICAg
ICBpZiAoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSkgewot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
eyB9O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5
cGVOYW1lLCAiIHsgfSIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAx
KSB7CiAgICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFs
UGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRl
clR5cGUpOwogCiAgICAgICAgICAgICBhdXRvIGlzRW51bWVyYXRpb25EZWZpbml0aW9uID0gW10g
KGF1dG8mIHR5cGUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gaXM8QVNUOjpOYW1lZFR5cGU+
KHR5cGUpICYmIGlzPEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5h
bWVkVHlwZT4odHlwZSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIGF1dG8mIHVuaWZp
ZWRSZXR1cm5UeXBlID0gcmV0dXJuVHlwZS51bmlmeU5vZGUoKTsKICAgICAgICAgICAgIGlmIChp
c0VudW1lcmF0aW9uRGVmaW5pdGlvbih1bmlmaWVkUmV0dXJuVHlwZSkgJiYgIWlzRW51bWVyYXRp
b25EZWZpbml0aW9uKHBhcmFtZXRlclR5cGUudW5pZnlOb2RlKCkpKSB7Ci0gICAgICAgICAgICAg
ICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUGFyYW1ldGVyVHlw
ZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIpOwogICAgICAg
ICAgICAgICAgIGF1dG8mIGVudW1lcmF0aW9uRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6RW51
bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZmllZFJldHVy
blR5cGUpKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJz
d2l0Y2ggKCIsIHZhcmlhYmxlTmFtZSwgIikge1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKGluZGVudCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzWmVyb0Nhc2UgPSBmYWxzZTsKLSAgICAgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJhdGlvbkRlZmluaXRpb24uZW51bWVy
YXRpb25NZW1iZXJzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGhhc1plcm9DYXNlIHw9
ICFtZW1iZXIuZ2V0KCkudmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImNhc2Ug
IiwgbWVtYmVyLmdldCgpLnZhbHVlKCksICI6XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nhc2UsIGhhc1plcm9DYXNlKTsK
LSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJkZWZhdWx0OlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgIiAgICAiLCB2YXJpYWJsZU5hbWUsICIgPSAwO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oKCIpOworICAgICAgICAgICAg
ICAgIGJvb2wgbG9vcGVkT25jZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJvb2wgaGFzWmVy
b0Nhc2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIG1lbWJlciA6IGVudW1l
cmF0aW9uRGVmaW5pdGlvbi5lbnVtZXJhdGlvbk1lbWJlcnMoKSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAobG9vcGVkT25jZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIgfHwgIik7CisgICAgICAgICAgICAgICAgICAgIGhhc1plcm9DYXNlIHw9ICFt
ZW1iZXIuZ2V0KCkudmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoYXJnc1swXSwgIiA9PSAiLCBtZW1iZXIuZ2V0KCkudmFsdWUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGxvb3BlZE9uY2UgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0
aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2YXJpYWJsZU5hbWUsICIpO1xu
Iik7CisgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChoYXNaZXJvQ2FzZSwgaGFzWmVyb0Nh
c2UpOworCisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPyAiLCBhcmdz
WzBdLCAiIDogMCkiKTsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1l
dGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpO1xuIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5h
bWUsICI+KCIsIGFyZ3NbMF0sICIpIik7CiAKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCiAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNNYXRyaXhUeXBlKHJldHVyblR5
cGUpKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1Sb3dzID0gbWF0cml4VHlwZS0+bnVtYmVy
T2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1Db2x1bW5zID0gbWF0cml4
VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93
cyB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVt
Um93cyAqIG51bUNvbHVtbnMpOwotCi0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiO1xu
Iik7Ci0KLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWJpZGUgYnkgdGhlIG1lbW9yeSBsYXlv
dXQgd2UgdXNlIGZvciBtYXRyaWNlcyBoZXJlLgotICAgICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBudW1Sb3dzKSB7Ci0gICAgICAg
ICAgICAgICAgLy8gb3BlcmF0b3IgbWF0cml4TXhOICh2ZWN0b3JOLCAuLi4sIHZlY3Rvck4pCi0g
ICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVJvd3M7ICsraSkgewot
ICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtQ29sdW1uczsg
KytqKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCB2YXJpYWJsZU5hbWUsICJbIiwgaiAqIG51bVJvd3MgKyBpLCAiXSA9ICIsIGFyZ3NbaV0sICJb
IiwgaiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIC8vIG9wZXJhdG9yIG1hdHJpeE14TiAoc2NhbGFyLCAuLi4sIHNjYWxh
cikKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7Ci0gICAgICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVJvd3M7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtQ29sdW1uczsgKytqKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHZhcmlhYmxlTmFt
ZSwgJ1snLCBqICogbnVtUm93cyArIGksICJdID0gIiwgYXJnc1tpbmRleF0sICI7XG4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJl
dHVyblR5cGVOYW1lLCAnKCcpOworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBh
cmdzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCB2YXJpYWJsZU5h
bWUsICI7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiKCIpOwor
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOwog
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChpID4gMCkKKyAg
ICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CiAgICAgICAg
IH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1Y3QgZmllbGQgbmFtZWQgImxl
bmd0aCIgdG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRob3NlIHNob3VsZG4ndCB0YWtl
IHRoaXMgY29kZXBhdGguCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJvcGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoaW50cmluc2lj
cywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSwgaW50cmluc2ljcy51
aW50VHlwZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKTsKLSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6
OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlU
eXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIGFycmF5UGFy
YW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlw
ZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRlclR5cGUubnVtRWxlbWVudHMo
KSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpOwot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0
aCgib3BlcmF0b3IuIl9zdHIpKSB7Ci0gICAgICAgIGF1dG8gYXBwZW5kTWFuZ2xlZEZpZWxkTmFt
ZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKLSAgICAgICAgICAgIGF1dG8mIHVu
aWZ5Tm9kZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1
Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgc3Ry
dWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFt
ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0
dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQp
KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBB
U1NFUlQoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpOwotICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKLSAgICAgICAgfTsKLQotICAg
ICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkg
ewotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgo
KSk7Ci0gICAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc3Vic3RyaW5nKDAsIGZpZWxk
TmFtZS5sZW5ndGgoKSAtIDEpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xu
IiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICcuJyk7Ci0gICAgICAgICAg
ICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwotCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIu
bGVuZ3RoKCkpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGlu
ZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7Ci0gICAgICAgIGFwcGVuZE1h
bmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IjtcbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iX3N0cikpIHsKLSAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5ndGgoKSk7Ci0KLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKLQotICAgICAgICBhdXRvJiB1
bm5hbWVkVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpOwotICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBkb3duY2FzdDxBU1Q6OlBvaW50ZXJU
eXBlPih1bm5hbWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0
byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAg
ICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAg
ICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVy
ZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVt
ZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVt
ZW50KSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
ZmllbGROYW1lKTsKLQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IG51bGxwdHI7
XG4iKTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAg
ICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwotCi0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gKCIsIGFyZ3Nb
MV0sICIgPCAiLCBhcmdzWzBdLCAiLmxlbmd0aCkgPyAiLCAiICYoIiwgYXJnc1swXSwgIi5wb2lu
dGVyWyIsIGFyZ3NbMV0sICJdKSA6IG51bGxwdHI7XG4iKTsKLSAgICAgICAgICAgIAotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byB2ZWN0b3JTaXplID0gWyZdICgpIC0+IHVuc2ln
bmVkIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJl
ZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCkpOwotICAgICAgICBhdXRvJiB2ZWN0b3JUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBlLm5hbWUoKSA9PSAidmVjdG9y
Iik7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0g
Mik7Ci0gICAgICAgIHJldHVybiBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odmVj
dG9yVHlwZS50eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKLSAg
ICB9OwotCi0gICAgYXV0byBnZXRNYXRyaXhUeXBlID0gWyZdICgpIC0+IEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uJiB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxB
U1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgcmVzdWx0ID0gZG93bmNhc3Q8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8
QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgp
KS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVChyZXN1bHQuaXNNYXRyaXgoKSk7Ci0g
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAg
YXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBz
aXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRz
ID09IDMpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1h
bmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAg
ICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJP
Zk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdl
dE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwot
Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywgIikg
e1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIg
PSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycs
IGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzFd
ID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzLCAiXTtcbiIp
OwotCi0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBh
cmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOwot
ICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gNCkKLSAgICAgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzNdID0gIiwgYXJnc1sw
XSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl07XG4iKTsKLSAgICAK
LSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLSAgICAgICAgICAgIHVu
c2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBhdXRvIG1l
dGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAi
IHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFd
LCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJl
c3VsdCA9ICIsIGFyZ3NbMF0sICJbIiwgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUgKDApO1xu
Iik7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltdPSIpIHsKLSAgICAgICAg
YXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBz
aXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRz
ID09IDMpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVy
Mk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxS
ZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9
IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2ln
bmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVt
bnMoKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIG0gPSAiLCBhcmdzWzBd
LCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1l
LCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
aWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IG07XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2ldID0gIiwgYXJnc1syXSwgIlsw
XTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93
cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJl
ck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXSA9ICIsIGFyZ3NbMl0sICJb
Ml07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0gICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51
bWJlck9mUm93cyAqIDMsICJdID0gIiwgYXJnc1syXSwgIlszXTtcbiIpOwotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IG07XG4iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLQotICAgICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
WzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsK
LQotICAgICAgICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsK
LQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwg
YXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIs
IG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
IiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJnc1syXSwgIjtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7
XG4iKTsKLSAgICAgICAgfQotCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5pc09wZXJhdG9yKCkpIHsKICAgICAgICAgYXV0byBvcGVyYXRvck5hbWUgPSBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yIl9zdHIubGVuZ3RoKCkp
OwotICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCiAgICAgICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgeworICAg
ICAgICAgICAgLy8gVGhpcyBpcyBvayB0byBkbyBzaW5jZSB0aGUgYXJncyB0byB0aGlzIGZ1bmN0
aW9uIGFyZSBhbGwgdGVtcHMuCisgICAgICAgICAgICAvLyBTbyB0aGluZ3MgbGlrZSArKyBhbmQg
LS0gYXJlIG9rIHRvIGRvLgorCiAgICAgICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFz
TWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKLSAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50
KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwg
IjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgIHhbaV0gPSAiLCBvcGVyYXRvck5hbWUsICJ4W2ldO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBvcGVyYXRvck5hbWUsIGFyZ3Nb
MF0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBh
cmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9ICIsIG9wZXJhdG9yTmFtZSwgIng7XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0
TmFtZSwgJyknKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKG9wZXJhdG9yTmFtZSwgYXJnc1swXSk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KIApAQCAtNDczLDQ5ICsyMDYsNDAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAoYXV0byogbGVmdE1hdHJpeCA9IGFzTWF0
cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUo
KSkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4VHlwZSgq
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAg
ICAgICAgICAgICAgICAvLyBtYXRyaXggPG9wPiBtYXRyaXgKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJb
aV0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGxlZnRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwg
Il0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsKICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0
TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0
cml4IDxvcD4gc2NhbGFyCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
blR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwg
JyAnLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0
cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwg
Iik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUs
ICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAn
LCBhcmdzWzFdKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fSBlbHNlIGlmIChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgIEFT
U0VSVCghYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpKSk7CiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiBtYXRyaXgKLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5h
bWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
cmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmlnaHRNYXRyaXgt
Pm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkK
KyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIs
IGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
In1cbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFt
ZSwgJyknKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHNj
YWxhcgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gdmVjdG9yCiAgICAgICAgICAgICAvLyB2
ZWN0b3IgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHZlY3RvcgogICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sx
XSwgIjtcbiIpOworICAgICAgICAgICAgICAgICcoJywgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5h
bWUsICcgJywgYXJnc1sxXSwgJyknKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybjsKQEAg
LTU0OCwzNSArMjcyLDM2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImxlbmd0
aCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAnKCcsIGFyZ3NbMF0sICIpO1xuIik7CisgICAgICAg
ICAgICBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAn
KCcsIGFyZ3NbMF0sICcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gInBvdyIgfHwgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkgPT0gImF0YW4yIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLCAiKCIsIGFyZ3NbMF0sICIsICIsIGFy
Z3NbMV0sICIpO1xuIik7CisgICAgICAgICAgICBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSwgJygnLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJj
bGFtcCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgaWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5U
eXBlID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnR5cGUoKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIg
eDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgeC5zaXplKCk7ICsraSkgXG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
eFtpXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIsIGFyZ3Nb
Ml0sICJbaV0pOyIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHg7XG4iKTsKKworICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBib29sIHJhbk9uY2UgPSBmYWxzZTsKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1h
dHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOyArK2opIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmFuT25jZSA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0TmFtZSwgJ1snLCBpLCAiXVsiLCBqLCAiXSA9IGNsYW1wKCIsIGFy
Z3NbMF0sICdbJywgaSwgIl1bIiwgaiwgIl0sICIsIGFyZ3NbMV0sICdbJywgaSwgIl1bIiwgaiwg
Il0sICIsIGFyZ3NbMl0sICdbJywgaSwgIl1bIiwgaiwgIl0pIik7CisgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1bHRO
YW1lLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwg
YXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIik7XG4iKTsKKyAgICAgICAg
ICAgICAgICAiY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwg
JyknKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTg0LDIzICszMDks
MjMgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiQWxsTWVtb3J5QmFycmllcldpdGhH
cm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2Rldmlj
ZSk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxh
Z3M6Om1lbV90aHJlYWRncm91cCk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKTtcbiIpOworICAgICAgICAgICAgInRo
cmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIsCisgICAgICAgICAgICAi
dGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCkiLAorICAgICAg
ICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSkiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAg
IEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsK
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJl
YWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSk7XG4iKTsKKyAgICAgICAgICAg
ICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUo
KSA9PSAiR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJU
KCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3Vw
X2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIik7CisgICAgICAgICAgICAi
dGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCkiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjA4LDE1ICszMzMsMTUgQEAgdm9pZCBpbmxpbmVOYXRp
dmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5uYW1lKCkgPT0gIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlIikgewogICAgICAg
ICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSA0KTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGluZGVudCwgImF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoIiwgYXJn
c1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIsIG1lbW9yeV9vcmRlcl9yZWxh
eGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwg
JyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAgICAgICAgICIo
YXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwg
YXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9v
cmRlcl9yZWxheGVkKSwgIiwKKyAgICAgICAgICAgICAgICAnKicsIGFyZ3NbM10sICIgPSAiLCBh
cmdzWzFdLCAnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAg
QVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAz
KTsKICAgICAgICAgYXV0byBuYW1lID0gYXRvbWljTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLm5hbWUoKS5zdWJzdHJpbmcoIkludGVybG9ja2VkIl9zdHIubGVuZ3RoKCkpKTsKICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICcqJywgYXJnc1sy
XSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3Nb
MV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgJyonLCBhcmdz
WzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTYzMCw3ICszNTUsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1
aWxkZXImCiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKHJl
dHVyblR5cGUpOwogCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5zYW1wbGUoIiwgYXJnc1sxXSwg
IiwgIik7CisgICAgICAgICAgICBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsK
IAogICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewogICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBAIC02NDIsODEgKzM2Nyw2NiBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpIik7CiAgICAgICAgIGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRl
eHR1cmUoKSkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIuIiwgInh5enciX3N0
ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJMb2FkIikgewogICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICAKKwogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKICAg
ICAgICAgYXV0byYgbG9jYXRpb25UeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvIGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKGxvY2F0aW9uVHlwZSk7CiAgICAgICAg
IGF1dG8mIHJldHVyblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
LnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9y
TGVuZ3RoKHJldHVyblR5cGUpOworICAgICAgICBhdXRvIGxvY2F0aW9uVHlwZU5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvY2F0aW9uVHlwZSk7CiAKLSAgICAgICAgYXV0byBt
ZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblR5cGUp
OwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAg
ICAgICB7Ci0gICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAg
ICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAg
U3RyaW5nIGRpbWVuc2lvbnNbXSA9IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRo
Il9zdHIgfTsKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVj
dG9yTGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0g
Inh5enciX3N0ci5zdWJzdHJpbmcoaSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFy
Z3NbMV0sICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJn
c1sxXSwgJy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNb
aV0sICIoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCBy
ZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
YXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAt
IDEsIDEpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcsIGFyZ3NbMV0sICIgPSAi
KTsKKyAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKKyAgICAgICAg
ICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+IDEpOworICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIsIGxvY2F0aW9uVHlwZU5hbWUs
ICcoJyk7CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJzAnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpLCAiLCBsb2NhdGlvblR5cGVOYW1lLCAnKCcpOworCisgICAgICAgICAgICBTdHJp
bmcgZGltZW5zaW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0
ciB9OworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsb2NhdGlvblZlY3Rvckxlbmd0
aCAtIDE7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0s
ICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwg
Jy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSkge1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
ID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA8IDAgfHwgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KCIsIGFyZ3NbMV0sICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dp
ZHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0
dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi54IDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
IiwgYXJnc1sxXSwgIi54KSA+PSAiLCBhcmdzWzBdLCAiLmdldF93aWR0aCgpKSB7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi55IDwg
MCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIi55KSA+PSAiLCBhcmdzWzBd
LCAiLmdldF9oZWlnaHQoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlm
ICgiLCBhcmdzWzFdLCAiLnogPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFd
LCAiLnopID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJl
dHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSAtIDEiKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAg
ICAgICAgIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSAtIDEpKSIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID09IDEpCisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsIDAsICIs
IGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkgLSAxKSIpOworICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIs
IGxvY2F0aW9uVHlwZU5hbWUsICIoMCwgMCIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlv
blZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAwIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiksICIs
IGxvY2F0aW9uVHlwZU5hbWUsICcoJywgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEsICIsIGFy
Z3NbMF0sICIuZ2V0X2hlaWdodCgpIC0gMSIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlv
blZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgpIC0gMSIpOworICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwg
Ii5yZWFkKCIpOwotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkp
IHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChs
b2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5z
dWJzdHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sx
XSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEp
LCAnKScpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcs
IGFyZ3NbMV0sICcpJyk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwot
ICAgICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwg
cmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
O1xuIik7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fSB3aGlsZSgwKTtcbiIpOworCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGFy
Z3NbMF0sICIucmVhZCgiKTsKKworICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJy
YXkoKSkgeworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Cisg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2Nh
dGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5zdWJz
dHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sxXSwg
Jy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAn
KScpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1
aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzFdLCAn
KScpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgICAgICBpZiAoIXRl
eHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAsIHJldHVyblZlY3Rvckxlbmd0aCkpOwor
CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTcyNCwxOCArNDM0LDIwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
ImxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gYXRvbWljX2xvYWRfZXhwbGljaXQoIiwg
YXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRv
bWljX2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkgPT0gInN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImF0b21pY19zdG9yZV9leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsK
KyAgICAgICAgICAgICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdldERpbWVu
c2lvbnMiKSB7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKICAgICAgICAg
YXV0byYgdGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAKICAgICAgICAgc2l6ZV90IGluZGV4
ID0gMTsKQEAgLTc2NywzOCArNDc5LDM1IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgQVNTRVJUKGluZGV4ID09IG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgd2lkdGhOYW1lLCAiKVxuIiwKLSAgICAg
ICAgICAgIGluZGVudCwgIiAgICAqIiwgd2lkdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRf
d2lkdGgoIik7CisgICAgICAgICAgICAnKicsIHdpZHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIu
Z2V0X3dpZHRoKCIpOwogICAgICAgICBpZiAoaGFzTWlwTGV2ZWwpCiAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAogICAgICAgICBp
ZiAoaGVpZ2h0TmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpoZWlnaHROYW1lLCAiKVxuIiwKLSAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgKiIsICpoZWlnaHROYW1lLCAiID0gIiwgYXJnc1swXSwgIi5n
ZXRfaGVpZ2h0KCIpOworICAgICAgICAgICAgICAgICIsICoiLCAqaGVpZ2h0TmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgiKTsKICAgICAgICAgICAgIGlmIChoYXNNaXBMZXZlbCkK
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZXB0aE5hbWUpIHsKICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwg
ImlmICgiLCAqZGVwdGhOYW1lLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
KiIsICpkZXB0aE5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgiKTsKKyAgICAgICAg
ICAgICAgICAiLCAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCIp
OwogICAgICAgICAgICAgaWYgKGhhc01pcExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKGVsZW1lbnRzTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICplbGVtZW50c05hbWUs
ICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmVsZW1lbnRzTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKTtcbiIpOworICAgICAgICAgICAgICAg
ICIsICoiLCAqZWxlbWVudHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgp
Iik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKG51bWJlck9mTGV2ZWxzTmFtZSkgewogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYg
KCIsICpudW1iZXJPZkxldmVsc05hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICAqIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9t
aXBfbGV2ZWxzKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAiLCAqIiwgKm51bWJlck9mTGV2ZWxz
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9taXBfbGV2ZWxzKCkiKTsKICAgICAgICAg
fQorCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTgzOCw2NiArNTQ3LDggQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihT
dHJpbmdCdWlsZGVyJgogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiU3RvcmUiKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIAotICAgICAgICBhdXRv
JiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3du
Y2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byYgaXRlbVR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVu
aWZ5Tm9kZSgpKSk7Ci0gICAgICAgIGF1dG8mIGl0ZW1WZWN0b3JJbm5lclR5cGUgPSB2ZWN0b3JJ
bm5lclR5cGUoaXRlbVR5cGUpOwotICAgICAgICBhdXRvIGl0ZW1WZWN0b3JMZW5ndGggPSB2ZWN0
b3JMZW5ndGgoaXRlbVR5cGUpOwotICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzJdLT50eXBlKCktPnVuaWZ5Tm9k
ZSgpKSk7Ci0gICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgo
bG9jYXRpb25UeXBlKTsKLQotICAgICAgICBhdXRvIG1ldGFsSW5uZXJUeXBlTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaXRlbVZlY3RvcklubmVyVHlwZSk7Ci0KLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoImRvIHtcbiIpOwotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0ZXh0dXJl
VHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9u
VmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGRpbWVuc2lvbnNbXSA9
IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRoIl9zdHIgfTsKLSAgICAgICAgICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0gInh5enciX3N0ci5zdWJzdHJpbmco
aSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIuIiwgc3VmZml4LCAi
ID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSlcbiIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhs
b2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwg
Jy4nLCBzdWZmaXgsICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA9PSAxKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIgPj0gIiwgYXJnc1swXSwgIi5n
ZXRfd2lkdGgoKSkgXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1syXSwgIi54ID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzJdLCAiLnkgPj0gIiwgYXJnc1swXSwg
Ii5nZXRfaGVpZ2h0KCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAg
IGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0
aCA+PSAzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi56
ID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCBhcmdzWzBdLCAiLndyaXRlKHZlYzwiLCBtZXRhbElubmVyVHlwZU5h
bWUsICIsIDQ+KCIsIGFyZ3NbMV0pOwotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0
IC0gaXRlbVZlY3Rvckxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsIDAiKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLCAiKTsK
LSAgICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0
b3JMZW5ndGggLSAxKSwgJygnLCBhcmdzWzJdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAs
IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICIpLCB1aW50KCIsIGFyZ3NbMl0sICIuIiwgInh5
enciX3N0ci5zdWJzdHJpbmcobG9jYXRpb25WZWN0b3JMZW5ndGggLSAxLCAxKSwgJyknKTsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1
aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzJdLCAn
KScpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKLSAgICAgICAg
fQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7
Ci0KLSAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTgxMyBJbXBsZW1lbnQgdGhpcworICAgICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiR2F0aGVyQWxwaGEiKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRp
dmVGdW5jdGlvbldyaXRlci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIE1ldGFsIHsKIAogY2xhc3Mg
VHlwZU5hbWVyOwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVy
bk5hbWUsIGNvbnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywg
SW50cmluc2ljcyYsIFR5cGVOYW1lciYsIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFt
ZSgpPiYmLCBJbmRlbnRhdGlvbjw0Pik7Cit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmlu
Z0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBjb25zdCBWZWN0b3I8
TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMsIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmVzdWx0TmFtZSwgSW50cmluc2ljcyYsIFR5cGVOYW1lciYsIEluZGVudGF0aW9uPDQ+KTsKIAog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TE5hdGl2ZVR5cGVXcml0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICszOCw2IEBA
IG5hbWVzcGFjZSBXSExTTCB7CiAKIG5hbWVzcGFjZSBNZXRhbCB7CiAKLWVudW0gY2xhc3MgTWF0
cml4VHlwZSA6IHVpbnQ4X3QgewotICAgIEZsb2F0LAotICAgIEJvb2wKLX07Ci0KIFN0cmluZyB3
cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbikKIHsKICAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9uLm5hbWUoKSA9PSAidm9p
ZCIpCkBAIC0xMDEsMzUgKzk2LDE0IEBAIFN0cmluZyB3cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRp
dmVUeXBlRGUKICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdHlwZVJlZmVyZW5jZS0+dW5pZnlO
b2RlKCk7CiAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
Pih1bmlmeU5vZGUpOwogICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgIGF1dG8gbWF0cml4
VHlwZSA9IChbJl0oKSAtPiBNYXRyaXhUeXBlIHsKKyAgICAgICAgYXV0byBwcmVmaXggPSAoWyZd
IHsKICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJUeXBlLm5hbWUoKSA9PSAiYm9vbCIpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6OkJvb2w7CisgICAgICAgICAgICAgICAgcmV0
dXJuICJib29sIjsKICAgICAgICAgICAgIEFTU0VSVChwYXJhbWV0ZXJUeXBlLm5hbWUoKSA9PSAi
ZmxvYXQiKTsKLSAgICAgICAgICAgIHJldHVybiBNYXRyaXhUeXBlOjpGbG9hdDsKKyAgICAgICAg
ICAgIHJldHVybiAiZmxvYXQiOwogICAgICAgICB9KSgpOwogCi0gICAgICAgIEFTU0VSVChXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVj
bGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKSk7Ci0gICAgICAgIGF1dG8mIGNvbnN0YW50RXhw
cmVzc2lvbjEgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURl
Y2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSk7Ci0gICAgICAgIGF1dG8mIGludGVnZXJMaXRl
cmFsMSA9IGNvbnN0YW50RXhwcmVzc2lvbjEuaW50ZWdlckxpdGVyYWwoKTsKLSAgICAgICAgdW5z
aWduZWQgcm93cyA9IGludGVnZXJMaXRlcmFsMS52YWx1ZSgpOwotICAgICAgICBBU1NFUlQocm93
cyA9PSAyIHx8IHJvd3MgPT0gMyB8fCByb3dzID09IDQpOwotCi0gICAgICAgIEFTU0VSVChXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVj
bGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKSk7Ci0gICAgICAgIGF1dG8mIGNvbnN0YW50RXhw
cmVzc2lvbjIgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURl
Y2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSk7Ci0gICAgICAgIGF1dG8mIGludGVnZXJMaXRl
cmFsMiA9IGNvbnN0YW50RXhwcmVzc2lvbjIuaW50ZWdlckxpdGVyYWwoKTsKLSAgICAgICAgdW5z
aWduZWQgY29sdW1ucyA9IGludGVnZXJMaXRlcmFsMi52YWx1ZSgpOwotICAgICAgICBBU1NFUlQo
Y29sdW1ucyA9PSAyIHx8IGNvbHVtbnMgPT0gMyB8fCBjb2x1bW5zID09IDQpOwotCi0gICAgICAg
IHN3aXRjaCAobWF0cml4VHlwZSkgewotICAgICAgICBjYXNlIE1hdHJpeFR5cGU6OkZsb2F0OiB7
Ci0gICAgICAgICAgICB1bnNpZ25lZCBhbGlnbm1lbnQgPSBjb2x1bW5zID09IDIgPyA4IDogMTY7
Ci0gICAgICAgICAgICBpZiAoY29sdW1ucyA9PSAzKQotICAgICAgICAgICAgICAgIGNvbHVtbnMg
PSA0OwotICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PGZsb2F0LCAiLCBjb2x1
bW5zICogcm93cywgIj4gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgiLCBhbGlnbm1lbnQsICIpKSki
KTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIE1hdHJpeFR5cGU6OkJvb2w6Ci0gICAgICAgICAg
ICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8Ym9vbCwgIiwgY29sdW1ucyAqIHJvd3MsICI+Iik7
Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIldTTE1hdHJpeDwiLCBwcmVm
aXgsICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeENvbHVtbnMoKSwg
IiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0cml4Um93cygpLCAiPiIpOwog
ICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5z
aXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6
VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0p
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODMxMyw2ICs4MzEzLDcg
QEAKIAkJNTFGQjY3REExQUU2QjVFNDAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNo
ZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRFeHRlbnNpb25T
dHlsZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMxRTVBMUM0RjE1
NjEwMDMzRjgwMiAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTU4NjJDMjI5Mzc3QjcwMDU5MjVF
RiAvKiBXSExTTEFTVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFTVC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MjI1NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3Bh
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0hMU0xOYW1lU3BhY2UuaDsgcGF0aCA9IEFTVC9XSExTTE5h
bWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJCQUI5NjIyRTZBMzYy
MDBDNTRDRTkgLyogV0hMU0xDb2RlTG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xDb2Rl
TG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyRDA3QTMyMkZCQUI0
MzAwQjkwNUJFIC8qIFdITFNMRXhwcmVzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExT
TEV4cHJlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJEQTNEMzIy
OUUxRDM5MDA0MkQxNTEgLyogV0hMU0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXSExTTEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yNTU0OCw2ICsyNTU0OSw3IEBACiAJCQkJQzIxMEU5MTIyMUI0QkQxMDAw
QjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJFQzIxRUVENkY2MDBBMTE4NjAg
LyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJCTFDQTBDMkVBMjFFRUQ2RjUw
MEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAorCQkJCTUyMjU2Q0FBMjMw
RjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAogCQkJCUMyMzRBOThEMjFFODg4
ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0QTk4RTIxRTg4
ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRBOThBMjFFODg4
M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw4MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
KworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEwMDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmdwdS93aGxzbC9h
ZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUv
d2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS93
aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51
bGwuaHRtbC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFuZGVyLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFuZGVyLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL2R1cGxpY2F0ZS10eXBlcy1zaG91bGQtbm90LXByb2R1
Y2UtZHVwbGljYXRlLWN0b3JzLmh0bWw6CisgICAgICAgICogd2ViZ3B1L3dobHNsL2luY3JlbWVu
dC1zZXR0ZXIuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXItZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9pbmRleC1hbmRlci5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVy
LWdldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9tYWtlLWFycmF5
LXJlZmVyZW5jZS5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNz
aWduLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL21hdHJpeC1p
bmRleC1hc3NpZ24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL21hdHJpeC1p
bmRleC1vcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9t
YXRyaXgtaW5kZXgtb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL21h
dHJpeC1tZW1vcnktbGF5b3V0Lmh0bWw6CisgICAgICAgICogd2ViZ3B1L3dobHNsL21hdHJpeC5o
dG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWw6CisgICAgICAgICogd2ViZ3B1L3dobHNs
L251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdw
dS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdw
dS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L29vYi1hY2Nlc3MuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5
bnRheC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9y
LWFzc2lnbi5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9h
ZC5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3JpcHQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3Jp
cHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRl
ci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxl
dmVscy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLWV4cGVjdGVk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
Z2V0dGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWFic3RyYWN0LWx2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS0zLWxldmVscy1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1h
bmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWdldHRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3Qt
bHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMt
bGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1s
dmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMt
bGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFs
dWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9zZXR0ZXItc3BlYy10ZXN0cy5odG1sOgorICAgICAgICAqIHdl
YmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWw6CisgICAgICAgICogd2ViZ3B1
L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVs
bC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVz
dC5odG1sOgorCiAyMDE5LTA4LTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBmaXggdGVzdCBmYWlsdXJlIGFmdGVyIHIyNDkxNzMKSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3
aXp6bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNCBAQAorCitQQVNTIGNhbnRUYWtlQWRkcmVzc09mU3dpenpsZSAKK1BBU1MgY2FudEFz
c2lnblJ2YWx1ZVN3aXp6bGUgCisKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRy
ZXNzLW9mLXN3aXp6bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2FkZHJlc3Mtb2Ytc3dpenpsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+YmFkIHN3aXp6
bGUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuY2FudFRha2VBZGRy
ZXNzT2ZTd2l6emxlID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbChgCisgICAg
ICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAgaW50MiB2OworICAgICAgICAgICAgdGhyZWFk
IGludCogeCA9ICZ2Lng7CisgICAgICAgIH0KKyAgICBgKTsKKworICAgIGF3YWl0IGNoZWNrRmFp
bChgCisgICAgICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAgaW50MiB2OworICAgICAgICAg
ICAgdGhyZWFkIGludDIqIHggPSAmdi54eTsKKyAgICAgICAgfQorICAgIGApOworfTsKKword2hs
c2xUZXN0cy5jYW50QXNzaWduUnZhbHVlU3dpenpsZSA9IGFzeW5jICgpID0+IHsKKyAgICBhd2Fp
dCBjaGVja0ZhaWwoYAorICAgICAgICBpbnQyIHgoKSB7CisgICAgICAgICAgICBpbnQyIHY7Cisg
ICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorICAgICAgICB2b2lkIGZvbygpIHsKKyAg
ICAgICAgICAgIHgoKS54eSA9IGludDIoMTAsIDIwKTsKKyAgICAgICAgfQorICAgIGApOworfTsK
KworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1
Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0OjI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmll
bGQtYWNjZXNzLW9uLW51bGwuaHRtbDoyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5maWVsZCBhbmRlciBvbiBudWxscHRy
IHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xU
ZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFt
ID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsKKyAgICAgICAgICAgIGludCB4OworICAgICAgICAg
ICAgaW50IHk7CisgICAgICAgICAgICBpbnQgejsKKyAgICAgICAgfQorICAgICAgICBib29sIGZv
byh1aW50IGkpIHsKKyAgICAgICAgICAgIEZvb1sxMF0gZm9vczsKKyAgICAgICAgICAgIHRocmVh
ZCBGb28qIGZvbyA9ICZmb29zW2ldOworICAgICAgICAgICAgdGhyZWFkIGludCogcHRyID0gJihm
b28tPnopOworICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOwor
ICAgICAgICB9CisgICAgYDsKKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9v
IiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxC
b29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoMTApXSksIHRydWUpOworICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtt
YWtlVWludCgxMDAwMDAwKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxC
b29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoMHhmZmZmZmZmZildKSwgdHJ1
ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRlc3RzKTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlh
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFy
c2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+
ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KKzx0aXRs
ZT5vb2Igb24gYXJyYXlzLjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgpAQCAtMjEsMTUgKzIxLDQ2IEBAIHdobHNsVGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBh
c3luYyAoKSAKICAgICAgICAgICAgIEZvb1sxMF0gZm9vczsKICAgICAgICAgICAgIHRocmVhZCBG
b28qIGZvbyA9ICZmb29zW2ldOwogICAgICAgICAgICAgdGhyZWFkIGludCogcHRyID0gJihmb28t
PnopOwotICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxsICYmIGZvbyA9PSBudWxsOworICAg
ICAgICAgICAgKnB0ciA9IDQyOworICAgICAgICAgICAgcmV0dXJuIGZvb3NbMF0ueiA9PSA0MjsK
KyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmFyKCkgeworICAgICAgICAgICAgRm9vWzEwXSBm
b29zOworICAgICAgICAgICAgdGhyZWFkIEZvbyogZm9vID0gJmZvb3NbNDI0MjQyXTsKKyAgICAg
ICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKKyAgICAgICAgICAgIHJldHVybiBm
b28gPT0gJmZvb3NbMF07CisgICAgICAgIH0KKworICAgICAgICBmbG9hdDMgcmV0RmxvYXQzKCkK
KyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZsb2F0MygxMC4wLCAwLjAsIDAuMCk7Cisg
ICAgICAgIH0KKworICAgICAgICBmbG9hdFsxMF0gcmV0RmxvYXRBcnJheSgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGZsb2F0WzEwXSB2OworICAgICAgICAgICAgdlswXSA9IDEwLjA7CisgICAg
ICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmF6KCkgeworICAg
ICAgICAgICAgcmV0dXJuIHJldEZsb2F0MygpWzQyXSA9PSAxMC4wOworICAgICAgICB9CisKKyAg
ICAgICAgYm9vbCBqYXooKSB7CisgICAgICAgICAgICByZXR1cm4gcmV0RmxvYXRBcnJheSgpWzQy
XSA9PSAxMC4wOwogICAgICAgICB9CiAgICAgYDsKIAogICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
MTA7ICsraSkKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHBy
b2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkp
XSksIGkgPT09IDAgPyB0cnVlIDogZmFsc2UpOwogICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2Fs
bEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMCldKSwgdHJ1ZSk7CiAg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwg
W21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwogICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2Fs
bEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgweGZmZmZmZmZmKV0pLCB0
cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwg
ICJiYXIiLCBbXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5j
dGlvbihwcm9ncmFtLCAgImJheiIsIFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiamF6IiwgW10pLCB0cnVlKTsKIH07CiAKIHJ1
blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1h
bmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEs
OSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGlu
ZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRlckRvZXNudFJldHVyblBvaW50
ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSAKLVBBU1MgYW5kZXJXaXRoQmFkSW5k
ZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9uZyAKLVBBU1MgYW5kZXJXaXRoV3JvbmdOdW1i
ZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1h
bmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVmaXgvcG9zdGZpeC48L3RpdGxlPgotPHNjcmlw
dCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNs
VGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9lc250UmV0dXJuUG9pbnRlciA9
IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAg
ICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+eDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRlckRvZXNudFRha2VSZWZlcmVu
Y2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAg
ICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXShGb28gZm9vLCB1aW50KQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLng7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250UmV0dXJuUG9pbnRl
ciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAg
ICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9vKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28tPng7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSA9IGFz
eW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAg
ICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oRm9vIGZvbykKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby54OwotICAgICAgICAgICAgfQotICAgICAg
ICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldpdGhCYWRJbmRleCA9IGFzeW5jICgpID0+Ci17
Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4
Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBpbnRbXSB4
KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0
aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJuIHhbeV07IH1gKTsKLQotICAgIGF3YWl0IGNo
ZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsg
fWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+
Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAg
ICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0
aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAmZm9vLT54Owot
ICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28g
eDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAgICAgICAgICAgcmV0dXJuIHguZm9vOwotICAg
ICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVzdHMuYW5kZXJXaXRoV3JvbmdO
dW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0g
ICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIHJldHVybiAm
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0g
ICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyh0
aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotcnVuVGVz
dHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1j
dG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNh
dGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvZHVwbGljYXRlLXR5cGVzLXNo
b3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3RvcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTksMTYgKzE5LDIwIEBAIHR5cGVkZWYgWFlaMyA9IFhZWjsKIAogW251bXRocmVhZHMoMiwgMSwg
MSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiBy
ZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAg
ICB0aHJlYWQgaW50KiB4OwotICAgIHRocmVhZCBpbnQqIHk7Ci0gICAgdGhyZWFkIGZsb2F0KiBm
MTsKLSAgICB0aHJlYWQgZmxvYXQqIGYyOworICAgIGludCB2YWx1ZTsKKyAgICBmbG9hdCB2YWx1
ZTI7CisgICAgaW50WzEwXSB2YWx1ZTM7CisKKyAgICB0aHJlYWQgaW50KiB4ID0gJnZhbHVlOwor
ICAgIHRocmVhZCBpbnQqIHkgPSAmdmFsdWU7CisgICAgdGhyZWFkIGZsb2F0KiBmMSA9ICZ2YWx1
ZTI7CisgICAgdGhyZWFkIGZsb2F0KiBmMiA9ICZ2YWx1ZTI7CiAgICAgWFlaMSBhOwogICAgIFhZ
WjIgYjsKICAgICBYWVozIGM7Ci0gICAgdGhyZWFkIGludFtdIGludEFycmF5UmVmMTsKLSAgICB0
aHJlYWQgaW50W10gaW50QXJyYXlSZWYyOwotICAgIGlmICgqeCA9PSAqeSAmJiB4ID09IHkgJiYg
eCA9PSBudWxsICYmIGYxID09IG51bGwgJiYgKmYxID09IDApIHsKKyAgICB0aHJlYWQgaW50W10g
aW50QXJyYXlSZWYxID0gQHZhbHVlMzsKKyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyID0g
QHZhbHVlMzsKKyAgICBpZiAoKnggPT0gKnkgJiYgeCA9PSB5KSB7CiAgICAgICAgIGJ1ZmZlclt1
aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1aW50KHRocmVhZElELngpXSAqIDIuMDsKICAgICB9
CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVy
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmNy
ZW1lbnQtc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1LDIyICsxNSwxNyBAQCB3aGxz
bFRlc3RzLmluY3JlbWVudFNldHRlciA9IGFzeW5jICgpID0+CiAgICAgbGV0IHByb2dyYW0gPSBg
CiAgICAgICAgIHN0cnVjdCBGb28gewogICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAg
ICAgICAgaW50IG9wZXJhdG9yLncoRm9vIGZvbykgewotICAgICAgICAgICAgcmV0dXJuIDg7Ci0g
ICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnc9KEZvbyBmb28sIGludCB2YWx1ZSkgewot
ICAgICAgICAgICAgZm9vLnogPSB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287CisgICAg
ICAgICAgICBpbnQgdzsKICAgICAgICAgfQogICAgICAgICBpbnQgYmFyKCkgewogICAgICAgICAg
ICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby56ID0gMzsKKyAgICAgICAgICAgIGZvby53ID0g
MTsKICAgICAgICAgICAgIGludCB2YWx1ZSA9IGZvby53Kys7CiAgICAgICAgICAgICByZXR1cm4g
dmFsdWUqMTAwICsgZm9vLnoqMTAgKyBmb28udzsKICAgICAgICAgfQogICAgIGA7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgODk4
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFy
IiwgW10pLCAxMDAgKyAzMCArIDIpOwogfQogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFu
ZGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIGlu
ZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFTUyBpbmRleEFuZGVyV2l0aFdyb25nTnVtYmVy
T2ZBcmd1bWVudHMgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRl
ci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5k
ZXgtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDY5ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0
cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nID0gYXN5bmMg
KCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAg
ICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZb
XSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAm
Zm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAgICAgICAgICAgcmV0dXJuIHhb
NjY2XTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMTMpOwotfQotCi13aGxzbFRlc3RzLmluZGV4
QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRv
ciZbXSgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuICZ4OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi0g
ICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsK
LSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVh
ZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0g
ICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3Ry
dWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQsIHVpbnQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1n
ZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBACi0KLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9H
ZXR0ZXJPdmVybG9hZCAKLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVk
IAotUEFTUyBub3RMb25lSW5kZXhTZXR0ZXIgCi1QQVNTIGxvbmVJbmRleFNldHRlciAKLVBBU1Mg
bG9uZUluZGV4U2V0dGVyUG9pbnRlciAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBj
aGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0
bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3Rz
LmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgotewotICAgIGF3
YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7IH0KLSAg
ICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXShGb28s
IHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDUzNDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIEJhciBvcGVyYXRvcltdPShCYXIsIHVpbnQsIGludCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXdobHNsVGVzdHMuaW5kZXhTZXR0ZXJXaXRo
Tm9HZXR0ZXJPdmVybG9hZEZpeGVkID0gYXN5bmMgKCkgPT4KLXsKLSAgICBjb25zdCBwcm9ncmFt
ID0gYAotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIs
IHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiA1MzQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpIHsgcmV0dXJu
IEJhcigpWzBdOyB9Ci0gICAgICAgIGludCBiYXIoKSB7Ci0gICAgICAgICAgICBCYXIgYjsKLSAg
ICAgICAgICAgIGJbMF0gPSA0MDA7Ci0gICAgICAgICAgICByZXR1cm4gYlswXTsKLSAgICAgICAg
fQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwgNTM0KTsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5j
dGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1MzQpOwotfTsKLQotd2hsc2xUZXN0cy5ub3RMb25l
SW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9PgotewotICAgIGNvbnN0IHByb2dyYW0gPSBgCi0gICAg
ICAgIGludCBvcGVyYXRvcltdKGludCwgdWludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIDY1OwotICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvcltdPShpbnQsIHVpbnQsIGlu
dCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDU0MzsKLSAgICAgICAgfQotICAgICAg
ICBpbnQgZm9vKCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICByZXR1cm4geFsw
XTsKLSAgICAgICAgfQotICAgICAgICBpbnQgYmFyKCkgewotICAgICAgICAgICAgaW50IHg7Ci0g
ICAgICAgICAgICB4WzBdID0gNDI7Ci0gICAgICAgICAgICByZXR1cm4geDsKLSAgICAgICAgfQot
ICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdKSwgNjUpOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJiYXIiLCBbXSksIDU0Myk7Ci19OwotCi13aGxzbFRlc3RzLmxvbmVJbmRleFNl
dHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0g
ICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oaW50LCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDU0MzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7
Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5sb25lSW5kZXhTZXR0ZXJQb2ludGVyID0gYXN5
bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAg
IHRocmVhZCBpbnQqIG9wZXJhdG9yW109KHRocmVhZCBpbnQqIHB0ciwgdWludCwgaW50KQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBwdHI7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3Jp
cHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1y
ZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWFr
ZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJlbmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTE0LDcgKzE0LDcgQEAgYm9vbCB0ZXN0MSgpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChhcnJheVswXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChhcnJh
eVsxMjAyMTNdICE9IDApCisgICAgaWYgKGFycmF5WzEyMDIxM10gIT0gNDIpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGFycmF5WzBdID0gMTMzNzsKQEAgLTM1LDcgKzM1LDcgQEAgYm9v
bCB0ZXN0MigpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChhcnJheVswXSAhPSA0
MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChhcnJheVsxMjM3NDIxN10gIT0gMCkK
KyAgICBpZiAoYXJyYXlbMTIzNzQyMTddICE9IDQyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgCiAgICAgKnB0ciA9IDY2NjsKQEAgLTg3LDE2ICs4NywxNyBAQCBib29sIHRlc3QzKCkgewog
fQogCiBib29sIHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0ciA9IG51bGw7CisgICAgaW50
IHggPSA0MjsKKyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKIAogICAgIHRocmVhZCBpbnRbXSBh
cnJheSA9IEBwdHI7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAwKQorICAgIGlmIChhcnJheS5s
ZW5ndGggIT0gMSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGFycmF5WzBdICE9
IDApCisgICAgaWYgKGFycmF5WzBdICE9IDQyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBpZiAoYXJyYXlbMTAwMDAwXSAhPSAwKQorICAgIGlmIChhcnJheVsxMDAwMDBdICE9IDQyKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJp
eC1pbmRleC1hc3NpZ24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRp
dGxlPm1hdHJpeC1pbmRleC1hc3NpZ24tc3dpenpsZS48L3RpdGxlPgorPHNjcmlwdCBzcmM9Impz
L3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7
fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5jICgpID0+IHsKKyAgICBj
b25zdCBwcm9ncmFtID0gYAorICAgICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0
MngzIG1hdDsKKyAgICAgICAgICAgIG1hdFswXSA9IGZsb2F0MygxMC4wLCAyMC4wLCAzMC4wKTsK
KworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdID09IGZsb2F0MygxMC4wLCAyMC4wLCAzMC4w
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAoIWFs
bChtYXRbMF0ueHkgPT0gZmxvYXQyKDEwLjAsIDIwLjApKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICghYWxsKG1hdFswXS55eCA9PSBmbG9hdDIoMjAu
MCwgMTAuMCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAg
bWF0WzBdLnh5ID0gZmxvYXQyKDEuMCwgMi4wKTsKKyAgICAgICAgICAgIGlmICghYWxsKG1hdFsw
XS54eSA9PSBmbG9hdDIoMS4wLCAyLjApKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgICAgIG1hdFswXS55eC55eCA9IGZsb2F0MigxMDAuMCwgMjAwLjApOworICAg
ICAgICAgICAgaWYgKCFhbGwobWF0WzBdLnh5ID09IGZsb2F0MigxMDAuMCwgMjAwLjApKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisgICAgYDsKKworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5j
dGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRl
c3RzKTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACisKK1BBU1MgbWF0TXVsIAor
UEFTUyBtYXRNdWwyIAorUEFTUyBtYXRNdWwzIAorUEFTUyBtYXRNdWw0IAorCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXIu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50
PSJsb25nIj4KKzx0aXRsZT5tYXRyaXgtaW5kZXgtb3JkZXIuPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3aGxzbFRlc3Rz
ID0ge307CisKK3dobHNsVGVzdHMubWF0TXVsID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHBy
b2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkgeworICAgICAgICAgICAgZmxvYXQyeDMgYSA9
IGZsb2F0MngzKAorICAgICAgICAgICAgICAgIGZsb2F0MygxLCAyLCAzKSwKKyAgICAgICAgICAg
ICAgICBmbG9hdDMoNCwgNSwgNikKKyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGZsb2F0
M3gyIGIgPSBmbG9hdDN4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoNywgOCksCisgICAgICAg
ICAgICAgICAgZmxvYXQyKDksIDEwKSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoMTEsIDEyKQor
ICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQzeDMgcmVzdWx0ID0gbXVsKGEsIGIp
OworCisgICAgICAgICAgICBmbG9hdDN4MyBleHBlY3RlZCA9IGZsb2F0M3gzKAorICAgICAgICAg
ICAgICAgIGZsb2F0MygzOSwgNTQsIDY5KSwKKyAgICAgICAgICAgICAgICBmbG9hdDMoNDksIDY4
LCA4NyksCisgICAgICAgICAgICAgICAgZmxvYXQzKDU5LCA4MiwgMTA1KQorICAgICAgICAgICAg
KTsKKyAgICAgICAgICAgIHJldHVybiBhbGwoZXhwZWN0ZWQgPT0gcmVzdWx0KTsKKyAgICAgICAg
fQorICAgIGA7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJv
Z3JhbSwgICJmb28iLCBbXSksIHRydWUpOworfTsKKword2hsc2xUZXN0cy5tYXRNdWwyID0gYXN5
bmMgKCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkgewor
ICAgICAgICAgICAgZmxvYXQyeDIgYSA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0
MigxLCA4KSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNSwgMTIpCisgICAgICAgICAgICApOwor
CisgICAgICAgICAgICBmbG9hdDIgYiA9IGZsb2F0MigyMiwgNDUpOworCisgICAgICAgICAgICBm
bG9hdDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDIgZXhwZWN0ZWQg
PSBmbG9hdDIoMjQ3LCA3MTYpOworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVkID09
IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBj
YWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCB0cnVlKTsKK307CisKK3dobHNs
VGVzdHMubWF0TXVsMyA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAg
ICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0MngyIGEgPSBmbG9hdDJ4MigKKyAg
ICAgICAgICAgICAgICBmbG9hdDIoMSwgMiksCisgICAgICAgICAgICAgICAgZmxvYXQyKDMsIDQp
CisgICAgICAgICAgICApOworCisgICAgICAgICAgICBmbG9hdDJ4MiBiID0gZmxvYXQyeDIoCisg
ICAgICAgICAgICAgICAgZmxvYXQyKDUsIDYpLAorICAgICAgICAgICAgICAgIGZsb2F0Mig3LCA4
KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQyeDIgcmVzdWx0ID0gbXVsKGEs
IGIpOworCisgICAgICAgICAgICBmbG9hdDJ4MiBleHBlY3RlZCA9IGZsb2F0MngyKAorICAgICAg
ICAgICAgICAgIGZsb2F0MigyMywgMzQpLAorICAgICAgICAgICAgICAgIGZsb2F0MigzMSwgNDYp
CisgICAgICAgICAgICApOworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVkID09IHJl
c3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBib29sIGJhcigpIHsKKyAgICAgICAgICAgIGZs
b2F0MngyIGIgPSBmbG9hdDJ4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoMSwgMiksCisgICAg
ICAgICAgICAgICAgZmxvYXQyKDMsIDQpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICBm
bG9hdDJ4MiBhID0gZmxvYXQyeDIoCisgICAgICAgICAgICAgICAgZmxvYXQyKDUsIDYpLAorICAg
ICAgICAgICAgICAgIGZsb2F0Mig3LCA4KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAg
ZmxvYXQyeDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDJ4MiBleHBl
Y3RlZCA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0MigxOSwgMjIpLAorICAgICAg
ICAgICAgICAgIGZsb2F0Mig0MywgNTApCisgICAgICAgICAgICApOworCisgICAgICAgICAgICBy
ZXR1cm4gYWxsKGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10p
LCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3Jh
bSwgICJiYXIiLCBbXSksIHRydWUpOworfTsKKword2hsc2xUZXN0cy5tYXRNdWw0ID0gYXN5bmMg
KCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkgeworICAg
ICAgICAgICAgZmxvYXQyeDQgYSA9IGZsb2F0Mng0KAorICAgICAgICAgICAgICAgIGZsb2F0NCgx
LCAyLCAzLCA0KSwKKyAgICAgICAgICAgICAgICBmbG9hdDQoNSwgNiwgNywgOCkKKyAgICAgICAg
ICAgICk7CisKKyAgICAgICAgICAgIGZsb2F0M3gyIGIgPSBmbG9hdDN4MigKKyAgICAgICAgICAg
ICAgICBmbG9hdDIoOSwgMTApLAorICAgICAgICAgICAgICAgIGZsb2F0MigxMSwgMTIpLAorICAg
ICAgICAgICAgICAgIGZsb2F0MigxMywgMTQpCisgICAgICAgICAgICApOworCisgICAgICAgICAg
ICBmbG9hdDN4NCByZXN1bHQgPSBtdWwoYSwgYik7CisKKyAgICAgICAgICAgIGZsb2F0M3g0IGV4
cGVjdGVkID0gZmxvYXQzeDQoCisgICAgICAgICAgICAgICAgZmxvYXQ0KDU5LCA3OCwgOTcsIDEx
NiksCisgICAgICAgICAgICAgICAgZmxvYXQ0KDcxLCA5NCwgMTE3LCAxNDApLAorICAgICAgICAg
ICAgICAgIGZsb2F0NCg4MywgMTEwLCAxMzcsIDE2NCkKKyAgICAgICAgICAgICk7CisKKyAgICAg
ICAgICAgIHJldHVybiBhbGwoZXhwZWN0ZWQgPT0gcmVzdWx0KTsKKyAgICAgICAgfQorICAgIGA7
CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJm
b28iLCBbXSksIHRydWUpOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxh
eW91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgt
bWVtb3J5LWxheW91dC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNjAs
MjAgKzYwLDIwIEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgIGNvbnN0IGJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKICAgICBjb25z
dCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlckFycmF5QnVmZmVy
KTsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAwOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVsxXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0gODsKLSAgICBidWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAxOworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVsxXSA9IDE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMjsK
KyAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAzOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IDQ7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzVdID0gNTsKLSAgICBidWZmZXJGbG9hdDMy
QXJyYXlbNl0gPSA5OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDEzOwotICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDI7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzldID0gNjsKKyAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA2OworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDc7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzhdID0gODsKKyAgICBidWZmZXJGbG9hdDMyQXJy
YXlbOV0gPSA5OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxMDsKLSAgICBidWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDM7Ci0g
ICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzE0
XSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxMTsKKyAgICBidWZmZXJGbG9h
dDMyQXJyYXlbMTJdID0gMTI7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDEzOworICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxNDsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTVd
ID0gMTU7CiAgICAgYnVmZmVyLnVubWFwKCk7CiAKQEAgLTk4LDIzICs5OCwyMyBAQCBhc3luYyBm
dW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBh
d2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7CiAgICAgaWYg
KHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT09IDEKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJB
cnJheVsxXSA9PT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09PSA5Ci0g
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDEzCisgICAgICAgICYmIHJlc3Vs
dHNGbG9hdDMyQXJyYXlbMV0gPT09IDIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsy
XSA9PT0gMworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzNdID09PSA0CiAKLSAgICAg
ICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0gMgorICAgICAgICAmJiByZXN1bHRzRmxv
YXQzMkFycmF5WzRdID09PSA1CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNV0gPT09
IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0gMTAKLSAgICAgICAgJiYg
cmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PT0gMTQKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJB
cnJheVs2XSA9PT0gNworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzddID09PSA4CiAK
LSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9PT0gMwotICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzldID09PSA3CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
OF0gPT09IDkKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs5XSA9PT0gMTAKICAgICAg
ICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMF0gPT09IDExCi0gICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbMTFdID09PSAxNQorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEx
XSA9PT0gMTIKIAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEyXSA9PT0gNAotICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEzXSA9PT0gOAotICAgICAgICAmJiByZXN1bHRz
RmxvYXQzMkFycmF5WzE0XSA9PT0gMTIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsx
Ml0gPT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTNdID09PSAxNAorICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTUKICAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVsxNV0gPT09IDE2KQogICAgICAgICB0ZXN0UGFzc2VkKCIiKTsKICAgICBl
bHNlCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5odG1sCShyZXZpc2lvbiAyNDky
MjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTY3LDIwICs2NywyOCBAQCBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2Ug
ZmxvYXRbCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0eVR3b1sxMzM3XSA9IDUwOworICAg
IGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm91cnR5VHdv
WzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5VHdvOwogICAgIGlmICghYWxsRXF1YWwo
Zm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0eVR3b1sxMDAwMDAwXSA9IDUw
OworICAgIGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm91
cnR5VHdvWzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5VHdvOwogICAgIGlmICghYWxs
RXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0MyBzaG91bGRCZVpl
cm8gPSBmb29bMTAwMDAwXTsKLSAgICBpZiAoc2hvdWxkQmVaZXJvLnggIT0gMCB8fCBzaG91bGRC
ZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisgICAgZmxvYXQzIHNob3VsZEJl
Rm91cnR5VHdvID0gZm9vWzEwMDAwMF07CisgICAgaWYgKHNob3VsZEJlRm91cnR5VHdvLnggIT0g
NDIgfHwgc2hvdWxkQmVGb3VydHlUd28ueSAhPSA0MiB8fCBzaG91bGRCZUZvdXJ0eVR3by56ICE9
IDQyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm91cnR5VHdvWzEwMDAwMDAwXSAhPSAw
KQorICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDQyKQogICAgICAgICByZXR1cm47CiAK
ICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJbdWludCh0aHJlYWRJRC54KV0g
KiAyLjA7CkBAIC0xNDUsNyArMTUzLDcgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7
CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKICAgICAgICAgdGVzdFBh
c3NlZCgiIik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKKyAgICAgICAgdGVz
dEZhaWxlZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7CiB9CiB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbnVsbC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1vbm9tb3JwaGljIAorUEFTUyBu
dWxsSXNFcnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0bWw+CiA8bWV0YSBjaGFyc2V0
PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVz
dCBzdHJ1Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxlPgogPHNjcmlwdCBzcmM9Impz
L3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAKIDxzY3JpcHQ+CiBjb25zdCB3
aGxzbFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGljID0g
YXN5bmMgKCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBhc3luYyAoKSA9PgogewotICAg
IGxldCBwcm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIGludCBmb28o
dGhyZWFkIGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gKnB0cjsKQEAg
LTIxLDExICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpYyA9IGFz
CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7CiAgICAgICAgIH0KLSAg
ICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJi
YXIiLCBbXSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAg
dm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJlYWQgaW50KiB4OworICAgICAg
ICB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGJhcigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4OworICAgICAgICB9CisgICAg
YCk7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3JpcHQ+CiA8L2h0bWw+Ci0KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5j
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUg
KzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5j
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVm
ZXJlbmNlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVhZCBpbnQqOwotRm9vIGdldE51
bGxQdHIoKQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1Y3QgWFlaIHsKLSAgICBmbG9h
dCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQotW251bXRocmVhZHMoMiwgMSwg
MSldCi1jb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiBy
ZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKLSAg
ICBGb28gcHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAgKmdldE51bGxQdHIoKSA9IDQy
OwotICAgIGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0ciA9PSBnZXROdWxsUHRyKCkp
IHsKLSAgICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDApIHsKLSAgICAgICAgICAgICAg
ICB0aHJlYWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAgICAgICAgIFhZWiB4eXo7Ci0g
ICAgICAgICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAgICAgIHh5ei55ID0gMTsKLSAg
ICAgICAgICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKHh5ei56ID09IDEu
MCAmJiB4eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICp4eXpQdHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5eiA9ICp4eXpQdHI7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6LnkgPT0gMC4wICYmIHh5ei56
ID09IDAuMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCYqZ2V0TnVsbFB0cigpID09
IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJiooJipnZXROdWxsUHRy
KCkpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyW3Vp
bnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1v
ZHVsZSwgZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQotICAgIGNvbnN0IGJpbmRHcm91
cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlzaWJpbGl0eTog
NywgdHlwZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRz
OiBbYmluZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNv
bnN0IGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0ZVN0YWdlLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRl
Q29tcHV0ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
c2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDg7Ci0KLSAgICBjb25zdCBi
dWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUg
fCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNvbnN0IGJ1ZmZlciA9IGRldmlj
ZS5jcmVhdGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgYnVmZmVyQXJyYXlC
dWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IGJ1ZmZlckZs
b2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzFdID0gMjsK
LSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsz
XSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsKLSAgICBidWZmZXJGbG9hdDMy
QXJyYXlbNV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDc7Ci0gICAgYnVmZmVy
RmxvYXQzMkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IHJl
c3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5TVE9S
QUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JF
QUR9OwotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJlc3Vs
dHNCdWZmZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZlckJpbmRpbmcgPSB7YnVmZmVy
OiByZXN1bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5kR3JvdXBCaW5kaW5nID0ge2Jp
bmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAgICBjb25zdCBiaW5kR3JvdXBE
ZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBiaW5kaW5nczogW2JpbmRHcm91
cEJpbmRpbmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3Vw
KGJpbmRHcm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZp
Y2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb21tYW5kRW5jb2Rlci5jb3B5
QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVyLCAwLCBzaXplKTsKLSAgICBj
b25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNz
KCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7
Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAg
IGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKLSAgICBjb21wdXRlUGFzc0Vu
Y29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rl
ci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJd
KTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc3VsdHNCdWZmZXIu
bWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0MzJBcnJheSA9IG5ldyBGbG9h
dDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAocmVzdWx0c0Zsb2F0MzJBcnJh
eVswXSA9PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT0gNAotICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0
MzJBcnJheVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNF0gPT0gNQot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYKLSAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10g
PT0gOCkKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0RmFp
bGVkKCIiKTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19Ci13aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgdGVzdFBhc3Nl
ZCgiIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3Mt
Mi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFjY2Vz
cy0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nl
c3MtMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2It
YWNjZXNzLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsK
Kword2hsc2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAK
KyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4ID0gMzsKKyAg
ICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAy
NTsKKyAgICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisKKyAgICAgICAgaW50IGJhcigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBp
bnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJl
dHVybiB4WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJheigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7Cisg
ICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4WzFdOworICAg
ICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAgIGFzc2VydF9lcXVhbHMoYXdh
aXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSksIDApOworfTsKKworcnVuVGVz
dHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3
LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLVtudW10aHJl
YWRzKDIsIDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0
ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJl
YWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZmZXJbMTMzN10gPSAwLjA7CiAg
ICAgYnVmZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1NywxNCBAQCBhc3luYyBmdW5j
dGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21t
YW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNl
dFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJp
bmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgy
LCAxLCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMSwgMSwgMSk7CiAgICAg
Y29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCBy
ZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJy
YXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZlcik7Ci0gICAgaWYgKHJlc3Vs
dHNGbG9hdDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09
IDAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PSA0CiAgICAgICAgICYmIHJl
c3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzNdID09IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXgt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVy
YXRvci1zeW50YXgtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIG9wZXJhdG9yU3ludGF4IAorCkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXguaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxl
PlNvbWUgb3BlcmF0b3JzIHNob3VsZCBiZSBzeW50YXggZXJyb3JzLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xU
ZXN0cyA9IHt9OworCit3aGxzbFRlc3RzLm9wZXJhdG9yU3ludGF4ID0gYXN5bmMgKCkgPT4KK3sK
KyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBp
bnQgb3BlcmF0b3IuZm9vKEZvbykgeyByZXR1cm4gNDI7IH0KKyAgICBgKTsKKyAgICBhd2FpdCBj
aGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQgb3BlcmF0b3Iu
Zm9vPShGb28pIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwo
YAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciYu
Zm9vKEZvbykgeyBpbnQgeDsgcmV0dXJuICZ4OyB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVj
a0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQgb3BlcmF0b3JbXShG
b28sIHVpbnQpIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwo
YAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQgb3BlcmF0b3JbXT0oRm9vLCB1
aW50KSB7IHJldHVybiA0MjsgfQorICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAg
ICAgICAgc3RydWN0IEZvbyB7IH0KKyAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10oRm9v
LCB1aW50KSB7IGludCB4OyByZXR1cm4gJng7IH0KKyAgICBgKTsKK30KKworcnVuVGVzdHMod2hs
c2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVjdG9y
SW5kZXhBc3NpZ24gPSBhc3luYyAoKSAKICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAgICAg
IHhbMF0gPSAyMDsKICAgICAgICAgICAgIHhbMV0gPSAxMDsKLSAgICAgICAgICAgIHhbNTAwMF0g
PSAyMDsKKyAgICAgICAgICAgIHhbNTAwMF0gPSA0MDsKICAgICAgICAgICAgIHJldHVybiB4Lngg
LyB4LnkgKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3
YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQwIC8g
MTAgKyA0MCk7CiB9OwogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxv
YWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBAIHdobHNsVGVzdHMudmVj
dG9ySW5kZXhMb2FkID0gYXN5bmMgKCkgPT4KICAgICAgICAgICAgIGludDIgeDsKICAgICAgICAg
ICAgIHgueCA9IDIwOwogICAgICAgICAgICAgeC55ID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBd
ID0gMjA7CisgICAgICAgICAgICB4WzUwMDBdID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geFsw
XSAvIHhbMV0gKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgMik7CisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIDQw
LzEwICsgNDApOwogfTsKIAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJy
aWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAK
LQotUEFTUyBvdmVycmlkZVN1YnNjcmlwdFN0cnVjdCAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRT
dHJ1Y3RBbmREb1N0b3JlcyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2lu
dGVycyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVj
dGx5IAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1
YnNjcmlwdC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjggKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5UZXN0IG92ZXJyaWRlIHN1YnNj
cmlwdHMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVT
dWJzY3JpcHRTdHJ1Y3QgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAg
ICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7
Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyog
Zm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkK
LSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9
PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJu
IG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55
ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFdICogMzsKLSAgICAgICAg
fQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAzKTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1
YnNjcmlwdFN0cnVjdEFuZERvU3RvcmVzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3Jh
bSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAg
ICAgIGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRo
cmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGlu
ZGV4ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBp
ZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAg
ICAgIHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7
Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9vWzBdID0gNDk4OwotICAgICAg
ICAgICAgZm9vWzFdID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnggKyBmb28ueTsKLSAg
ICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13aGxzbFRlc3RzLm92ZXJyaWRl
U3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBw
cm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAg
ICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3Im
W10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAg
ICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55OwotICAg
ICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcih0aHJlYWQg
Rm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAoKmZvbylbMF0gKyAoKmZv
bylbMV07Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgIGZvby55
ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwotICAgICAgICB9Ci0gICAgYDsK
LSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10pLCA0OTggKyAxOSk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RB
bmRVc2VQb2ludGVyc0luY29ycmVjdGx5ID0gYXN5bmMgKCkgPT4KLXsKLSAgICBjaGVja0ZhaWwo
Ci0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGlu
dCB4OwotICAgICAgICAgICAgICAgIGludCB5OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
dGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpbnQgYmFyKHRocmVhZCBGb28q
IGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9v
WzFdOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IGZvbygpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgRm9vIGZvbzsKLSAgICAgICAgICAgICAgICBmb28ueCA9IDQ5ODsK
LSAgICAgICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAgICAgICAgIHJldHVybiBiYXIo
JmZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxzbFRl
c3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3RzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwogCiB3aGxzbFRlc3Rz
LnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+CiB7Ci0gICAgY29uc3QgcHJvZ3Jh
bSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBpbnQgb3BlcmF0b3IuZm9vKGlu
dCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7CkBAIC0zMCwxMCArMzAsNyBAQCB3
aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jCiAgICAgICAgICAgICBpbnQg
eDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAgICAgfQotICAgIGA7Ci0KLSAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA1
NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMuc2V0dGVyV2l0aE5vR2V0
dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyArNTMsNyBAQCB3aGxzbFRlc3RzLnNl
dHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNsVGVzdHMuc2V0dGVyV2l0aE5vR2V0
dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9YAor
ICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVjdCBCYXIgeyB9CiAgICAgICAgIGlu
dCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03NSwxNCArNzIsMTIgQEAgd2hsc2xU
ZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAogICAgICAgICAgICAgYmFyLmZvbyA9
IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAgICAgICAgIH0KLSAgICBgOwotICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSks
IDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hsc2xUZXN0cy5yZWN1cnNpdmVTZXR0
ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVj
a0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGludCB4OwogICAgICAg
ICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxzbFRlc3RzLnJlY3Vyc2l2ZVNldHRl
cnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFyLmMgPSA4OwogICAgICAgICAgICAg
cmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmIiwgW10pLCA4Myk7CisgICAg
YCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFzeW5jICgpID0+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRl
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAotUEFTUyBzaW1wbGVTZXR0ZXIgCitQ
QVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
c2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlwdD4KIGNvbnN0IHdobHNsVGVzdHMg
PSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBhc3luYyAoKSA9PiB7Cit3aGxzbFRl
c3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4gewogICAgIGxldCBwcm9ncmFtID0g
YAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGludCB4OwogICAgICAgICB9Ci0g
ICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQgZm9vKCkKICAgICAgICAgewogICAg
ICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54ID0gNzgwNDsKLSAgICAgICAgICAg
IHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNzgwNCk7Ci19OwotCi13aGxz
bFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAK
LSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAg
ICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnk9KEZvbyBmb28sIGlu
dCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLnggPSB2YWx1ZTsKLSAgICAgICAg
ICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueSA9IDc4MDQ7CiAgICAgICAg
ICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBgOwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1h
Y2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0KLVBBU1MgZmllbGRTaG91bGRCZU51
bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNj
ZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
c3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51bGwu
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMuZmllbGRTaG91bGRCZU51
bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0
IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICAg
ICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBmb28odWludCBpKSB7Ci0gICAgICAg
ICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJlYWQgRm9vKiBmb28gPSAmZm9vc1tp
XTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKLSAgICAgICAgICAg
IHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKLSAgICAgICAgfQotICAgIGA7Ci0K
LSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0gICAgICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludChpKV0pLCBm
YWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0s
ICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoMTAwMDAwMCldKSwg
dHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0s
ICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRydWUpOwotfTsKLQotcnVuVGVzdHMo
d2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNzLXRlc3QuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHdobHNsVGVzdHMuZmxvYXQ0eDR0ZXN0cyA9ICgp
ID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwgIlVwbG9hZCBhIGZsb2F0NHg0W10gYW5kIHN0b3Jl
IGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0gICAgY2hlY2tBcnJheXMoImZsb2F0NHg0IiwgInJl
dHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZsb2F0NCg0LCA1LCA2LCA3KSwgZmxv
YXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0LCAxNSkpOyIsIFtdLCBmbG9hdDR4
NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0eDQiLCAicmV0dXJuIGZsb2F0NHg0
KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0KDQsIDUsIDYsIDcpLCBmbG9hdDQoOCwgOSwgMTAs
IDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1KSk7IiwgW10sIGZsb2F0NHg0Q29sdW1uRXhwZWN0
ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJyZXR1cm4gaW4wOyIsIFtmbG9hdDR4
NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3RlZCk7CiAgICAgbGV0IG11bHRpcGxlNHg0YXJncyA9
IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkgewpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxz
Y3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFj
dC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxv
YXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9z
aXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxv
YXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0g
ICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9v
IG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3Iu
dz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJh
Z21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7
Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55
LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBz
aGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3Vy
Y2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9k
dWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNv
bnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0
ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAg
ICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAg
IGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwg
Y29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAg
ICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmli
dXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3Qg
aW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBj
b25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhC
dWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0g
e2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmlj
ZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0
YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywg
ZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBw
aXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRl
UmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2Fn
ZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZm
ZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlC
dWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0g
ICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBz
d2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAg
IGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRl
c2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVu
dFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUu
Y3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNl
LmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6
IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1l
bnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVh
ciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9y
ID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0
IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5k
ZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBb
dmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAs
IDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5k
QnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCku
c3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rp
b24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5j
dGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShj
YW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2Fy
ZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhw
ZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5k
ZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNj
cmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0z
LWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAi
PjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9h
dDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3Np
dGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9h
dCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAg
ICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJl
YWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJuICZiLT56Owot
fQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3Im
LnEodGhyZWFkIEJheiogYikgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5x
LncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53LnksIGIucS53Lnks
IDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNo
YWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJj
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLWV4
cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1
ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVy
LWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRocmVhZCBGb28q
IGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6Owot
fQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0gICAgcmV0dXJu
ICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIu
dy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTog
c2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJh
Z21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50
U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAi
OwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxN
b2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
ckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5v
cm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9y
V3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAK
LSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9h
dDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0
cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRl
eElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4
U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3Rh
dGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNv
dW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRF
WCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5j
KCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJi
Z3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2Fw
Q2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3
YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3
ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25z
dCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2ht
ZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51
bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07
Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdp
blJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRW
ZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwot
ICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBk
ZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2FuZGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZh
cz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRl
eFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewot
ICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0K
LQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJu
ICZmLT54OwotfQotCi1Gb28gZ2VuZXJhdGVGb28oKSB7Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0g
MS4wOwotICAgIHJldHVybiBmOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIo
KSA6IFNWX1RhcmdldCAwIHsKLSAgICByZXR1cm4gZmxvYXQ0KGdlbmVyYXRlRm9vKCkueSwgZ2Vu
ZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9u
IHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVT
aGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0g
ICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJp
YW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6
ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAg
ICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1h
dDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07
IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0g
bnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBm
b3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmli
dXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAg
IGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25z
dCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0
ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5w
dXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBy
ZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXpl
OiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZl
clVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5t
YXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3
IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEx
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdl
dENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNl
LCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5j
b25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0
VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1
dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAg
Y29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8g
e30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3Qg
Y29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29s
dmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJD
b2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhT
dGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5k
RW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5p
c2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZp
Y2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0
ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2dldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDExMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBm
bG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Q
b3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBm
bG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgRm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoZi55LCBmLnksIGYu
eSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qg
c2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291
cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVu
dHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21v
ZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBj
b25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFz
dGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0g
ICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAg
ICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQs
IGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0g
ICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJp
YnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0
IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAg
Y29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4
QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9
IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZp
Y2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAg
IGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRT
dGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMs
IGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDog
cGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0
ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxF
TUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNh
Z2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVm
ZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5
QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFy
cmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQot
ICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qg
c3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAg
ICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5E
ZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJl
bnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJl
LmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmlj
ZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBn
OiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2ht
ZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xl
YXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRv
ciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25z
dCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5k
ZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVu
ZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwg
W3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAw
LCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFu
ZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgp
LnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0
aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVu
Y3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUo
Y2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJz
dHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1h
bmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+
PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0
NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0
aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0
IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBp
bmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7
Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIu
ejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewotICAg
IGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMl1bM10gPSAxLjA7Ci0g
ICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2
YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxz
LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVj
dGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAi
PjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9h
dDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3Np
dGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9h
dCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQg
aW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6
OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0K
LQotdGhyZWFkIEJhciogb3BlcmF0b3ImW10odGhyZWFkIEJheiogYiwgdWludCBpbmRleCkgewot
ICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkg
OiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYlsxXVsyXVszXSA9IDEuMDsKLSAgICBy
ZXR1cm4gZmxvYXQ0KGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIDEuMCk7Ci19
Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVs
ZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAg
IGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
dmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0
aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25T
dGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFs
cGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5k
LCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3No
YWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7
c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0
cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlu
cHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3Vw
TGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBp
cGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1p
dGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5j
aWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5
b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBl
bGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVy
RGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICog
NCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklU
RX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3
YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsy
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEy
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRl
c2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dh
cENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgp
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZh
dWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29t
bWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwg
YTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0
VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVP
cDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0
YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JB
dHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2Ny
aXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5l
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZm
ZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBj
b21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2Nv
bW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2Up
IHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewot
ICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
YW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFz
PgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4
U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0g
ICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQot
Ci10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsK
LSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi10
aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAg
cmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNW
X1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzFdWzJdID0gMS4wOwotICAgIHJldHVybiBm
bG9hdDQoYlsxXVsyXSwgYlsxXVsyXSwgYlsxXVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rp
b24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0
ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsK
LSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0
cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFj
ZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9y
bWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9
XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUg
PSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAs
IGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRy
aWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0g
ICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0g
ICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJh
c3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJ
bnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0
IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3Np
emU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVy
Lm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMu
Z2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZp
Y2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0
LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAg
ICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAv
LyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25z
dCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVz
b2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVh
ckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsK
LSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1h
bmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZp
bmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwot
fQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRl
dmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1
YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExNSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3Np
dGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9u
OwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9w
ZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7
Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBGb28gZjsKLSAgICBmLnggPSAxLjA7Ci0g
ICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1Zf
VGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2VuZXJhdGVGb28oKVswXSwgZ2VuZXJhdGVG
b28oKVsxXSwgZ2VuZXJhdGVGb28oKVsyXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBj
b25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
ZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmds
ZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3
IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAi
cmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8g
R1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxs
OwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1h
dDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVT
ZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29u
c3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9
IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6
YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwg
c2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZs
b2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxv
YXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZv
cm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZp
Z3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQot
ICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xv
ckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRh
cmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9y
OiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBj
b25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNv
ZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVy
UGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQ
YXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgp
OwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9j
YW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdl
dHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+
Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhT
aGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0K
LWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZmxvYXQo
aW5kZXgpOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1Rhcmdl
dCAwIHsKLSAgICBGb28gZjsKLSAgICByZXR1cm4gZmxvYXQ0KGZbMV0sIGZbMV0sIGZbMV0sIDEu
MCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRl
ck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0p
OwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3Qg
cHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6
YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNv
bnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xv
ckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNv
bnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUw
ID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1
dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0
IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZl
cnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7Ymlu
ZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNy
ZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2Us
IHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0
aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVs
aW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5k
ZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4
QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1B
UF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2
ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBj
b25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBD
aGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29u
c3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4
dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVh
dGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3Jl
YXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwg
YjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDog
b3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwg
c3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7
Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFz
c0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBp
cGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0
ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7
Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihk
ZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9u
KCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFj
dC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1s
dmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNj
cmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsK
LWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwv
Y2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQg
dmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlv
biB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4
OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJu
IGYueDsKLX0KLQotRm9vIG9wZXJhdG9yW109KEZvbyBmLCB1aW50IGluZGV4LCBmbG9hdCB4KSB7
Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9v
IHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJu
IGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewot
ICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVjdCBCYXogewotICAgIEJhciBw
OwotfQotCi1CYXIgb3BlcmF0b3JbXShCYXogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBi
LnA7Ci19Ci0KLUJheiBvcGVyYXRvcltdPShCYXogYiwgdWludCBpbmRleCwgQmFyIGEpIHsKLSAg
ICBiLnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRT
aGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAgICBiWzJdWzNdWzRdID0gMS4w
OwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXVs0XSwgYlsyXVszXVs0XSwgYlsyXVszXVs0XSwg
MS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hh
ZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNl
fSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5
UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVs
ZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25z
dCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVy
aXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAg
Y29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNv
bG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0
ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlu
cHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29u
c3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVm
ZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHti
aW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNv
bnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFn
ZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRl
cHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlw
ZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJl
bmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2Uu
TUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVy
KHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVm
ZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5
QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAg
IGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dh
cENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBj
b25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNj
cmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRU
ZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNy
ZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5j
cmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAw
LCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50
OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIi
LCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9
IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQ
YXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVy
UGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3Zl
cnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAw
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1
ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1
Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9u
KGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rp
b24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2Fu
dmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1z
ZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVl
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZs
b2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bv
c2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZs
b2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICBy
ZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0
IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAg
ICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgpIHsKLSAgICBy
ZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5kZXgsIEZvbyBh
KSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9
IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10sIGJbMl1bM10sIDEuMCk7
Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1v
ZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwot
ICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50
OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNo
YWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJp
bWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRp
b25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0
IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3Qg
Y29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJs
ZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0
IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0g
e3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAg
PSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlu
cHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6
IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdy
b3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0
ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBy
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHBy
aW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0
ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5l
TGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQ
aXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVm
ZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0
ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9X
UklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0
ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9
IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZl
cik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25z
dCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFp
bkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qg
c3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRv
cik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVy
ZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVE
ZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRl
Q29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjog
MSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0
cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3Rv
cmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2ls
QXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29s
b3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVy
UGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rl
c2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhC
dWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIg
PSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQo
W2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZp
Y2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkg
ewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7
Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1leHBlY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWV4
cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1
ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9
IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29m
dHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2
YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYs
IHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQot
Ci1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImW10o
dGhyZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJh
Z21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7
Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1bM10s
IGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFn
ZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07
Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNv
bnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9u
ZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0g
e307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBo
YUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRz
LkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25z
dCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAg
ICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19
OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0g
e3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2Ny
aXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZy
YWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9y
U3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBs
YXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmlj
ZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNy
ZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
M10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFw
KCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAg
IGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3Jt
In07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dh
cENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5n
ZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0
VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIg
PSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7
cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7
YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRP
cDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29u
c3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rl
c2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBh
c3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZm
ZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXco
NCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0
IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0
UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhl
bihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsK
LX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNv
ZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNl
dHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9v
KiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsK
LSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVpbnQgaW5kZXgpIHsKLSAg
ICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIsIHVpbnQgaW5kZXgsIEZv
byBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0
IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgRm9vIGZv
bzsKLSAgICBmb28ueCA9IDEuMDsKLSAgICBiWzFdID0gZm9vOwotICAgIGZvbyA9IGJbMV07Ci0g
ICAgcmV0dXJuIGZsb2F0NChmb28ueCwgZm9vLngsIGZvby54LCAxLjApOwotfQotYDsKLQotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBm
dW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2Uu
Y3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0
ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRl
ciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVu
dHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5
ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJv
bnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0g
e307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0g
W3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNr
OiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxT
dGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlv
bjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYs
IGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQw
XTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0g
ICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtd
fTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91
dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9n
eSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZl
cnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAg
Y29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3Ig
PSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBH
UFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNv
bnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3Jp
cHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhC
dWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0g
PSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0g
PSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNh
bnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0g
e2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNv
bnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0
IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25z
dCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsK
LQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVy
KCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAg
IGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3
LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIs
IGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBu
dWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMs
IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0g
Y29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAg
ICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsK
LSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NF
bmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29k
ZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVy
XSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3Rh
cnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlv
bigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hp
dGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAw
Ij48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2Fy
ZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMt
bGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9z
ZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4K
LTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNo
YWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAg
IHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQot
ZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVy
YXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJuIGY7Ci19
Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3IudyhCYXIgYikg
ewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53PShCYXIgYiwgRm9vIGEpIHsK
LSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIg
cDsKLX0KLQotQmFyIG9wZXJhdG9yLnEoQmF6IGIpIHsKLSAgICByZXR1cm4gYi5wOwotfQotCi1C
YXogb3BlcmF0b3IucT0oQmF6IGIsIEJhciBhKSB7Ci0gICAgYi5wID0gYTsKLSAgICByZXR1cm4g
YjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7
Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53
LnksIGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRl
dmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1
bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVs
ZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3Qg
ZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdt
ZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3Ry
aXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1
bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBj
b2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4
dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNv
bG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAg
ICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJm
bG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBb
YXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZl
cnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVy
dGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9u
U3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBs
ZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBl
bGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMy
QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZF
UlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVy
ID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25z
dCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFz
eW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJB
cnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
N10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQo
ImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6
ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVT
d2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9
IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVW
aWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29t
bWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBj
b25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRh
Y2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6
IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVk
fV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0
YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5i
ZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5z
ZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NF
bmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygp
OwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAg
ICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2lj
RGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4o
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJh
Y2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2
YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVk
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0
cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBw
b3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0
aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRv
ci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBm
LCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJh
ciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvci53KEJhciBiKSB7Ci0gICAgcmV0dXJu
IGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9KEJhciBiLCBGb28gYSkgewotICAgIGIueiA9IGE7
Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDog
U1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAgIHJldHVybiBm
bG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3Rh
cnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRl
ck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBj
b25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
ZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmds
ZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3
IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAi
cmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8g
R1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxs
OwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1h
dDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVT
ZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29u
c3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9
IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6
YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwg
c2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRl
clBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZs
b2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNh
Z2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxv
YXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29u
dGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZv
cm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZp
Z3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQot
ICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xv
ckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRh
cmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9y
OiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBj
b25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNv
ZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVy
UGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQ
YXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgp
OwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0
QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4cGVjdGVk
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52
YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFz
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIo
ZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1
cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0
IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3Iu
eT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1z
dHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImLncodGhy
ZWFkIEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAx
LjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsK
LQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1h
c3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBk
ZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25z
dCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRl
eFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1
bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRv
cG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUg
PSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3Rh
dGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3Jp
dGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0
ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJM
b2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlk
ZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBb
aW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9
OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91
dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGlu
ZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVU
b3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3Rh
dGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07
Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2Ny
aXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9Owot
ICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVy
RGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2
ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAw
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4
dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlw
dG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFp
biA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAg
IGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZp
ZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRF
bmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9
OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1
cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJz
dG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNo
bWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNv
ZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9y
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0g
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwg
WzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFu
ZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5k
QnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0g
ICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBk
cmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377741</attachid>
            <date>2019-08-30 12:48:02 -0700</date>
            <delta_ts>2019-08-30 16:17:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2647358</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0
ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgV0hMU0wgaW4gYSBzaWduaWZpY2FudCB3YXku
IFRoaXMgcGF0Y2ggcmVtb3ZlcyBnZXR0ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGZyb20g
dGhlIGxhbmd1YWdlLiBJbiBvdXIgZXhwZXJpZW5jZSB3cml0aW5nIFdITFNMIHNoYWRlcnMsIHRo
ZXNlIHBhcnRzIG9mIHRoZSBsYW5ndWFnZQorICAgICAgICB3ZW50IHVudXNlZCwgYW5kIHRoZXkg
YWRkZWQgYSBsb3Qgb2YgY29tcGxleGl0eSB0byB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNv
bXBpbGVyLgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBub3cgdHJlYXRzIGZpZWxkIGFj
Y2Vzc2VzIGFuZCBhcnJheSBpbmRleGVzIGFzIGludHJpbnNpY3MgaW5zaWRlIHRoZSBjb21waWxl
ci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBub3Rpb25zIG9mIG5hbWVkIG9wZXJh
dG9ycywgYW5kZXJzLCBhbmQgaW5kZXhlZCBvcGVyYXRvcnMKKyAgICAgICAgZnJvbSB0aGUgY29t
cGlsZXIgYW5kIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LiBUaGUgY2hlY2tlciBub3cgaW50cmluc2lj
YWxseSBrbm93cyB0aGUKKyAgICAgICAgcmV0dXJuIHR5cGUgZm9yIHByb3BlcnR5IGFjY2Vzc2Vz
IGFuZCBpbmRleGVkIGV4cHJlc3Npb25zIGJhc2VkIG9uIHdoYXQgdGhlCisgICAgICAgIGJhc2Ug
dHlwZSBpcy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIGluIHByYWN0aWNl
IHdhcyBkaWZmaWN1bHQsIHNpbmNlIGdldHRlcnMvc2V0dGVycy9hbmRlcnMKKyAgICAgICAgc29s
dmVkIGEgbG90IG9mIHRoZSBkaWZmaWN1bHQgcHJvYmxlbXMgd2UgaGFkIGluIGdlbmVyYXRpbmcg
bWV0YWwgY29kZS4gRm9yCisgICAgICAgIGV4YW1wbGUsIGFsbCBzd2l6emxlIG9wZXJhdG9ycyB3
ZXJlIGdldHRlcnMgYW5kIHNldHRlcnMsIHNvIGFzc2lnbmluZyB0byBhCisgICAgICAgIHN3aXp6
bGUgZmVsbCBvdXQgbmF0dXJhbGx5IGZyb20gaW1wbGVtZW50aW5nIHNldHRlcnMuIEhvd2V2ZXIs
IGR1cmluZyBtZXRhbAorICAgICAgICBjb2RlZ2VuLCBhbGwgd2Ugc2VlIGlzIGEgZG90IGV4cHJl
c3Npb24gd2l0aCAieHkiIGFzIGEgcHJvcGVydHkuIE91ciBwcmV2aW91cworICAgICAgICBhcmNo
aXRlY3R1cmUgb2YgZW1pdHRpbmcgTWV0YWwgY29kZSB1c2luZyBwb2ludGVycyB3aGljaCByZXBy
ZXNlbnQgbHZhbHVlcworICAgICAgICBkb2Vzbid0IHdvcmsgYmVjYXVzZSB5b3UgY2FuJ3QgdGFr
ZSB0aGUgYWRkcmVzcyBvZiBhIHN3aXp6bGUuIEZvciBleGFtcGxlLAorICAgICAgICAiYXV0byog
eCA9ICZ2ZWN0b3IueXoiIGlzIGludmFsaWQgbWV0YWwgY29kZS4KKyAgICAgICAgCisgICAgICAg
IFNvLCB0aGlzIHBhdGNoIGNoYW5nZXMgdGhlIGVudGlyZSBtZXRhbCBjb2RlIGdlbmVyYXRvciB0
byBlbWl0IFdITFNMIGV4cHJlc3Npb25zCisgICAgICAgIGFzIE1ldGFsIGV4cHJlc3Npb25zLiBU
byBkbyB0aGlzLCBJIGhhZCB0byBjaGFuZ2UgYSBsb3QgYWJvdXQgaG93IHRoZSBjb21waWxlcgor
ICAgICAgICB3YXMgaW1wbGVtZW50ZWQ6CisgICAgICAgIC0gSSBjaGFuZ2VkIHRoZSBpbmRleGVk
IGFjY2Vzc2VzIG9mIG1hdHJpY2VzIHRvIHJldHVybiBjb2x1bW5zIGluc3RlYWQgb2YKKyAgICAg
ICAgcm93cy4gVGhpcyBhbGxvd2VkIFdITFNMIGNvZGUgbGlrZSBgbWF0WzBdLnh5ID0gNDJgIHRv
IGJlIGNvbXBpbGVkIGludG8KKyAgICAgICAgdGhlIGVxdWl2YWxlbnQgbWV0YWwgY29kZSBvZiBg
bWF0WzBdLnh5ID0gNDJgLgorICAgICAgICAtIEkgY2hhbmdlZCB0aGUgbmF0aXZlIGZ1bmN0aW9u
IGlubGluZXIgdG8gZW1pdCBleHByZXNzaW9ucyBpbnN0ZWFkIG9mCisgICAgICAgIHN0YXRlbWVu
dHMuCisgICAgICAgIC0gV2UgYWxzbyBzaW1wbGlmeSB0aGUgbGFuZ3VhZ2UgYnkgcmVtb3Zpbmcg
bnVsbCBhbmQgcmVxdWlyaW5nIGFsbAorICAgICAgICByZWZlcmVuY2UgdHlwZSB2YXJpYWJsZXMg
dG8gaGF2ZSBhbiBpbml0aWFsaXplci4gVGhpcyBtZWFucyB0aGF0CisgICAgICAgIG51bGwgaXMg
bm8gbG9uZ2VyIGEgdmFsaWQgdmFsdWUsIHdoaWNoIGFsbG93cyB1cyB0byBvbWl0IG51bGwgY2hl
Y2tzCisgICAgICAgIGluc2lkZSB0aGUgbWV0YWwgY29kZSBnZW5lcmF0b3IuIFRvIG1ha2UgdGhp
cyB3b3JrIHdpdGggYXJyYXkKKyAgICAgICAgYWNjZXNzZXMsIHdlIG5vdyBjbGFtcCBhY2Nlc3Nl
cyBpbnN0ZWFkIG9mIHJldHVybmluZyBudWxsIGZvciBPT0IKKyAgICAgICAgYWNjZXNzZXMuCisK
KyAgICAgICAgVGVzdHM6IHdlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAorICAg
ICAgICAgICAgICAgd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCisgICAgICAgICAg
ICAgICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCisgICAgICAgICAgICAg
ICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHdl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAorICAgICAgICAgICAgICAgd2ViZ3B1L3dobHNs
L29wZXJhdG9yLXN5bnRheC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xBU1QuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xD
b25zdGFudEV4cHJlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xEb3RFeHByZXNzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpFeHBy
ZXNzaW9uOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Np
b246OmRlc3RydWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVy
RnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5kZXJGdW5jdGlvbk5hbWUgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Np
b24uaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Npb246OmNvcHlUeXBl
VG8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6RXhwcmVzc2lvbjo6aXNN
YWtlUG9pbnRlckV4cHJlc3Npb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VDo6RXhwcmVzc2lvbjo6aXNOdWxsTGl0ZXJhbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW5kZXhFeHByZXNzaW9uLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTE51bGxMaXRlcmFsVHlwZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5j
dGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjp0aHJlYWRBbmRlckZ1bmN0
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRHZXR0ZXJGdW5jdGlv
bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb246OnNldEFuZGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOjpzZXRUaHJlYWRBbmRlckZ1
bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbjo6c2V0U2V0dGVyRnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlR5cGU6OmRlc3Ryb3kpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VHlwZTo6ZGVzdHJ1Y3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNhblJlc29sdmUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNpb25Db3N0
IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc0ludGVnZXJMaXRlcmFsVHlw
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpUeXBlOjppc051bGxMaXRl
cmFsVHlwZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wv
TWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6SG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9y
OjpIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNvcmU6
OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0TG9vcCk6CisgICAg
ICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1p
dENvbnN0YW50RXhwcmVzc2lvblN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0
YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJp
bGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmlnaHRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kTGVm
dFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZh
bHVlQW5kTnVsbGFiaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1l
dGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnRha2VMYXN0TGVmdFZhbHVlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdl
bmVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6Om1ldGFsQ29kZVBy
b2xvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6Z2VuZXJhdGVNZXRhbENv
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjptZXRhbENvZGVQcm9sb2cpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZl
RnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjppbmxp
bmVOYXRpdmVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OnZlY3Rv
cklubmVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXSExTTDo6TWV0YWw6OndyaXRlTmF0aXZlVHlwZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VER1bXBlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNU
RHVtcGVyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tEdXBsaWNh
dGVGdW5jdGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZUJ5SW5zdGFudGlhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tPcGVyYXRvck92ZXJsb2FkKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2VyOjp3cmFwcGVkVWludFR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6Om5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNv
cmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Q2hl
Y2tlcjo6cmVzb2x2ZUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2Vy
Ojphc3NpZ25Db25jcmV0ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVX
aXRoT3BlcmF0b3JMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNo
ZWNrZXI6OmdlbmVyaWNQb2ludGVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6Q2hlY2tlcjo6ZmluaXNoVmlzaXRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6ZmluZEhpZ2hab21iaWVzKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6Y29tbWl0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpJbnRyaW5zaWNzOjpib29sVmVjdG9yVHlw
ZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkludHJpbnNpY3M6OnVp
bnRWZWN0b3JUeXBlRm9yU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6SW50
cmluc2ljczo6aW50VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OkludHJpbnNpY3M6OmZsb2F0VmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxleGVyOjpjb25zdW1lVG9rZW5Gcm9tU3RyZWFtKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHA6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlBhcnNlcjo6cGFyc2VDb25zdGFudEV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OlBhcnNlcjo6cGFyc2VFbnVtZXJhdGlvbk1lbWJlcik6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6UGFyc2VyOjpwYXJzZVRlcm0pOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJlcGFyZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cHJlcGFy
ZVNoYXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvZ3JhbTo6aXNWYWxpZFZlY3Rv
clByb3BlcnR5KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
aDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6d3JhcEFuZGVyQ2FsbEFyZ3VtZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjphbmRlckNhbGxBcmd1bWVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6c2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6Z2V0dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6bW9kaWZ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0
eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkxlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UHJvcGVydHlSZXNvbHZlcjo6c2ltcGxp
ZnlMZWZ0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHA6CisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0OgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmg6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlv
bnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucyk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpWaXNpdG9yOjp2aXNpdCk6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmg6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5
LTA4LTI5ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBD
b3B5aW5nIGFuZCBwYXN0aW5nIHR3byBwYXJhZ3JhcGhzIHdpdGggYSBuZXdsaW5lIGJldHdlZW4g
dGhlbSByZXN1bHRzIGluIHN0cmF5IHBhcmFncmFwaCB3aXRoIG5ld2xpbmUgaW5zaWRlLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTYsMTAgKzMxNiw4IEBAIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMR2F0aGVy
RW50cnlQb2ludEl0ZW1zLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVjdXJzaXZlVHlw
ZUNoZWNrZXIuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQ29u
c3RydWN0b3JzLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVy
YXRpb25GdW5jdGlvbnMuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVT
dHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNp
Y3MuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tl
ci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTmFtZUNvbnRleHQuY3BwCkBAIC0zMzEs
NiArMzI5LDcgQEAgTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcAogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRpY01hdGNoZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKK01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3Jh
bS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMVHlwZU5hbWVyLmNwcAogTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2VuZXJhdG9yLmNwcApAQCAtMzQ3LDcg
KzM0Niw2IEBAIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFNwZWNpYWxpemEKIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFN0YWdlSW5PdXRTZW1hbnRpYy5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuY3BwCi1Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFN0YXRlbWVudC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGUuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TEFTVER1bXBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMwMiwxMiArMzAyLDYgQEAgdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Rmxv
YXRMaXRlcmFsJgogICAgIG1fb3V0LnByaW50KGZsb2F0TGl0ZXJhbC52YWx1ZSgpKTsKIH0KIAot
dm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewot
ICAgIG1fb3V0LnByaW50KCJudWxsIik7Ci0gICAgdmlzaXQobnVsbExpdGVyYWwudHlwZSgpKTsK
LX0KLQogdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5M
aXRlcmFsKQogewogICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQpAQCAtMzI4LDEwICsz
MjIsNiBAQCB2b2lkIEFTVER1bXBlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUCiB7CiB9CiAK
LXZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpCi17Ci19Ci0KIHZv
aWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsKQogewogICAgIG1fb3V0LnByaW50KGVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbC5sZWZ0KCksICIuIiwgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLnJpZ2h0KCkpOwpA
QCAtNDI1LDcgKzQxNSw2IEBAIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkV4cHJlc3Npb24m
IGUKICAgICBib29sIHNraXBQYXJlbnMgPSBpczxBU1Q6OkJvb2xlYW5MaXRlcmFsPihleHByZXNz
aW9uKQogICAgICAgICB8fCBpczxBU1Q6OkZsb2F0TGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAg
ICAgfHwgaXM8QVNUOjpJbnRlZ2VyTGl0ZXJhbD4oZXhwcmVzc2lvbikKLSAgICAgICAgfHwgaXM8
QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpVbnNpZ25l
ZEludGVnZXJMaXRlcmFsPihleHByZXNzaW9uKQogICAgICAgICB8fCBpczxBU1Q6OkVudW1lcmF0
aW9uTWVtYmVyTGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpDb21tYUV4
cHJlc3Npb24+KGV4cHJlc3Npb24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEFTVER1bXBlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcxLDEyICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aXNpdChB
U1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2ln
bmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2
aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6RnVuY3Rpb25BdHRyaWJ1dGUmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TnVt
VGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJikgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENo
ZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwyNCArMTIyLDcgQEAgcHJpdmF0ZToKIEV4cGVjdGVk
PHZvaWQsIEVycm9yPiBjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucyhjb25zdCBQcm9ncmFtJiBwcm9n
cmFtKQogewogICAgIGF1dG8gcGFzc2VzU3RhdGljQ2hlY2tzID0gWyZdIChjb25zdCBBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uKSAtPiBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gewot
ICAgICAgICBpZiAoZnVuY3Rpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIgJiYgZnVuY3Rpb24u
cGFyYW1ldGVycygpLnNpemUoKSA9PSAyCi0gICAgICAgICAgICAmJiBpczxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpKSB7Ci0gICAgICAgICAgICBhdXRvJiB0eXBlID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpUeXBlUmVmZXJlbmNlPih0
eXBlKSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYxIFNob3VsZG4ndCB3ZSBhbHJlYWR5IGtub3cgd2hldGhl
ciB0aGUgdHlwZXMgaGF2ZSBiZWVuIHJlc29sdmVkIGJ5IG5vdz8KLSAgICAgICAgICAgICAgICBp
ZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPih0eXBl
KS5tYXliZVJlc29sdmVkVHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpczxBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oKnJlc29sdmVkVHlwZSkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPigqcmVzb2x2ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRpb24ubmFtZSgpID09ICJ1aW50IikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBk
ZWZpbmUgYXJyYXkgcmVmZXJlbmNlIGFuZGVyLiIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChmdW5j
dGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgZnVuY3Rpb24ucGFyYW1ldGVycygp
LnNpemUoKSA9PSAxCi0gICAgICAgICAgICAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+
KHN0YXRpY19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKQotICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHN0YXRp
Y19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCkpKSkpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNh
bm5vdCBkZWZpbmUgb3BlcmF0b3IubGVuZ3RoIGZvciBhbiBhcnJheS4iKSk7Ci0gICAgICAgIGVs
c2UgaWYgKGZ1bmN0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKKyAgICAgICAgaWYgKGZ1bmN0
aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIKICAgICAgICAgICAgICYmIGZ1bmN0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMgogICAgICAgICAgICAgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBl
PihzdGF0aWNfY2FzdDxjb25zdCBBU1Q6OlVubmFtZWRUeXBlJj4oKmZ1bmN0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpKSkKICAgICAgICAgICAgICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4o
c3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJz
KClbMV0tPnR5cGUoKSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5OSw3NiArMTk5LDYgQEAgcHJpdmF0ZToKICAgICBBU1Q6Ok5hbWVkVHlwZSog
bV9jYXN0UmV0dXJuVHlwZTsKIH07CiAKLWNsYXNzIEFuZE92ZXJsb2FkVHlwZUtleSB7Ci1wdWJs
aWM6Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5KCkgPSBkZWZhdWx0OwotICAgIEFuZE92ZXJsb2Fk
VHlwZUtleShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgewotICAgICAgICBt
X3R5cGUgPSBiaXR3aXNlX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSo+KHN0YXRpY19jYXN0PHVpbnRw
dHJfdD4oMSkpOwotICAgIH0KLQotICAgIEFuZE92ZXJsb2FkVHlwZUtleShBU1Q6OlVubmFtZWRU
eXBlJiB0eXBlLCBBU1Q6OkFkZHJlc3NTcGFjZSBhZGRyZXNzU3BhY2UpCi0gICAgICAgIDogbV90
eXBlKCZ0eXBlKQotICAgICAgICAsIG1fYWRkcmVzc1NwYWNlKGFkZHJlc3NTcGFjZSkKLSAgICB7
IH0KLQotICAgIGJvb2wgaXNFbXB0eVZhbHVlKCkgY29uc3QgeyByZXR1cm4gIW1fdHlwZTsgfQot
ICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gYml0d2lzZV9jYXN0PEFTVDo6VW5uYW1lZFR5cGUqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+
KDEpKTsgfQotCi0gICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gSW50SGFzaDx1aW50OF90Pjo6aGFzaChzdGF0aWNfY2FzdDx1aW50OF90PihtX2FkZHJlc3NT
cGFjZSkpIF4gbV90eXBlLT5oYXNoKCk7Ci0gICAgfQotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gbV9hZGRyZXNzU3BhY2UgPT0gb3RoZXIubV9hZGRyZXNzU3BhY2UKLSAgICAgICAgICAgICYm
ICptX3R5cGUgPT0gKm90aGVyLm1fdHlwZTsKLSAgICB9Ci0KLSAgICBzdHJ1Y3QgSGFzaCB7Ci0g
ICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYga2V5
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4ga2V5Lmhhc2goKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgYSwg
Y29uc3QgQW5kT3ZlcmxvYWRUeXBlS2V5JiBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gYSA9PSBiOwotICAgICAgICB9Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRv
Q29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFRy
YWl0cyA6IHB1YmxpYyBXVEY6OlNpbXBsZUNsYXNzSGFzaFRyYWl0czxBbmRPdmVybG9hZFR5cGVL
ZXk+IHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24g
PSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5VmFsdWUoY29uc3QgQW5kT3Zlcmxv
YWRUeXBlS2V5JiBrZXkpIHsgcmV0dXJuIGtleS5pc0VtcHR5VmFsdWUoKTsgfQotICAgIH07Ci0K
LXByaXZhdGU6Ci0gICAgQVNUOjpVbm5hbWVkVHlwZSogbV90eXBlIHsgbnVsbHB0ciB9OwotICAg
IEFTVDo6QWRkcmVzc1NwYWNlIG1fYWRkcmVzc1NwYWNlOwotfTsKLQotc3RhdGljIEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKENv
ZGVMb2NhdGlvbiBsb2NhdGlvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUmIGZpcnN0QXJndW1l
bnQsIGNvbnN0IEludHJpbnNpY3MmIGludHJpbnNpY3MpCi17Ci0gICAgY29uc3QgYm9vbCBpc09w
ZXJhdG9yID0gdHJ1ZTsKLSAgICBhdXRvIHJldHVyblR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpj
cmVhdGUobG9jYXRpb24sIGZpcnN0QXJndW1lbnQuYWRkcmVzc1NwYWNlKCksIGZpcnN0QXJndW1l
bnQuZWxlbWVudFR5cGUoKSk7Ci0gICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0
ZXJzOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURl
Y2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksICZmaXJzdEFyZ3VtZW50LCBT
dHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZp
ZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwgaW50cmluc2ljcy51aW50
VHlwZSgpKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpO
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlv
biwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlw
ZSksIFN0cmluZygib3BlcmF0b3ImW10iLCBTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0
YW5kYXJkTGlicmFyeSkpOwotfQotCi1zdGF0aWMgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uIHJlc29sdmVXaXRoT3BlcmF0b3JMZW5ndGgoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBBU1Q6
OlVubmFtZWRUeXBlJiBmaXJzdEFyZ3VtZW50LCBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNz
KQotewotICAgIGNvbnN0IGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgYXV0byByZXR1cm5U
eXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBpbnRyaW5zaWNzLnVpbnRU
eXBlKCkpOwotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICBw
YXJhbWV0ZXJzLmFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4o
bG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCAmZmlyc3RBcmd1bWVudCwgU3RyaW5nKCksIG51
bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9j
aygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3Iu
bGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVy
cyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsK
LX0KLQogc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aFJl
ZmVyZW5jZUNvbXBhcmF0b3IoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBSZXNvbHZpbmdUeXBlJiBm
aXJzdEFyZ3VtZW50LCBSZXNvbHZpbmdUeXBlJiBzZWNvbmRBcmd1bWVudCwgY29uc3QgSW50cmlu
c2ljcyYgaW50cmluc2ljcykKIHsKICAgICBjb25zdCBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwpA
QCAtMjk5LDM4ICsyMjksMTMgQEAgZW51bSBjbGFzcyBBY2NlcHRhYmlsaXR5IHsKIAogc3RhdGlj
IE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4gcmVzb2x2ZUJ5SW5zdGFu
dGlhdGlvbihjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiBsb2NhdGlvbiwgY29uc3Qg
VmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBlcywgY29u
c3QgSW50cmluc2ljcyYgaW50cmluc2ljcykKIHsKLSAgICBpZiAobmFtZSA9PSAib3BlcmF0b3Im
W10iICYmIHR5cGVzLnNpemUoKSA9PSAyKSB7Ci0gICAgICAgIGF1dG8qIGZpcnN0QXJndW1lbnRB
cnJheVJlZiA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoW10oUmVmPEFT
VDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUq
IHsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nh
c3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuICZkb3duY2FzdDxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpV
bm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYpIC0+IEFTVDo6
QXJyYXlSZWZlcmVuY2VUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgfSkpOwotICAgICAgICBib29sIHNlY29uZEFyZ3VtZW50SXNVaW50ID0gdHlwZXNbMV0uZ2V0
KCkudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5h
bWVkVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh1bm5hbWVkVHlw
ZSwgaW50cmluc2ljcy51aW50VHlwZSgpKTsKLSAgICAgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBib29sIHsKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUo
KS5jYW5SZXNvbHZlKGludHJpbnNpY3MudWludFR5cGUoKSk7Ci0gICAgICAgIH0pKTsKLSAgICAg
ICAgaWYgKGZpcnN0QXJndW1lbnRBcnJheVJlZiAmJiBzZWNvbmRBcmd1bWVudElzVWludCkKLSAg
ICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKGxvY2F0aW9u
LCAqZmlyc3RBcmd1bWVudEFycmF5UmVmLCBpbnRyaW5zaWNzKTsKLSAgICB9IGVsc2UgaWYgKG5h
bWUgPT0gIm9wZXJhdG9yLmxlbmd0aCIgJiYgdHlwZXMuc2l6ZSgpID09IDEpIHsKLSAgICAgICAg
YXV0byogZmlyc3RBcmd1bWVudFJlZmVyZW5jZSA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6
bWFrZVZpc2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNU
OjpVbm5hbWVkVHlwZSogewotICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPihzdGF0aWNfY2FzdDxBU1Q6OlVubmFtZWRUeXBlJj4odW5uYW1lZFR5cGUpKSB8fCBpczxB
U1Q6OkFycmF5VHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBl
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHVubmFtZWRUeXBlLnB0cigpOwotICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJl
ZmVyZW5jZT4mKSAtPiBBU1Q6OlVubmFtZWRUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgfSkpOwotICAgICAgICBpZiAoZmlyc3RBcmd1bWVudFJlZmVyZW5jZSkK
LSAgICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yTGVuZ3RoKGxvY2F0aW9uLCAq
Zmlyc3RBcmd1bWVudFJlZmVyZW5jZSwgaW50cmluc2ljcyk7Ci0gICAgfSBlbHNlIGlmIChuYW1l
ID09ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgeworICAgIGlmIChuYW1lID09
ICJvcGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgewogICAgICAgICBhdXRvIGFjY2Vw
dGFiaWxpdHkgPSBbXShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKSAtPiBBY2NlcHRhYmls
aXR5IHsKICAgICAgICAgICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZp
c2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQWNjZXB0YWJp
bGl0eSB7CiAgICAgICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdW5uYW1lZFR5cGUtPnVu
aWZ5Tm9kZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6OlVubmFtZWRUeXBlPih1
bmlmeU5vZGUpICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNhc3Q8QVNUOjpVbm5hbWVk
VHlwZT4odW5pZnlOb2RlKSkgPyBBY2NlcHRhYmlsaXR5OjpZZXMgOiBBY2NlcHRhYmlsaXR5OjpO
bzsKLSAgICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBBY2NlcHRhYmlsaXR5IHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlUmVmZXJlbmNl
LT5yZXNvbHZhYmxlVHlwZSgpKSA/IEFjY2VwdGFiaWxpdHk6Ok1heWJlIDogQWNjZXB0YWJpbGl0
eTo6Tm87CisgICAgICAgICAgICB9LCBbXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+
JikgLT4gQWNjZXB0YWJpbGl0eSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFjY2VwdGFiaWxp
dHk6Ok5vOwogICAgICAgICAgICAgfSkpOwogICAgICAgICB9OwogICAgICAgICBhdXRvIGxlZnRB
Y2NlcHRhYmlsaXR5ID0gYWNjZXB0YWJpbGl0eSh0eXBlc1swXS5nZXQoKSk7CkBAIC00MjcsOTcg
KzMzMiwxMyBAQCBzdGF0aWMgYm9vbCBjaGVja1NlbWFudGljcyhWZWN0b3I8RW50cnlQCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGNoZWNrT3BlcmF0b3JPdmVybG9hZChjb25z
dCBBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uLCBOYW1lQ29udGV4
dCYgbmFtZUNvbnRleHQsIEFTVDo6TmFtZVNwYWNlIGN1cnJlbnROYW1lU3BhY2UpCitzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24m
IGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKICAgICBlbnVtIGNsYXNzIENoZWNrS2luZCB7CiAgICAg
ICAgIEluZGV4LAogICAgICAgICBEb3QKICAgICB9OwogCi0gICAgYXV0byBjaGVja0dldHRlciA9
IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3Rl
ZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAg
aWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVk
UGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgZmly
c3RQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzBd
LT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4o
Zmlyc3RQYXJhbWV0ZXJVbmlmeU5vZGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+KGZpcnN0UGFyYW1ldGVyVW5pZnlOb2RlKTsK
LSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8
QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSB8fCBpczxBU1Q6OkFycmF5VHlw
ZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6OkluZGV4KSB7Ci0gICAgICAgICAgICBh
dXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFpczxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6
Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmICgh
aXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgbmF0aXZlVHlwZURlY2xhcmF0aW9u
ID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0gICAg
ICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5pc0ludCgpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
OwotCi0gICAgYXV0byBjaGVja1NldHRlciA9IFsmXShDaGVja0tpbmQga2luZCkgLT4gYm9vbCB7
Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5kID09IENoZWNrS2lu
ZDo6SW5kZXggPyAzIDogMjsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0
ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgYXV0byYgZmlyc3RBcmd1bWVudFVuaWZ5Tm9kZSA9IGZ1bmN0aW9u
RGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAg
IGlmIChpczxBU1Q6OlVubmFtZWRUeXBlPihmaXJzdEFyZ3VtZW50VW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihm
aXJzdEFyZ3VtZW50VW5pZnlOb2RlKTsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OlBvaW50ZXJU
eXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHVubmFtZWRU
eXBlKSB8fCBpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoa2luZCA9PSBDaGVja0tpbmQ6
OkluZGV4KSB7Ci0gICAgICAgICAgICBhdXRvJiBzZWNvbmRQYXJhbWV0ZXJVbmlmeU5vZGUgPSBm
dW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpOwot
ICAgICAgICAgICAgaWYgKCFpczxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiBu
YW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4oc2Vjb25kUGFyYW1ldGVyVW5pZnlO
b2RlKTsKLSAgICAgICAgICAgIGlmICghaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5h
bWVkVHlwZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0
byYgbmF0aXZlVHlwZURlY2xhcmF0aW9uID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBpZiAoIW5hdGl2ZVR5cGVEZWNsYXJhdGlv
bi5pc0ludCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIW1hdGNoZXMoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSwgKmZ1bmN0aW9uRGVm
aW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGF1dG8mIHZhbHVlVHlwZSA9ICpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1l
dGVycygpW251bUV4cGVjdGVkUGFyYW1ldGVycyAtIDFdLT50eXBlKCk7Ci0gICAgICAgIGF1dG8g
Z2V0dGVyTmFtZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3Vic3RyaW5nKDAsIGZ1bmN0
aW9uRGVmaW5pdGlvbi5uYW1lKCkubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgYXV0byBnZXR0ZXJG
dW5jcyA9IG5hbWVDb250ZXh0LmdldEZ1bmN0aW9ucyhnZXR0ZXJOYW1lLCBjdXJyZW50TmFtZVNw
YWNlKTsKLSAgICAgICAgVmVjdG9yPFJlc29sdmluZ1R5cGU+IGFyZ3VtZW50VHlwZXM7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBhcmd1bWVu
dFR5cGVSZWZlcmVuY2VzOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUV4cGVj
dGVkUGFyYW1ldGVycyAtIDE7ICsraSkKLSAgICAgICAgICAgIGFyZ3VtZW50VHlwZXMuYXBwZW5k
KCpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldLT50eXBlKCkpOwotICAgICAgICBm
b3IgKGF1dG8mIGFyZ3VtZW50VHlwZSA6IGFyZ3VtZW50VHlwZXMpCi0gICAgICAgICAgICBhcmd1
bWVudFR5cGVSZWZlcmVuY2VzLmFwcGVuZChhcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvKiBv
dmVybG9hZCA9IHJlc29sdmVGdW5jdGlvbk92ZXJsb2FkKGdldHRlckZ1bmNzLCBhcmd1bWVudFR5
cGVSZWZlcmVuY2VzLCBjdXJyZW50TmFtZVNwYWNlKTsKLSAgICAgICAgaWYgKCFvdmVybG9hZCkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYXV0byYgcmVzdWx0VHlwZSA9IG92
ZXJsb2FkLT50eXBlKCk7Ci0gICAgICAgIHJldHVybiBtYXRjaGVzKHJlc3VsdFR5cGUsIHZhbHVl
VHlwZSk7Ci0gICAgfTsKLQotICAgIGF1dG8gY2hlY2tBbmRlciA9IFsmXShDaGVja0tpbmQga2lu
ZCkgLT4gYm9vbCB7Ci0gICAgICAgIHNpemVfdCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgPSBraW5k
ID09IENoZWNrS2luZDo6SW5kZXggPyAyIDogMTsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5p
dGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpICE9IG51bUV4cGVjdGVkUGFyYW1ldGVycykKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlO
b2RlID0gZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgICAg
IGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFT
VDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6UG9p
bnRlclR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZnVuY3Rp
b25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAg
ICAgICAgIGlmICghaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlOb2RlKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25j
YXN0PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4gaXM8
QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpIHx8IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih1bm5hbWVkVHlwZSk7Ci0gICAgICAgIH0KLSAgICB9OwotCiAgICAgaWYgKCFmdW5jdGlv
bkRlZmluaXRpb24uaXNPcGVyYXRvcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAo
ZnVuY3Rpb25EZWZpbml0aW9uLmlzQ2FzdCgpKQpAQCAtNTM5LDE5ICszNjAsNiBAQCBzdGF0aWMg
Ym9vbCBjaGVja09wZXJhdG9yT3ZlcmxvYWQoY29uc3QgCiAgICAgICAgIHJldHVybiBmdW5jdGlv
bkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyOwogICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpID09ICJvcGVyYXRvcn4iKQogICAgICAgICByZXR1cm4gZnVuY3Rpb25E
ZWZpbml0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMTsKLSAgICBpZiAoZnVuY3Rpb25EZWZp
bml0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpCi0gICAgICAgIHJldHVybiBjaGVja0dldHRl
cihDaGVja0tpbmQ6OkluZGV4KTsKLSAgICBpZiAoZnVuY3Rpb25EZWZpbml0aW9uLm5hbWUoKSA9
PSAib3BlcmF0b3JbXT0iKQotICAgICAgICByZXR1cm4gY2hlY2tTZXR0ZXIoQ2hlY2tLaW5kOjpJ
bmRleCk7Ci0gICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yJltd
IikKLSAgICAgICAgcmV0dXJuIGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpJbmRleCk7Ci0gICAgaWYg
KGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuc3RhcnRzV2l0aCgib3BlcmF0b3IuIikpIHsKLSAg
ICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkKLSAgICAg
ICAgICAgIHJldHVybiBjaGVja1NldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgICAgIHJldHVy
biBjaGVja0dldHRlcihDaGVja0tpbmQ6OkRvdCk7Ci0gICAgfQotICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iKSkKLSAgICAgICAgcmV0dXJu
IGNoZWNrQW5kZXIoQ2hlY2tLaW5kOjpEb3QpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAt
NjAwLDEwICs0MDgsMTIgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
cmVjdXJzZUFuZFdyYXBCYXNlVHlwZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpOwog
ICAgIGJvb2wgcmVjdXJzZUFuZFJlcXVpcmVCb29sVHlwZShBU1Q6OkV4cHJlc3Npb24mKTsKICAg
ICB2b2lkIGFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBSZWY8QVNUOjpVbm5h
bWVkVHlwZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOworICAgIHZvaWQgYXNzaWduQ29uY3JldGVU
eXBlKEFTVDo6RXhwcmVzc2lvbiYsIEFTVDo6TmFtZWRUeXBlJiwgQVNUOjpUeXBlQW5ub3RhdGlv
bik7CiAgICAgdm9pZCBhc3NpZ25UeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlZlB0cjxSZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZT4sIEFTVDo6VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgZm9yd2Fy
ZFR5cGUoQVNUOjpFeHByZXNzaW9uJiwgUmVzb2x2aW5nVHlwZSYsIEFTVDo6VHlwZUFubm90YXRp
b24pOwogCiAgICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRl
OworICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpUeXBlUmVmZXJlbmNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNp
dChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBvdmVycmlkZTsKQEAgLTYyMSw3ICs0MzEsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAgIHZvaWQg
dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpC
b29sZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlv
bk1lbWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TG9naWNhbE5v
dEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAgLTYzNSwxMiArNDQ0LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHZpc2l0KEFTVDo6VGVybmFyeUV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZmluaXNo
VmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mLCBSZXNvbHZpbmdUeXBlKiBh
ZGRpdGlvbmFsQXJndW1lbnRUeXBlID0gbnVsbHB0cik7Ci0KICAgICBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbihWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxS
ZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiwg
QVNUOjpOYW1lZFR5cGUqIGNhc3RSZXR1cm5UeXBlID0gbnVsbHB0cik7CiAKLSAgICBSZWZQdHI8
QVNUOjpVbm5hbWVkVHlwZT4gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoQVNUOjpVbm5hbWVk
VHlwZSYgYmFzZVR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlKTsKLQogICAgIEFTVDo6VW5uYW1lZFR5
cGUmIHdyYXBwZWRGbG9hdFR5cGUoKQogICAgIHsKICAgICAgICAgaWYgKCFtX3dyYXBwZWRGbG9h
dFR5cGUpCkBAIC02NDgsMTEgKzQ1MywxMSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKm1f
d3JhcHBlZEZsb2F0VHlwZTsKICAgICB9CiAKLSAgICBBU1Q6OlVubmFtZWRUeXBlJiBnZW5lcmlj
UG9pbnRlclR5cGUoKQorICAgIEFTVDo6VW5uYW1lZFR5cGUmIHdyYXBwZWRVaW50VHlwZSgpCiAg
ICAgewotICAgICAgICBpZiAoIW1fZ2VuZXJpY1BvaW50ZXJUeXBlKQotICAgICAgICAgICAgbV9n
ZW5lcmljUG9pbnRlclR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUoeyB9LCBBU1Q6OkFk
ZHJlc3NTcGFjZTo6VGhyZWFkLCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoeyB9LCBtX2ludHJp
bnNpY3MuZmxvYXRUeXBlKCkpKTsKLSAgICAgICAgcmV0dXJuICptX2dlbmVyaWNQb2ludGVyVHlw
ZTsKKyAgICAgICAgaWYgKCFtX3dyYXBwZWRVaW50VHlwZSkKKyAgICAgICAgICAgIG1fd3JhcHBl
ZFVpbnRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHsgfSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpOworICAgICAgICByZXR1cm4gKm1fd3JhcHBlZFVpbnRUeXBlOwogICAgIH0KIAog
ICAgIEFTVDo6VW5uYW1lZFR5cGUmIG5vcm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkoQVNUOjpV
bm5hbWVkVHlwZSYgdHlwZSkKQEAgLTY2MSwxNCArNDY2LDExIEBAIHByaXZhdGU6CiAgICAgICAg
IGlmICh1bmlmeU5vZGUgPT0gJm1faW50cmluc2ljcy51aW50VHlwZSgpIHx8IHVuaWZ5Tm9kZSA9
PSAmbV9pbnRyaW5zaWNzLmludFR5cGUoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkRmxv
YXRUeXBlKCk7CiAKLSAgICAgICAgaWYgKGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4odHlwZSkpCi0g
ICAgICAgICAgICByZXR1cm4gZ2VuZXJpY1BvaW50ZXJUeXBlKCk7Ci0KICAgICAgICAgcmV0dXJu
IHR5cGU7CiAgICAgfQogCiAgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFwcGVk
RmxvYXRUeXBlOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtX2dlbmVyaWNQb2ludGVy
VHlwZTsKKyAgICBSZWZQdHI8QVNUOjpUeXBlUmVmZXJlbmNlPiBtX3dyYXBwZWRVaW50VHlwZTsK
ICAgICBIYXNoTWFwPEFTVDo6RXhwcmVzc2lvbiosIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZpbmdU
eXBlPj4gbV90eXBlTWFwOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3ZlcnRleEVudHJ5UG9pbnRz
W0FTVDo6bmFtZVNwYWNlQ291bnRdOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2ZyYWdtZW50RW50
cnlQb2ludHNbQVNUOjpuYW1lU3BhY2VDb3VudF07CkBAIC02NzcsOCArNDc5LDggQEAgcHJpdmF0
ZToKICAgICBQcm9ncmFtJiBtX3Byb2dyYW07CiAgICAgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24q
IG1fY3VycmVudEZ1bmN0aW9uIHsgbnVsbHB0ciB9OwogICAgIEhhc2hNYXA8RnVuY3Rpb25LZXks
IFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbj4s
IDE+LCBGdW5jdGlvbktleTo6SGFzaCwgRnVuY3Rpb25LZXk6OlRyYWl0cz4gbV9mdW5jdGlvbnM7
Ci0gICAgSGFzaE1hcDxBbmRPdmVybG9hZFR5cGVLZXksIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBl
PiwgQW5kT3ZlcmxvYWRUeXBlS2V5OjpIYXNoLCBBbmRPdmVybG9hZFR5cGVLZXk6OlRyYWl0cz4g
bV9hbmRPdmVybG9hZFR5cGVNYXA7CiAgICAgQVNUOjpOYW1lU3BhY2UgbV9jdXJyZW50TmFtZVNw
YWNlIHsgQVNUOjpOYW1lU3BhY2U6OlN0YW5kYXJkTGlicmFyeSB9OworICAgIGJvb2wgbV9pc1Zp
c2l0aW5nUGFyYW1ldGVycyB7IGZhbHNlIH07CiB9OwogCiB2b2lkIENoZWNrZXI6OnZpc2l0KFBy
b2dyYW0mIHByb2dyYW0pCkBAIC03MzMsNiArNTM1LDEzIEBAIGJvb2wgQ2hlY2tlcjo6Y2hlY2tT
aGFkZXJUeXBlKGNvbnN0IEFTVDoKICAgICB9CiB9CiAKK3ZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNU
OjpGdW5jdGlvbkRlY2xhcmF0aW9uJiBmdW5jdGlvbkRlY2xhcmF0aW9uKQoreworICAgIG1faXNW
aXNpdGluZ1BhcmFtZXRlcnMgPSB0cnVlOworICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVj
bGFyYXRpb24pOworICAgIG1faXNWaXNpdGluZ1BhcmFtZXRlcnMgPSBmYWxzZTsKK30KKwogdm9p
ZCBDaGVja2VyOjp2aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0
aW9uKQogewogICAgIG1fY3VycmVudE5hbWVTcGFjZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1l
U3BhY2UoKTsKQEAgLTc1Miw3ICs1NjEsNyBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6RnVu
Y3Rpb25EZWZpbml0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0gICAg
aWYgKCFjaGVja09wZXJhdG9yT3ZlcmxvYWQoZnVuY3Rpb25EZWZpbml0aW9uLCBtX3Byb2dyYW0u
bmFtZUNvbnRleHQoKSwgbV9jdXJyZW50TmFtZVNwYWNlKSkgeworICAgIGlmICghY2hlY2tPcGVy
YXRvck92ZXJsb2FkKGZ1bmN0aW9uRGVmaW5pdGlvbikpIHsKICAgICAgICAgc2V0RXJyb3IoRXJy
b3IoIk9wZXJhdG9yIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHNpZ25hdHVyZS4iLCBmdW5jdGlv
bkRlZmluaXRpb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTc5MCw2ICs1OTksMTcgQEAgc3RhdGljIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFu
ZAogICAgIH0pKTsKIH0KIAorc3RhdGljIGJvb2wgbWF0Y2hBbmRDb21taXQoUmVzb2x2aW5nVHlw
ZSYgcmVzb2x2aW5nVHlwZSwgQVNUOjpOYW1lZFR5cGUmIG5hbWVkVHlwZSkKK3sKKyAgICByZXR1
cm4gcmVzb2x2aW5nVHlwZS52aXNpdChXVEY6Om1ha2VWaXNpdG9yKFsmXShSZWY8QVNUOjpVbm5h
bWVkVHlwZT4mIHJlc29sdmluZ1R5cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoZXMocmVzb2x2aW5n
VHlwZSwgbmFtZWRUeXBlKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJl
c29sdmluZ1R5cGUpIC0+IGJvb2wgeworICAgICAgICByZXR1cm4gbWF0Y2hBbmRDb21taXQobmFt
ZWRUeXBlLCByZXNvbHZpbmdUeXBlLT5yZXNvbHZhYmxlVHlwZSgpKTsKKyAgICB9KSk7Cit9CisK
IHN0YXRpYyBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gY29tbWl0KFJlc29sdmluZ1R5cGUmIHJl
c29sdmluZ1R5cGUpCiB7CiAgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtl
VmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gUmVmUHRy
PEFTVDo6VW5uYW1lZFR5cGU+IHsKQEAgLTgxOCw5ICs2MzgsNiBAQCBBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24qIENoZWNrZXI6OnJlc29sCiAgICAgICAgICAgICAgICAgfHwgcmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlw
ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiAmd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAg
ICAgICAgICBpZiAocmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UtPnJlc29sdmFibGVUeXBlKCkuaXNO
dWxsTGl0ZXJhbFR5cGUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmdlbmVyaWNQb2ludGVy
VHlwZSgpOwotCiAgICAgICAgICAgICByZXR1cm4gY29tbWl0KHJlc29sdmFibGVUeXBlUmVmZXJl
bmNlLT5yZXNvbHZhYmxlVHlwZSgpKS5nZXQoKTsKICAgICAgICAgfSkpOwogCkBAIC05NTgsNiAr
Nzc1LDE0IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmEKICAgICAg
ICAgICAgIHNldEVycm9yKEVycm9yKCJEZWNsYXJlZCB2YXJpYWJsZSB0eXBlIGRvZXMgbm90IG1h
dGNoIGl0cyBpbml0aWFsaXplcidzIHR5cGUuIiwgdmFyaWFibGVEZWNsYXJhdGlvbi5jb2RlTG9j
YXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgfSBlbHNlIGlm
ICghbV9pc1Zpc2l0aW5nUGFyYW1ldGVycyAmJiBpczxBU1Q6OlJlZmVyZW5jZVR5cGU+KHZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkpIHsKKyAgICAgICAgaWYgKGlzPEFT
VDo6UG9pbnRlclR5cGU+KHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpLT51bmlmeU5vZGUoKSkp
CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiTXVzdCBhc3NpZ24gdG8gYSBwb2ludGVyIHZh
cmlhYmxlIGRlY2xhcmF0aW9uIGluIGl0cyBpbml0aWFsaXplci4iLCB2YXJpYWJsZURlY2xhcmF0
aW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJU
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKCJNdXN0IGFzc2lnbiB0
byBhbiBhcnJheSByZWZlcmVuY2UgdmFyaWFibGUgZGVjbGFyYXRpb24gaW4gaXRzIGluaXRpYWxp
emVyLiIsIHZhcmlhYmxlRGVjbGFyYXRpb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm47CiAgICAgfQogfQogCkBAIC05NjgsNiArNzkzLDEzIEBAIHZvaWQgQ2hl
Y2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXgKICAgICBleHByZXNzaW9uLnNldFR5cGVB
bm5vdGF0aW9uKFdURk1vdmUodHlwZUFubm90YXRpb24pKTsKIH0KIAordm9pZCBDaGVja2VyOjph
c3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBBU1Q6Ok5hbWVk
VHlwZSYgdHlwZSwgQVNUOjpUeXBlQW5ub3RhdGlvbiBhbm5vdGF0aW9uKQoreworICAgIGF1dG8g
dW5uYW1lZFR5cGUgPSBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAodHlwZS5jb2RlTG9jYXRpb24o
KSwgdHlwZSk7CisgICAgVmlzaXRvcjo6dmlzaXQodW5uYW1lZFR5cGUpOworICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShleHByZXNzaW9uLCBXVEZNb3ZlKHVubmFtZWRUeXBlKSwgYW5ub3RhdGlvbik7
Cit9CisKIHZvaWQgQ2hlY2tlcjo6YXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mIGV4cHJlc3Np
b24sIFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4gcmVzb2x2YWJsZVR5cGVSZWZlcmVu
Y2UsIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFsdWUo
KSkKIHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fdHlwZU1hcC5hZGQoJmV4cHJlc3Npb24sIG1h
a2VVbmlxdWU8UmVzb2x2aW5nVHlwZT4oV1RGTW92ZShyZXNvbHZhYmxlVHlwZVJlZmVyZW5jZSkp
KTsKQEAgLTEwMjksNyArODYxLDcgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlJlYWRNb2Rp
ZnlXcml0ZQogICAgIGlmICghcmVzdWx0SW5mbykKICAgICAgICAgcmV0dXJuOwogCi0gICAgZm9y
d2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0SW5mby0+cmVzb2x2aW5n
VHlwZSk7CisgICAgZm9yd2FyZFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgcmVzdWx0
SW5mby0+cmVzb2x2aW5nVHlwZSwgQVNUOjpSaWdodFZhbHVlKCkpOwogfQogCiBzdGF0aWMgQVNU
OjpVbm5hbWVkVHlwZSogZ2V0VW5uYW1lZFR5cGUoUmVzb2x2aW5nVHlwZSYgcmVzb2x2aW5nVHlw
ZSkKQEAgLTExMzUsMTc5ICs5NjcsMTE1IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpNYWtl
QXJyYXlSZWZlcmUKICAgICBhc3NpZ25Db25jcmV0ZVR5cGUobWFrZUFycmF5UmVmZXJlbmNlRXhw
cmVzc2lvbiwgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZShtYWtlQXJyYXlSZWZlcmVu
Y2VFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqbGVmdEFkZHJlc3NTcGFjZSwgKmxlZnRWYWx1
ZVR5cGUpKTsKIH0KIAotUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IENoZWNrZXI6OmFyZ3VtZW50
VHlwZUZvckFuZE92ZXJsb2FkKEFTVDo6VW5uYW1lZFR5cGUmIGJhc2VUeXBlLCBBU1Q6OkFkZHJl
c3NTcGFjZSBhZGRyZXNzU3BhY2UpCi17Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5IGtleSB7IGJh
c2VUeXBlLCBhZGRyZXNzU3BhY2UgfTsKLSAgICB7Ci0gICAgICAgIGF1dG8gaXRlciA9IG1fYW5k
T3ZlcmxvYWRUeXBlTWFwLmZpbmQoa2V5KTsKLSAgICAgICAgaWYgKGl0ZXIgIT0gbV9hbmRPdmVy
bG9hZFR5cGVNYXAuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gaXRlci0+dmFsdWU7Ci0gICAg
fQotCi0gICAgYXV0byBjcmVhdGVBcmd1bWVudFR5cGUgPSBbJl0gKCkgLT4gUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gYmFzZVR5cGUudW5pZnlO
b2RlKCk7Ci0gICAgICAgIGlmIChpczxBU1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKSkgewotICAg
ICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5
Tm9kZSk7Ci0gICAgICAgICAgICByZXR1cm4geyBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUobmFt
ZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChuYW1lZFR5cGUuY29kZUxvY2F0aW9uKCksIG5hbWVkVHlwZSkpIH07Ci0gICAgICAgIH0K
LQotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1lZFR5cGU+
KHVuaWZ5Tm9kZSk7Ci0KLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gJnVubmFtZWRUeXBlOwotCi0gICAgICAg
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgcmV0dXJu
IHsgQVNUOjpBcnJheVJlZmVyZW5jZVR5cGU6OmNyZWF0ZSh1bm5hbWVkVHlwZS5jb2RlTG9jYXRp
b24oKSwgYWRkcmVzc1NwYWNlLCBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUp
LnR5cGUoKSkgfTsKLQotICAgICAgICBpZiAoaXM8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5
cGUpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgcmV0dXJuIHsgQVNU
OjpQb2ludGVyVHlwZTo6Y3JlYXRlKHVubmFtZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBhZGRyZXNz
U3BhY2UsIHVubmFtZWRUeXBlKSB9OwotICAgIH07Ci0KLSAgICBhdXRvIHJlc3VsdCA9IGNyZWF0
ZUFyZ3VtZW50VHlwZSgpOwotICAgIG1fYW5kT3ZlcmxvYWRUeXBlTWFwLmFkZChrZXksIHJlc3Vs
dCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdm9pZCBDaGVja2VyOjpmaW5pc2hWaXNpdGlu
ZyhBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LCBSZXNvbHZpbmdUeXBlKiBhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQordm9pZCBDaGVja2VyOjp2
aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCiB7Ci0gICAgYXV0byBiYXNl
SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkp
OworICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhkb3RFeHByZXNzaW9uLmJh
c2UoKSk7CiAgICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBi
YXNlVW5uYW1lZFR5cGUgPSBjb21taXQoYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogICAgIGlm
ICghYmFzZVVubmFtZWRUeXBlKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgcmVz
b2x2ZSB0aGUgdHlwZSBvZiB0aGUgYmFzZSBvZiBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9u
LiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBz
ZXRFcnJvcihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBk
b3QgZXhwcmVzc2lvbi4iLCBkb3RFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1
bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gZ2V0dGVyUmV0
dXJuVHlwZSA9IG51bGxwdHI7Ci0gICAgewotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vf
d3JhcHBlcjxSZXNvbHZpbmdUeXBlPj4gZ2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5y
ZXNvbHZpbmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAg
ICAgICAgICAgZ2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5
cGUpOwotICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
Z2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIGdldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1
bmN0aW9uKGdldHRlckFyZ3VtZW50VHlwZXMsIGdldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1
dG8mIHR5cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6
OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZSA9
IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4odHlwZSk7ICAgIAorICAgICAgICBp
ZiAoQVNUOjpTdHJ1Y3R1cmVFbGVtZW50KiBlbGVtZW50ID0gc3RydWN0dXJlLmZpbmQoZG90RXhw
cmVzc2lvbi5maWVsZE5hbWUoKSkpCisgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgZWxlbWVudC0+dHlwZSgpLCBiYXNlSW5mby0+dHlwZUFubm90YXRpb24pOwor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHNldEVycm9yKEVycm9yKG1ha2VTdHJpbmcoIkZp
ZWxkIG5hbWU6ICciLCBkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpLCAiJyBkb2VzIG5vdCBleGlz
dCBvbiBzdHJ1Y3R1cmU6ICIsIHN0cnVjdHVyZS5uYW1lKCkpLCBkb3RFeHByZXNzaW9uLmNvZGVM
b2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChnZXR0ZXJGdW5j
dGlvbikKLSAgICAgICAgICAgIGdldHRlclJldHVyblR5cGUgPSAmZ2V0dGVyRnVuY3Rpb24tPnR5
cGUoKTsKLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rp
b24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBhbmRlclJldHVyblR5
cGUgPSBudWxscHRyOwotICAgIGF1dG8gbGVmdEFkZHJlc3NTcGFjZSA9IGJhc2VJbmZvLT50eXBl
QW5ub3RhdGlvbi5sZWZ0QWRkcmVzc1NwYWNlKCk7Ci0gICAgaWYgKGxlZnRBZGRyZXNzU3BhY2Up
IHsKLSAgICAgICAgaWYgKGF1dG8gYXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQgPSB0aGlzLT5h
cmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCgqYmFzZVVubmFtZWRUeXBlLCAqbGVmdEFkZHJlc3NT
cGFjZSkpIHsKLSAgICAgICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8
QVNUOjpVbm5hbWVkVHlwZT4oKmFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2FkKSB9OwotICAgICAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGFuZGVy
QXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICAgICAgaWYgKGFkZGl0aW9u
YWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICAgICAgYW5kZXJBcmd1bWVudFR5cGVzLmFwcGVu
ZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICAg
ICAgYW5kZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbihhbmRlckFyZ3VtZW50VHlwZXMsIGFu
ZGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgICAgIGlmIChoYXNFcnJvcigpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGlmIChhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIGFuZGVyUmV0dXJuVHlwZSA9
ICZkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1l
bnRUeXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBw
b2ludGVyCiAgICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24q
IHRocmVhZEFuZGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIFJlZlB0cjxBU1Q6OlVubmFtZWRU
eXBlPiB0aHJlYWRBbmRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIGlmIChhdXRvIGFyZ3Vt
ZW50VHlwZUZvckFuZE92ZXJsb2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQo
KmJhc2VVbm5hbWVkVHlwZSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCkpIHsKLSAgICAgICAg
UmVzb2x2aW5nVHlwZSBhcmd1bWVudFR5cGUgPSB7IFJlZjxBU1Q6OlVubmFtZWRUeXBlPihBU1Q6
OlBvaW50ZXJUeXBlOjpjcmVhdGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlv
bigpLCBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkLCAqYmFzZVVubmFtZWRUeXBlKSkgfTsKLSAg
ICAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IHRocmVh
ZEFuZGVyQXJndW1lbnRUeXBlcyB7IGFyZ3VtZW50VHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRp
b25hbEFyZ3VtZW50VHlwZSkKLSAgICAgICAgICAgIHRocmVhZEFuZGVyQXJndW1lbnRUeXBlcy5h
cHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICBhdXRvIGFuZGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICB0
aHJlYWRBbmRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9uKHRocmVhZEFuZGVyQXJndW1lbnRU
eXBlcywgYW5kZXJOYW1lLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
OwotICAgICAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICB9IGVsc2UgaWYgKGRvdEV4cHJlc3Npb24u
ZmllbGROYW1lKCkgPT0gImxlbmd0aCIpIHsKKyAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZl
cmVuY2VUeXBlPih0eXBlKQorICAgICAgICAgICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUp
CisgICAgICAgICAgICB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYm
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSkg
eworICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIHdyYXBwZWRV
aW50VHlwZSgpLCBBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBzZXRFcnJvcihFcnJvcigiLmxlbmd0aCBmaWVsZCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBh
cnJheXMsIGFycmF5IHJlZmVyZW5jZXMsIG9yIHZlY3RvcnMuIiwgZG90RXhwcmVzc2lvbi5jb2Rl
TG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAodGhyZWFkQW5k
ZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHRocmVhZEFuZGVyUmV0dXJuVHlwZSA9ICZkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPih0aHJlYWRBbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRU
eXBlKCk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY0IEVuZm9yY2UgdGhlIHJldHVybiBvZiBhbmRlcnMgd2lsbCBhbHdheXMgYmUgYSBwb2lu
dGVyCi0gICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpLmlzVmVjdG9yKCkpIHsKKyAgICAgICAgaWYgKCFtX3Byb2dyYW0uaXNWYWxpZFZlY3Rv
clByb3BlcnR5KGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKSB7CisgICAgICAgICAgICBzZXRF
cnJvcihFcnJvcihtYWtlU3RyaW5nKCInLiIsIGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCksICIn
IGlzIG5vdCBhIHZhbGlkIHByb3BlcnR5IG9uIGEgdmVjdG9yLiIpLCBkb3RFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGlm
IChsZWZ0QWRkcmVzc1NwYWNlICYmICFhbmRlckZ1bmN0aW9uICYmICFnZXR0ZXJGdW5jdGlvbikg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUHJvcGVydHkgYWNjZXNzIGluc3RydWN0aW9uIG11
c3QgZWl0aGVyIGhhdmUgYW4gYW5kZXIgb3IgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAg
IGF1dG8gYWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmlzUmlnaHRWYWx1
ZSgpID8gQVNUOjpUeXBlQW5ub3RhdGlvbiB7IEFTVDo6UmlnaHRWYWx1ZSgpIH0gOiBBU1Q6OlR5
cGVBbm5vdGF0aW9uIHsgQVNUOjpBYnN0cmFjdExlZnRWYWx1ZSgpIH07CiAKLSAgICBpZiAoIWxl
ZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9u
KSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nlc3MgaW5zdHJ1Y3Rpb24g
bXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
KyAgICAgICAgc2l6ZV90IGZpZWxkTGVuZ3RoID0gZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKS5s
ZW5ndGgoKTsKKyAgICAgICAgYXV0byYgaW5uZXJUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVU
eXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgpOworICAgICAgICBpZiAo
ZmllbGRMZW5ndGggPT0gMSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHBy
ZXNzaW9uLCBpbm5lclR5cGUsIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisg
ICAgICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIG1faW50cmlu
c2ljcy5ib29sVmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOwor
ICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2ljcy5pbnRU
eXBlKCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9u
LCBtX2ludHJpbnNpY3MuaW50VmVjdG9yVHlwZUZvclNpemUoZmllbGRMZW5ndGgpLCBhZGRyZXNz
U3BhY2UpOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmlu
c2ljcy51aW50VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90
RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLnVpbnRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0
aCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlubmVyVHlw
ZSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25j
cmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmZsb2F0VmVjdG9yVHlwZUZvclNp
emUoZmllbGRMZW5ndGgpLCBhZGRyZXNzU3BhY2UpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkJhc2UgdmFsdWUgb2YgZG90IGV4cHJlc3Np
b24gbXVzdCBiZSBhIHN0cnVjdHVyZSwgYXJyYXksIG9yIHZlY3Rvci4iLCBkb3RFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Cit9CiAKLSAgICBpZiAodGhyZWFkQW5kZXJGdW5jdGlvbiAmJiBn
ZXR0ZXJGdW5jdGlvbikgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQ2Fubm90IGhhdmUgYm90
aCBhIHRocmVhZCBhbmRlciBhbmQgYSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Cit2b2lkIENoZWNrZXI6
OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24pCit7CisgICAgewor
ICAgICAgICBhdXRvIGluZGV4SW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIGlmICghaW5kZXhJbmZvKQorICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKGFuZGVyRnVuY3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5jdGlv
biAmJiAhbWF0Y2hlcygqYW5kZXJSZXR1cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkg
ewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAo
IW1hdGNoQW5kQ29tbWl0KGluZGV4SW5mby0+cmVzb2x2aW5nVHlwZSwgbV9pbnRyaW5zaWNzLnVp
bnRUeXBlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggaW4gYW4gaW5k
ZXggZXhwcmVzc2lvbiBtdXN0IGJlIGEgdWludC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0
aW9uKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlm
IChnZXR0ZXJGdW5jdGlvbiAmJiBhbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqYW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiUmV0
dXJuIHR5cGUgb2YgYW5kZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGdldHRl
ci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICBhdXRv
IGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7Cisg
ICAgaWYgKCFiYXNlSW5mbykKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmIChnZXR0
ZXJGdW5jdGlvbiAmJiB0aHJlYWRBbmRlckZ1bmN0aW9uICYmICFtYXRjaGVzKCpnZXR0ZXJSZXR1
cm5UeXBlLCAqdGhyZWFkQW5kZXJSZXR1cm5UeXBlKSkgewotICAgICAgICBzZXRFcnJvcihFcnJv
cigiUmV0dXJuIHR5cGUgb2YgdGhlIHRocmVhZCBhbmRlciBtdXN0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiB0aGUgZ2V0dGVyLiIsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSkpOworICAgIGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5yZXNv
bHZpbmdUeXBlKTsKKyAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgeworICAgICAgICBzZXRFcnJv
cihFcnJvcigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYW4gaW5kZXgg
ZXhwcmVzc2lvbi4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiBmaWVsZFR5cGUgPSBn
ZXR0ZXJSZXR1cm5UeXBlID8gKmdldHRlclJldHVyblR5cGUgOiBhbmRlclJldHVyblR5cGUgPyAq
YW5kZXJSZXR1cm5UeXBlIDogKnRocmVhZEFuZGVyUmV0dXJuVHlwZTsKLQotICAgIEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24gPSBudWxscHRyOwotICAgIEFTVDo6VW5u
YW1lZFR5cGUqIHNldHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAgUmVz
b2x2aW5nVHlwZSBmaWVsZFJlc29sdmluZ1R5cGUoZmllbGRUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmluZ1R5cGU+PiBzZXR0ZXJB
cmd1bWVudFR5cGVzIHsgYmFzZUluZm8tPnJlc29sdmluZ1R5cGUgfTsKLSAgICAgICAgaWYgKGFk
ZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVzLmFw
cGVuZCgqYWRkaXRpb25hbEFyZ3VtZW50VHlwZSk7Ci0gICAgICAgIHNldHRlckFyZ3VtZW50VHlw
ZXMuYXBwZW5kKGZpZWxkUmVzb2x2aW5nVHlwZSk7Ci0gICAgICAgIGF1dG8gc2V0dGVyTmFtZSA9
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICAgICAg
c2V0dGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oc2V0dGVyQXJndW1lbnRUeXBlcywgc2V0
dGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKTsKLSAgICAg
ICAgaWYgKGhhc0Vycm9yKCkpCisgICAgYXV0byYgdHlwZSA9IGJhc2VVbm5hbWVkVHlwZS0+dW5p
ZnlOb2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgewor
ICAgICAgICBhdXRvJiBhcnJheVJlZmVyZW5jZVR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4odHlwZSk7CisgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJl
c3Npb24sIGFycmF5UmVmZXJlbmNlVHlwZS5lbGVtZW50VHlwZSgpLCBBU1Q6OkxlZnRWYWx1ZSB7
IGFycmF5UmVmZXJlbmNlVHlwZS5hZGRyZXNzU3BhY2UoKSB9KTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6QXJyYXlUeXBlPih0eXBlKSkKKyAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4
RXhwcmVzc2lvbiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLnR5cGUoKSwgYmFzZUlu
Zm8tPnR5cGVBbm5vdGF0aW9uKTsKKyAgICBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNs
YXJhdGlvbj4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgYXV0byBhZGRyZXNzU3Bh
Y2UgPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgPyBBU1Q6OlR5cGVB
bm5vdGF0aW9uIHsgQVNUOjpSaWdodFZhbHVlKCkgfSA6IEFTVDo6VHlwZUFubm90YXRpb24geyBB
U1Q6OkFic3RyYWN0TGVmdFZhbHVlKCkgfTsKKyAgICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0
b3IoKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIG5h
dGl2ZVR5cGUudmVjdG9yVHlwZUFyZ3VtZW50KCksIGFkZHJlc3NTcGFjZSk7CisgICAgICAgIGVs
c2UgaWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkgeworICAgICAgICAgICAgYXV0byYgaW5uZXJU
eXBlID0gbmF0aXZlVHlwZS5tYXRyaXhUeXBlQXJndW1lbnQoKTsKKyAgICAgICAgICAgIHVuc2ln
bmVkIG51bVJvd3MgPSBuYXRpdmVUeXBlLm51bWJlck9mTWF0cml4Um93cygpOworICAgICAgICAg
ICAgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpCisgICAg
ICAgICAgICAgICAgYXNzaWduQ29uY3JldGVUeXBlKGluZGV4RXhwcmVzc2lvbiwgbV9pbnRyaW5z
aWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShudW1Sb3dzKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBl
KCkpKQorICAgICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24s
IG1faW50cmluc2ljcy5mbG9hdFZlY3RvclR5cGVGb3JTaXplKG51bVJvd3MpLCBhZGRyZXNzU3Bh
Y2UpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJv
cigiSW5kZXggZXhwcmVzc2lvbiBvbiB1bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZXR0ZXJG
dW5jdGlvbikKLSAgICAgICAgICAgIHNldHRlclJldHVyblR5cGUgPSAmc2V0dGVyRnVuY3Rpb24t
PnR5cGUoKTsKLSAgICB9Ci0KLSAgICBpZiAoc2V0dGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0
aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJDYW5ub3QgZGVmaW5lIGEgc2V0dGVyIGZ1
bmN0aW9uIHdpdGhvdXQgYSBjb3JyZXNwb25kaW5nIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAg
ICAgIHNldEVycm9yKEVycm9yKCJJbmRleCBleHByZXNzaW9uIG9uIGFuIHVua25vd24gYmFzZSB0
eXBlLiBCYXNlIHR5cGUgbXVzdCBiZSBhbiBhcnJheSwgYXJyYXkgcmVmZXJlbmNlLCB2ZWN0b3Is
IG9yIG1hdHJpeC4iLCBpbmRleEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLQotICAgIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRHZXR0ZXJG
dW5jdGlvbihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dEFuZGVyRnVuY3Rpb24oYW5kZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldFRocmVhZEFuZGVyRnVuY3Rpb24odGhyZWFkQW5kZXJGdW5jdGlvbik7Ci0gICAgcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldFNldHRlckZ1bmN0aW9uKHNldHRlckZ1bmN0aW9uKTsK
LQotICAgIEFTVDo6VHlwZUFubm90YXRpb24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFs
dWUoKTsKLSAgICBpZiAoYXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5v
dGF0aW9uLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikK
LSAgICAgICAgICAgIHR5cGVBbm5vdGF0aW9uID0gQVNUOjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxB
U1Q6OlJlZmVyZW5jZVR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkg
fTsKLSAgICAgICAgZWxzZSBpZiAoc2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5u
b3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKTsKLSAgICB9IGVsc2UgaWYgKCFiYXNl
SW5mby0+dHlwZUFubm90YXRpb24uaXNSaWdodFZhbHVlKCkgJiYgKHNldHRlckZ1bmN0aW9uIHx8
IHRocmVhZEFuZGVyRnVuY3Rpb24pKQotICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJz
dHJhY3RMZWZ0VmFsdWUoKTsKLSAgICBhc3NpZ25Db25jcmV0ZVR5cGUocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLCBXVEZNb3ZlKGZpZWxkVHlwZSksIFdURk1vdmUodHlwZUFubm90YXRpb24pKTsK
LX0KLQotdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Np
b24pCi17Ci0gICAgZmluaXNoVmlzaXRpbmcoZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgQ2hl
Y2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAg
ICBhdXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4
RXhwcmVzc2lvbigpKTsKLSAgICBpZiAoIWJhc2VJbmZvKQotICAgICAgICByZXR1cm47Ci0gICAg
ZmluaXNoVmlzaXRpbmcoaW5kZXhFeHByZXNzaW9uLCAmYmFzZUluZm8tPnJlc29sdmluZ1R5cGUp
OwogfQogCiB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlh
YmxlUmVmZXJlbmNlKQpAQCAtMTM2MiwxMSArMTEzMCw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQo
QVNUOjpGbG9hdExpdGVyYWwmIGYKICAgICBhc3NpZ25UeXBlKGZsb2F0TGl0ZXJhbCwgYWRvcHRS
ZWYoKm5ldyBSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZShmbG9hdExpdGVyYWwudHlwZSgpKSkpOwog
fQogCi12b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQot
ewotICAgIGFzc2lnblR5cGUobnVsbExpdGVyYWwsIGFkb3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UobnVsbExpdGVyYWwudHlwZSgpKSkpOwotfQotCiB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewogICAgIGFzc2lnbkNv
bmNyZXRlVHlwZShib29sZWFuTGl0ZXJhbCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGJvb2xl
YW5MaXRlcmFsLmNvZGVMb2NhdGlvbigpLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpOwpAQCAt
MTQ4OCw4ICsxMjUxLDYgQEAgdm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVu
dAogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1hdGNoQW5kQ29tbWl0KCp2
YWx1ZVR5cGUsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudHlwZSgpKSk7CiAgICAgICAgIH0sIFsm
XShBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSAtPiBib29sIHsKICAgICAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtYXRjaEFuZENvbW1pdCgqdmFsdWVUeXBlLCBmbG9h
dExpdGVyYWwudHlwZSgpKSk7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJiBudWxs
TGl0ZXJhbCkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4o
bWF0Y2hBbmRDb21taXQoKnZhbHVlVHlwZSwgbnVsbExpdGVyYWwudHlwZSgpKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRlcmFsJikgLT4gYm9vbCB7CiAgICAgICAgICAgICByZXR1
cm4gbWF0Y2hlcygqdmFsdWVUeXBlLCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSk7CiAgICAgICAg
IH0sIFsmXShBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJM
aXRlcmFsKSAtPiBib29sIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2aXNp
b24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xI
aWdoWm9tYmllRmluZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRfRElT
QUJMRUQKLS8vIElmIGEgaGlnaC1sZXZlbCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRvIGxp
dmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVkLCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBIaWdo
Wm9tYmllRmluZGVyIDogcHVibGljIFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9u
Jikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0K
LQotICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJp
ZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0jZW5k
aWYKLQotdm9pZCBmaW5kSGlnaFpvbWJpZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmluZEhp
Z2hab21iaWVzKFByb2dyYW0mKQogewotI2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNFRF9Q
QVJBTShwcm9ncmFtKTsKLSNlbHNlCi0gICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6OnZp
c2l0KHByb2dyYW0pOwotI2VuZGlmCisgICAgLy8gRklYTUU6IEJyaW5nIHRoaXMgcGhhc2UgYmFj
ayBvbmNlIHdlIGFkZCBhIG5ldyBwcm9wZXJ0eSByZXNvbHZlcgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNTEKIH0KIAogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEluZmVyVHlw
ZXMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTEluZmVyVHlwZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsMTAgKzEy
Nyw2IEBAIFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBtYXRjaEFuZENvbW1pdCgKICAgICAgICAg
cmVzb2x2YWJsZVR5cGUyLnJlc29sdmUoZG93bmNhc3Q8QVNUOjpVbnNpZ25lZEludGVnZXJMaXRl
cmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUyKS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1
cm4gJmRvd25jYXN0PEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVU
eXBlMSkucHJlZmVycmVkVHlwZSgpOwogICAgIH0KLSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJh
bFR5cGU+KHJlc29sdmFibGVUeXBlMSkgJiYgaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29s
dmFibGVUeXBlMikpIHsKLSAgICAgICAgLy8gRklYTUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRy
IGFuZCBudWxscHRyIGZhaWxzLgotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTE1MiwxMCArMTQ4LDYgQEAgUmVmUHRyPEFTVDo6VW5u
YW1lZFR5cGU+IGNvbW1pdChBU1Q6OlJlcwogICAgICAgICByZXNvbHZhYmxlVHlwZS5yZXNvbHZl
KHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKSk7CiAgICAgICAgIHJl
dHVybiAmdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUucHJlZmVycmVkVHlwZSgpOwogICAgIH0K
LSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlKSkgewotICAg
ICAgICAvLyBGSVhNRTogVHJ5aW5nIHRvIG1hdGNoIG51bGxwdHIgYW5kIG51bGxwdHIgZmFpbHMu
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5z
aWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xJbnRyaW5zaWNzLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9
CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXpl
KHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXpl
ID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0
b3JCb29sW3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlv
biYgdWludFR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpA
QCAtODIsNiArODgsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsy
XTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5
cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVy
biAqbV92ZWN0b3JVaW50W3NpemUgLSAyXTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVj
dG9ySW50WzBdKTsKQEAgLTk0LDYgKzEwNiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAq
bV92ZWN0b3JJbnRbMl07CiAgICAgfQogCisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24m
IGludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7Cisg
ICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6
TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBzYW1wbGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuICptX3ZlY3RvckZsb2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uJiBmbG9hdFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNv
bnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAz
IHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07
CisgICAgfQorCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZy
b20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uKiBkZHgoKSBjb25zdAogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExleGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODYyLDI5ICs4NjIsNiBAQCBwYXJzZUlkZW50aWZpZXI6CiAgICAg
ICAgIHN3aXRjaCAocGVlaygpKSB7CiAgICAgICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgc2hp
ZnQoKTsKLSAgICAgICAgICAgIHN3aXRjaCAocGVlaygpKSB7Ci0gICAgICAgICAgICBjYXNlICdb
JzoKLSAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1l
KCddJykpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3Bl
cmF0b3JOYW1lKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Oklu
dmFsaWQpOwotICAgICAgICAgICAgY2FzZSAnLic6Ci0gICAgICAgICAgICAgICAgc2hpZnQoKTsK
LSAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRJZGVudGlmaWVyU3RhcnQocGVlaygpKSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAg
ICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIHdoaWxlIChpc1ZhbGlkTm9u
U3RhcnRpbmdJZGVudGlmaWVyQ2hhcihwZWVrKCkpKQotICAgICAgICAgICAgICAgICAgICBzaGlm
dCgpOwotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3BlcmF0b3JO
YW1lKTsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2Vu
KFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgIGNh
c2UgJ1snOgotICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgIGlmICghY29uc3VtZSgn
XScpKQotICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6SW52YWxpZCk7
Ci0gICAgICAgICAgICBjb25zdW1lKCc9Jyk7CiAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9r
ZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKICAgICAgICAgY2FzZSAnPic6CkBAIC05NDcsMTUg
KzkyNCw2IEBAIHBhcnNlSWRlbnRpZmllcjoKICAgICAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAg
ICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKLSAgICAgICAg
Y2FzZSAnLic6Ci0gICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlk
SWRlbnRpZmllclN0YXJ0KHBlZWsoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRv
a2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAgICAgICAgICAgIHNoaWZ0KCk7Ci0gICAgICAgICAgICB3
aGlsZSAoaXNWYWxpZE5vblN0YXJ0aW5nSWRlbnRpZmllckNoYXIocGVlaygpKSkKLSAgICAgICAg
ICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgY29uc3VtZSgnPScpOwotICAgICAgICAgICAg
cmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpPcGVyYXRvck5hbWUpOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBl
Q2hlY2tlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaCIK
ICNpbmNsdWRlICJXSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNM
TnVsbExpdGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAi
V0hMU0xUeXBlUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCkBAIC03Mywx
MSArNzIsNiBAQCBwcml2YXRlOgogICAgICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9u
KTsKICAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50VW5z
aWduZWRJbnRlZ2VyKCkodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUudmFsdWUoKSkpOwogICAg
IH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlw
ZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVChudWxsTGl0ZXJhbFR5cGUubWF5YmVS
ZXNvbHZlZFR5cGUoKSk7Ci0gICAgfQogfTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBh
cnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMyw4ICs0MDMsNiBAQCBhdXRvIFBhcnNlcjo6
cGFyc2VDb25zdGFudEV4cHJlc3Npb24oKSAtCiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQodmFsdWUuZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiB7eyBBU1Q6OkZsb2F0TGl0ZXJh
bCh7ICp0eXBlIH0sICp2YWx1ZSkgfX07CiAgICAgfQotICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51
bGw6Ci0gICAgICAgIHJldHVybiB7IEFTVDo6TnVsbExpdGVyYWwoV1RGTW92ZSgqdHlwZSkpIH07
CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgQVNUOjpCb29s
ZWFuTGl0ZXJhbChXVEZNb3ZlKCp0eXBlKSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBl
OjpGYWxzZToKQEAgLTg3NSw3ICs4NzMsNiBAQCBhdXRvIFBhcnNlcjo6cGFyc2VFbnVtZXJhdGlv
bk1lbWJlcihpbnQ2CiAgICAgICAgIH0sIFsmXShBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwm
IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwm
KSB7Ci0gICAgICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJikgewogICAgICAgICB9LCBbJl0o
QVNUOjpCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJikgewogICAgICAgICB9KSk7CkBAIC0yMDYzLDcgKzIwNjAsNyBAQCBhdXRv
IFBhcnNlcjo6cGFyc2VUZXJtKCkgLT4gRXhwZWN0ZWQ8VW5pCiAgICAgICAgIHJldHVybiB7IG1h
a2VVbmlxdWVSZWY8QVNUOjpGbG9hdExpdGVyYWw+KCp0eXBlLCAqdmFsdWUpIH07CiAgICAgfQog
ICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51bGw6Ci0gICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVS
ZWY8QVNUOjpOdWxsTGl0ZXJhbD4oKnR5cGUpIH07CisgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChFcnJvcigiJ251bGwnIGlzIGEgcmVzZXJ2ZWQga2V5d29yZC4iLCB0eXBlLT5jb2RlTG9j
YXRpb24pKTsKICAgICBjYXNlIFRva2VuOjpUeXBlOjpUcnVlOgogICAgICAgICByZXR1cm4geyBt
YWtlVW5pcXVlUmVmPEFTVDo6Qm9vbGVhbkxpdGVyYWw+KCp0eXBlLCB0cnVlKSB9OwogICAgIGNh
c2UgVG9rZW46OlR5cGU6OkZhbHNlOgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksOCBAQAogI2luY2x1ZGUgIldITFNMU2VtYW50aWNN
YXRjaGVyLmgiCiAjaW5jbHVkZSAiV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuaCIKICNp
bmNsdWRlICJXSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5oIgotI2luY2x1ZGUgIldITFNM
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNp
emVDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucy5oIgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5o
IgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAKQEAgLTIyMyw5ICsyMjEsNyBAQCBzdGF0aWMgRXhwZWN0ZWQ8UHJvZ3JhbSwgU3RyaW5n
PiBwcmVwYXJlCiAgICAgTmFtZVJlc29sdmVyIG5hbWVSZXNvbHZlcihwcm9ncmFtLm5hbWVDb250
ZXh0KCkpOwogICAgIENIRUNLX1BBU1MocmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFt
ZVJlc29sdmVyKTsKICAgICBDSEVDS19QQVNTKGNoZWNrUmVjdXJzaXZlVHlwZXMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycywgcHJvZ3JhbSk7
CiAgICAgQ0hFQ0tfUEFTUyhzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0p
OwotICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgsIHByb2dyYW0p
OwogICAgIENIRUNLX1BBU1MocmVzb2x2ZVR5cGVOYW1lc0luRnVuY3Rpb25zLCBwcm9ncmFtLCBu
YW1lUmVzb2x2ZXIpOwogICAgIENIRUNLX1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJv
Z3JhbSk7CiAgICAgQ0hFQ0tfUEFTUyhjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvZ3JhbS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXSExTTFBy
b2dyYW0uaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
bmFtZXNwYWNlIFdITFNMIHsKKworYm9vbCBQcm9ncmFtOjppc1ZhbGlkVmVjdG9yUHJvcGVydHko
U3RyaW5nIHByb3BlcnR5KQoreworICAgIGlmIChtX3ZlY3RvclByb3BlcnRpZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoIngiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3giKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiengiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3oiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgieXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3ciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienoiKTsKKworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eCIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3eSIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Ind6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3oiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInp6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eiIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3
eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ6eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
end3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHciKTsKKworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ5enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5
eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h6eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend5eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXd4Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd5eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enl4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXd3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4end4Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXgiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgiend4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ3eXl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4end5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh6eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd3eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3eiIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInd3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l6
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enp3Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3l5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3p4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3h6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
eHl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eHkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3enp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3d3kiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ4eHl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3h3eCIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5enl6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInl6eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgienl3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3p5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgiend4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eXkiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3eSIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5
eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp5dyIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl5d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInl5d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eXh4eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXl5Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieXl5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHkiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5enciKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh4eHgi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eiIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInd4enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p3eSIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3p5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieXl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXd6Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgieHl4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4
eHp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHoiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl4eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ4eXd3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eXoiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6eSIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ5eHl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inp3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d4eSIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInl5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh6Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd3eHciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieHp5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHd4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h5eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3h3
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp5eXoiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3
enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp5eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInl6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh4dyIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enp6Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInd4eXkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enl6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4enh3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl3eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgieHd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4enciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgieXp3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6enh3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd5d3oiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eiIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ3eHh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5eHki
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXl5eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ5enp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInl4eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInp3d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp6
eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp5Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInl6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgieHh6dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXh4Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eHkiKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgienl5eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh5enkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgiend3eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eXh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6eXkiKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eiIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inl4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd3dyIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3d4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInd3eHgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp6eiIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6enp4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInd4eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgieXp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3d5Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgid3h3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5d3l5
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6d3oiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXh6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ5enh6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6engiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl4eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ4eXd6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6
d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh4eSIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInd3d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh6eiIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6end5Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInh4enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
enh6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp3Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp3eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgienp3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eHh5Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4d3kiKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgienp5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ5d3p4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4eHkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ5enl3Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3d3oi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp4eCIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ6eXl4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInp5d3kiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd5eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHh5
dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enh4Iik7CisgICAgICAgIG1f
dmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3oiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVz
LmFkZCgid3h5eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4d3l5Iik7Cisg
ICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQ
cm9wZXJ0aWVzLmFkZCgid3p6eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6
end6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp6eXkiKTsKKyAgICAgICAg
bV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l3eSIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRp
ZXMuYWRkKCJ3eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4eHciKTsK
KyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHp4eCIpOworICAgICAgICBtX3ZlY3Rv
clByb3BlcnRpZXMuYWRkKCJ3d3p5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQo
Inh3eHoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3d6eiIpOworICAgICAg
ICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eHh4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVy
dGllcy5hZGQoInp3eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd5dyIp
OworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eHl4Iik7CisgICAgICAgIG1fdmVj
dG9yUHJvcGVydGllcy5hZGQoInh6enciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFk
ZCgid3h4dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3enl4Iik7CisgICAg
ICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl6enoiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9w
ZXJ0aWVzLmFkZCgienh5dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6d3p6
Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3engiKTsKKyAgICAgICAgbV92
ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienh3dyIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMu
YWRkKCJ3eXp4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInd6eXoiKTsKKyAg
ICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHl6eCIpOworICAgICAgICBtX3ZlY3RvclBy
b3BlcnRpZXMuYWRkKCJ3enl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl4
d3ciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgid3l4eiIpOworICAgICAgICBt
X3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ4eXp6Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGll
cy5hZGQoInh4d3giKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieHd3eCIpOwor
ICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ6eXl3Iik7CisgICAgICAgIG1fdmVjdG9y
UHJvcGVydGllcy5hZGQoInp6eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgi
eHd6eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3eXd4Iik7CisgICAgICAg
IG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh6enkiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0
aWVzLmFkZCgiend6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ5eXp3Iik7
CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInh3eHciKTsKKyAgICAgICAgbV92ZWN0
b3JQcm9wZXJ0aWVzLmFkZCgid3h6eCIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRk
KCJ6eHl5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInl5eXkiKTsKKyAgICAg
ICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienp4eSIpOworICAgICAgICBtX3ZlY3RvclByb3Bl
cnRpZXMuYWRkKCJ4eHd5Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5hZGQoInp4d3gi
KTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXp5eSIpOworICAgICAgICBtX3Zl
Y3RvclByb3BlcnRpZXMuYWRkKCJ4d3l4Iik7CisgICAgICAgIG1fdmVjdG9yUHJvcGVydGllcy5h
ZGQoInh5eXgiKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgieXd4eCIpOworICAg
ICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3l3Iik7CisgICAgICAgIG1fdmVjdG9yUHJv
cGVydGllcy5hZGQoInh5eXciKTsKKyAgICAgICAgbV92ZWN0b3JQcm9wZXJ0aWVzLmFkZCgienl6
eiIpOworICAgICAgICBtX3ZlY3RvclByb3BlcnRpZXMuYWRkKCJ3d3h6Iik7CisgICAgfQorCisg
ICAgcmV0dXJuIG1fdmVjdG9yUHJvcGVydGllcy5jb250YWlucyhwcm9wZXJ0eSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdITFNMCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJHUFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFByb2dyYW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9uYW1lQ29udGV4dC5h
ZGQobV9uYXRpdmVUeXBlRGVjbGFyYXRpb25zLmxhc3QoKSk7CiAgICAgfQogCisgICAgYm9vbCBp
c1ZhbGlkVmVjdG9yUHJvcGVydHkoU3RyaW5nKTsKKwogICAgIE5hbWVDb250ZXh0JiBuYW1lQ29u
dGV4dCgpIHsgcmV0dXJuIG1fbmFtZUNvbnRleHQ7IH0KICAgICBJbnRyaW5zaWNzJiBpbnRyaW5z
aWNzKCkgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CiAgICAgY29uc3QgSW50cmluc2ljcyYgaW50
cmluc2ljcygpIGNvbnN0IHsgcmV0dXJuIG1faW50cmluc2ljczsgfQpAQCAtMTA2LDYgKzEwOCw3
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlv
bj4+IG1fZnVuY3Rpb25EZWZpbml0aW9uczsKICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4+IG1fbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbnM7CiAg
ICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4+IG1fbmF0aXZl
VHlwZURlY2xhcmF0aW9uczsKKyAgICBIYXNoU2V0PFN0cmluZz4gbV92ZWN0b3JQcm9wZXJ0aWVz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVy
LmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsODA1
ICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAotI2luY2x1ZGUgIldITFNMQXJyYXlU
eXBlLmgiCi0jaW5jbHVkZSAiV0hMU0xBc3NpZ25tZW50RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUg
IldITFNMQ2FsbEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTENvbW1hRXhwcmVzc2lvbi5o
IgotI2luY2x1ZGUgIldITFNMRGVyZWZlcmVuY2VFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hM
U0xEb3RFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlY2xhcmF0aW9uLmgi
Ci0jaW5jbHVkZSAiV0hMU0xGdW5jdGlvbkRlZmluaXRpb24uaCIKLSNpbmNsdWRlICJXSExTTElu
ZGV4RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZUFycmF5UmVmZXJlbmNlRXhwcmVz
c2lvbi5oIgotI2luY2x1ZGUgIldITFNMTWFrZVBvaW50ZXJFeHByZXNzaW9uLmgiCi0jaW5jbHVk
ZSAiV0hMU0xQb2ludGVyVHlwZS5oIgotI2luY2x1ZGUgIldITFNMUmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMUmVwbGFjZVdpdGguaCIKLSNpbmNsdWRlICJXSExT
TFZhcmlhYmxlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExTTFZhcmlhYmxlUmVmZXJlbmNl
LmgiCi0jaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
bmFtZXNwYWNlIFdITFNMIHsKIAotY2xhc3MgUHJvcGVydHlSZXNvbHZlciA6IHB1YmxpYyBWaXNp
dG9yIHsKLXB1YmxpYzoKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uRGVm
aW5pdGlvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikg
b3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYpIG92ZXJyaWRl
OwotICAgIHZvaWQgdmlzaXQoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwot
ICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIHNpbXBsaWZ5UmlnaHRWYWx1ZShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbiYpOwotICAgIGJvb2wgc2ltcGxpZnlBYnN0cmFjdExlZnRWYWx1ZShBU1Q6OkFzc2lnbm1l
bnRFeHByZXNzaW9uJiwgQVNUOjpEb3RFeHByZXNzaW9uJiwgVW5pcXVlUmVmPEFTVDo6RXhwcmVz
c2lvbj4mJiByaWdodCk7Ci0gICAgdm9pZCBzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJlc3Np
b24mKTsKLQotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgbV92YXJpYWJsZURlY2xhcmF0
aW9uczsKLX07Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNz
aW9uJiBkb3RFeHByZXNzaW9uKQotewotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNz
aWdubWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBh
IHJpZ2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5k
ZXhFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
aW5kZXhFeHByZXNzaW9uKCkpOwotICAgIC8vIFVubGVzcyB3ZSdyZSBpbnNpZGUgYW4gQXNzaWdu
bWVudEV4cHJlc3Npb24gb3IgYSBSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCB3ZSdyZSBhIHJp
Z2h0IHZhbHVlLgotICAgIHNpbXBsaWZ5UmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24pOwotfQot
Ci12b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pCi17Ci0gICAgVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKLSAgICBpZiAoIW1fdmFyaWFibGVEZWNsYXJhdGlvbnMuaXNFbXB0eSgpKQotICAgICAg
ICBmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKS5zdGF0ZW1lbnRzKCkuaW5zZXJ0KDAsIG1ha2VV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uc1N0YXRlbWVudD4oZnVuY3Rpb25EZWZp
bml0aW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKG1fdmFyaWFibGVEZWNsYXJhdGlvbnMpKSk7
Ci19Ci0KLWVudW0gY2xhc3MgV2hpY2hBbmRlciB7Ci0gICAgVGhyZWFkQW5kZXIsCi0gICAgQW5k
ZXIKLX07Ci0KLXN0cnVjdCBBbmRlckNhbGxBcmd1bWVudFJlc3VsdCB7Ci0gICAgVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gZXhwcmVzc2lvbjsKLSAgICBPcHRpb25hbDxVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbjsKLSAgICBXaGljaEFu
ZGVyIHdoaWNoQW5kZXI7Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgRXhwcmVzc2lvbkNvbnN0
cnVjdG9yLCB0eXBlbmFtZSBUeXBlQ29uc3RydWN0b3I+Ci1zdGF0aWMgT3B0aW9uYWw8QW5kZXJD
YWxsQXJndW1lbnRSZXN1bHQ+IHdyYXBBbmRlckNhbGxBcmd1bWVudChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYgZXhwcmVzc2lvbiwgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlLCBB
U1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rpb24sIEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLXsKLSAgICBhdXRvIGZ1bmN0aW9uRXNjYXBl
TW9kZSA9IFtdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9uRGVjbGFyYXRpb24p
IHsKLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVjbGFyYXRpb24uaXNOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uKCkgfHwgZnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJzaW5nTW9kZSgpID09IFBhcnNpbmdN
b2RlOjpTdGFuZGFyZExpYnJhcnkpCi0gICAgICAgICAgICByZXR1cm4gQVNUOjpBZGRyZXNzRXNj
YXBlTW9kZTo6RG9lc05vdEVzY2FwZTsKLSAgICAgICAgcmV0dXJuIEFTVDo6QWRkcmVzc0VzY2Fw
ZU1vZGU6OkVzY2FwZXM7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBleHByZXNzaW9u
LT5jb2RlTG9jYXRpb24oKTsKLSAgICBpZiAoYXV0byBhZGRyZXNzU3BhY2UgPSBleHByZXNzaW9u
LT50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICBpZiAoIWFu
ZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBh
dXRvIG1ha2VBcnJheVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVj
dG9yPihsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9uKSwgZnVuY3Rpb25Fc2NhcGVNb2RlKCph
bmRlckZ1bmN0aW9uKSk7Ci0gICAgICAgIG1ha2VBcnJheVJlZmVyZW5jZS0+c2V0VHlwZShUeXBl
Q29uc3RydWN0b3I6OmNyZWF0ZShsb2NhdGlvbiwgKmFkZHJlc3NTcGFjZSwgV1RGTW92ZShiYXNl
VHlwZSkpKTsKLSAgICAgICAgbWFrZUFycmF5UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIHJldHVybiB7eyBXVEZNb3ZlKG1ha2VBcnJheVJl
ZmVyZW5jZSksIFdURjo6bnVsbG9wdCwgV2hpY2hBbmRlcjo6QW5kZXIgfX07Ci0gICAgfQotICAg
IGlmICh0aHJlYWRBbmRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJh
dGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwg
QVNUOjpRdWFsaWZpZXJzKCksIGJhc2VUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIs
IG51bGxwdHIpOwotCi0gICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFw
KHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0
VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFk
IH0pOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVm
PEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlMSksIFdURk1vdmUoZXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVz
c2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAg
IGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxlRGVjbGFyYXRpb24p
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYo
KSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpM
ZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOwotCi0gICAgICAgIGF1dG8g
ZXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8RXhwcmVzc2lvbkNvbnN0cnVjdG9yPihsb2NhdGlv
biwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTIpLCBmdW5jdGlvbkVzY2FwZU1vZGUoKnRocmVh
ZEFuZGVyRnVuY3Rpb24pKTsKLSAgICAgICAgYXV0byByZXN1bHRUeXBlID0gVHlwZUNvbnN0cnVj
dG9yOjpjcmVhdGUobG9jYXRpb24sIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQsIFdURk1vdmUo
YmFzZVR5cGUpKTsKLSAgICAgICAgZXhwcmVzc2lvbi0+c2V0VHlwZShyZXN1bHRUeXBlLmNvcHlS
ZWYoKSk7Ci0gICAgICAgIGV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRW
YWx1ZSgpKTsKLQotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4
cHJlc3Npb25zOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50
RXhwcmVzc2lvbikpOwotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShleHByZXNz
aW9uKSk7Ci0gICAgICAgIGF1dG8gY29tbWFFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OkNvbW1hRXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZXhwcmVzc2lvbnMpKTsKLSAgICAg
ICAgY29tbWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUocmVzdWx0VHlwZSkpOwotICAgICAg
ICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICAgICAgcmV0dXJuIHt7IFdURk1vdmUoY29tbWFFeHByZXNzaW9uKSwgeyBXVEZNb3ZlKHZh
cmlhYmxlRGVjbGFyYXRpb24pIH0sIFdoaWNoQW5kZXI6OlRocmVhZEFuZGVyfX07Ci0gICAgfQot
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci19Ci0KLXN0YXRpYyBPcHRpb25hbDxBbmRlckNhbGxB
cmd1bWVudFJlc3VsdD4gYW5kZXJDYWxsQXJndW1lbnQoVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4mIGV4cHJlc3Npb24sIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5jdGlvbiwg
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uKQotewotICAgIGlm
ICghYW5kZXJGdW5jdGlvbiAmJiAhdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBleHByZXNzaW9uLT5yZXNvbHZl
ZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4odW5pZnlO
b2RlKSkgewotICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6VW5uYW1l
ZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgIEFTU0VSVCghaXM8QVNUOjpQb2ludGVyVHlwZT4o
dW5uYW1lZFR5cGUpKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1
bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4ge3sgV1RGTW92ZShleHByZXNzaW9uKSwg
V1RGOjpudWxsb3B0LCBXaGljaEFuZGVyOjpBbmRlciB9fTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
QXJyYXlUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gd3JhcEFuZGVyQ2Fs
bEFyZ3VtZW50PEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiwgQVNUOjpBcnJheVJl
ZmVyZW5jZVR5cGU+KGV4cHJlc3Npb24sIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVk
VHlwZSkudHlwZSgpLCBhbmRlckZ1bmN0aW9uLCB0aHJlYWRBbmRlckZ1bmN0aW9uKTsKLSAgICB9
Ci0gICAgcmV0dXJuIHdyYXBBbmRlckNhbGxBcmd1bWVudDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVz
c2lvbiwgQVNUOjpQb2ludGVyVHlwZT4oZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi0+cmVzb2x2ZWRU
eXBlKCksIGFuZGVyRnVuY3Rpb24sIHRocmVhZEFuZGVyRnVuY3Rpb24pOwotfQotCi1zdGF0aWMg
VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gc2V0dGVyQ2FsbChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIsIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbmV3VmFs
dWUsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oKT4mIGxl
ZnRWYWx1ZUZhY3RvcnksIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogaW5kZXhWYXJpYWJsZSkK
LXsKLSAgICBhdXRvIG1heWJlQWRkSW5kZXhBcmd1bWVudCA9IFsmXShWZWN0b3I8VW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4+JiBhcmd1bWVudHMpIHsKLSAgICAgICAgaWYgKCFpbmRleFZhcmlh
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgICAgIEFTU0VSVChpbmRleFZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqaW5kZXhW
YXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5v
dGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8g
RklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMg
dGhpcyByaWdodD8KLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlUmVm
ZXJlbmNlKSk7Ci0gICAgfTsKLQotICAgIGF1dG8gbG9jYXRpb24gPSBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgaWYgKHJlbGV2YW50QW5kZXIpIHsKLSAgICAg
ICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpID0gbmV3VmFsdWUKLSAgICAgICAgYXV0byBsZWZ0VmFs
dWUgPSBsZWZ0VmFsdWVGYWN0b3J5KCk7Ci0gICAgICAgIGF1dG8gYXJndW1lbnQgPSBhbmRlckNh
bGxBcmd1bWVudChsZWZ0VmFsdWUsIHJlbGV2YW50QW5kZXIsIHJlbGV2YW50QW5kZXIpOwotICAg
ICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBBU1NFUlQoIWFyZ3VtZW50LT52YXJpYWJs
ZURlY2xhcmF0aW9uKTsKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdo
aWNoQW5kZXI6OkFuZGVyKTsKLSAgICAgICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+PiBhcmd1bWVudHM7Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVu
dC0+ZXhwcmVzc2lvbikpOwotICAgICAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1lbnRz
KTsKLQotICAgICAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkNh
bGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHJlbGV2YW50QW5kZXItPm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHJlbGV2
YW50QW5kZXItPnR5cGUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5j
dGlvbigqcmVsZXZhbnRBbmRlcik7Ci0KLSAgICAgICAgYXV0byBkZXJlZmVyZW5jZUV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihsb2NhdGlvbiwg
V1RGTW92ZShjYWxsRXhwcmVzc2lvbikpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24t
PnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4ocmVsZXZhbnRBbmRlci0+dHlwZSgp
KS5lbGVtZW50VHlwZSgpKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7
Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoZGVyZWZlcmVuY2VFeHBy
ZXNzaW9uKSwgV1RGTW92ZShuZXdWYWx1ZSkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihyZWxldmFudEFuZGVyLT50eXBl
KCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIHJldHVybiBVbmlxdWVS
ZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAg
fQotCi0gICAgLy8gdiA9IG9wZXJhdG9yLmZvbz0odiwgbmV3VmFsdWUpCi0gICAgQVNTRVJUKHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIFZlY3RvcjxV
bmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgIGFyZ3VtZW50cy5hcHBl
bmQobGVmdFZhbHVlRmFjdG9yeSgpKTsKLSAgICBtYXliZUFkZEluZGV4QXJndW1lbnQoYXJndW1l
bnRzKTsKLSAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUobmV3VmFsdWUpKTsKLQotICAgIGF1
dG8gY2FsbEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBTdHJpbmcocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkt
Pm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5
cGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCktPnR5cGUoKSk7Ci0g
ICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXR0ZXJGdW5jdGlvbigpKTsKLQotICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBsZWZ0VmFs
dWVGYWN0b3J5KCksIFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICBhc3NpZ25tZW50RXhw
cmVzc2lvbi0+c2V0VHlwZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24o
KS0+dHlwZSgpKTsKLSAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24o
QVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgcmV0dXJuIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLX0KLQotc3RhdGljIFVuaXF1ZVJl
ZjxBU1Q6OkV4cHJlc3Npb24+IGdldHRlckNhbGwoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBy
ZWxldmFudEFuZGVyLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Np
b24+KCk+JiBsZWZ0VmFsdWVGYWN0b3J5LCBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qIGluZGV4
VmFyaWFibGUpCi17Ci0gICAgYXV0byBtYXliZUFkZEluZGV4QXJndW1lbnQgPSBbJl0oVmVjdG9y
PFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiYgYXJndW1lbnRzKSB7Ci0gICAgICAgIGlmICgh
aW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYXV0byB2YXJpYWJs
ZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpW
YXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqaW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQo
aW5kZXhWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5
cGUoKmluZGV4VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5z
ZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJl
YWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZSh2
YXJpYWJsZVJlZmVyZW5jZSkpOwotICAgIH07Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgaWYgKHJlbGV2YW50QW5k
ZXIpIHsKLSAgICAgICAgLy8gKm9wZXJhdG9yJi5mb28oJnYpCi0gICAgICAgIGF1dG8gbGVmdFZh
bHVlID0gbGVmdFZhbHVlRmFjdG9yeSgpOwotICAgICAgICBhdXRvIGFyZ3VtZW50ID0gYW5kZXJD
YWxsQXJndW1lbnQobGVmdFZhbHVlLCByZWxldmFudEFuZGVyLCByZWxldmFudEFuZGVyKTsKLSAg
ICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFi
bGVEZWNsYXJhdGlvbik7Ci0gICAgICAgIEFTU0VSVChhcmd1bWVudC0+d2hpY2hBbmRlciA9PSBX
aGljaEFuZGVyOjpBbmRlcik7Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNz
aW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUoYXJndW1l
bnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgbWF5YmVBZGRJbmRleEFyZ3VtZW50KGFyZ3VtZW50
cyk7Ci0KLSAgICAgICAgYXV0byBjYWxsRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpD
YWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0cmluZyhyZWxldmFudEFuZGVyLT5uYW1lKCkpLCBX
VEZNb3ZlKGFyZ3VtZW50cykpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZShyZWxl
dmFudEFuZGVyLT50eXBlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90
YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbi0+c2V0RnVu
Y3Rpb24oKnJlbGV2YW50QW5kZXIpOwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNz
aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9jYXRpb24s
IFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9u
LT5zZXRUeXBlKGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHJlbGV2YW50QW5kZXItPnR5cGUo
KSkuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OwotCi0gICAgICAgIHJldHVybiBVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIC8vIG9wZXJhdG9yLmZvbyh2KQot
ICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0K
LSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsKLSAgICBh
cmd1bWVudHMuYXBwZW5kKGxlZnRWYWx1ZUZhY3RvcnkoKSk7Ci0gICAgbWF5YmVBZGRJbmRleEFy
Z3VtZW50KGFyZ3VtZW50cyk7Ci0KLSAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OkNhbGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigpLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykp
OwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5n
ZXR0ZXJGdW5jdGlvbigpLT50eXBlKCkpOwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5u
b3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0
aW9uKCpwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICBy
ZXR1cm4gVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oV1RGTW92ZShjYWxsRXhwcmVzc2lvbikp
OwotfQotCi1zdHJ1Y3QgTW9kaWZ5UmVzdWx0IHsKLSAgICBBU1Q6OkV4cHJlc3Npb24mIGlubmVy
TGVmdFZhbHVlOwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVz
c2lvbnM7Ci0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiB2
YXJpYWJsZURlY2xhcmF0aW9uczsKLX07Ci1zdHJ1Y3QgTW9kaWZpY2F0aW9uUmVzdWx0IHsKLSAg
ICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotICAgIFVu
aXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHJlc3VsdDsKLX07Ci1zdGF0aWMgTW9kaWZ5UmVzdWx0
IG1vZGlmeShBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLCBzdGQ6OmZ1bmN0aW9uPE1vZGlmaWNhdGlvblJlc3VsdChVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYmKT4gbW9kaWZpY2F0aW9uKQotewotICAgIC8vIENvbnNpZGVyIGEuYi5jLmQr
KzsKLSAgICAvLyBUaGlzIHdvdWxkIGdldCB0cmFuc2Zvcm1lZCBpbnRvOgotICAgIC8vCi0gICAg
Ly8gU3RlcCAxOgotICAgIC8vIHAgPSAmYTsKLSAgICAvLwotICAgIC8vIFN0ZXAgMjoKLSAgICAv
LyBxID0gb3BlcmF0b3IuYigqcCk7Ci0gICAgLy8gciA9IG9wZXJhdG9yLmMocSk7Ci0gICAgLy8K
LSAgICAvLyBTdGVwIDM6Ci0gICAgLy8gb2xkVmFsdWUgPSBvcGVyYXRvci5kKHIpOwotICAgIC8v
IG5ld1ZhbHVlID0gLi4uOwotICAgIC8vCi0gICAgLy8gU3RlcCA0OgotICAgIC8vIHIgPSBvcGVy
YXRvci5kPShyLCBuZXdWYWx1ZSk7Ci0gICAgLy8gcSA9IG9wZXJhdG9yLmM9KHEsIHIpOwotICAg
IC8vCi0gICAgLy8gU3RlcCA1OgotICAgIC8vICpwID0gb3BlcmF0b3IuYj0oKnAsIHEpOwotCi0g
ICAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaXMgYS5iLmMuZCA9IGUsIFN0ZXAgMyBkaXNhcHBlYXJz
IGFuZCAibmV3VmFsdWUiIGluIHN0ZXAgNCBiZWNvbWVzICJlIi4KLSAgICAKLQotICAgIC8vIEZp
bmQgdGhlICIuYiIgIi5jIiBhbmQgIi5kIiBleHByZXNzaW9ucy4gVGhleSBlbmQgdXAgaW4gdGhl
IG9yZGVyIFsiLmQiLCAiLmMiLCAiLmIiXS4KLSAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3Jh
cHBlcjxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4+IGNoYWluOwotICAgIEFTVDo6UHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKiBpdGVyYXRvciA9ICZwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b247Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgY2hhaW4uYXBwZW5kKCppdGVyYXRvcik7
Ci0gICAgICAgIGlmIChpdGVyYXRvci0+YmFzZSgpLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJl
c3NTcGFjZSgpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIEFTU0VSVCghaXRlcmF0b3It
PmJhc2UoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICAgICAgaXRlcmF0
b3IgPSAmZG93bmNhc3Q8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24+KGl0ZXJhdG9yLT5i
YXNlKCkpOwotICAgIH0KLSAgICBhdXRvIGxlZnRFeHByZXNzaW9uID0gaXRlcmF0b3ItPnRha2VC
YXNlKCk7Ci0gICAgQVNUOjpFeHByZXNzaW9uJiBpbm5lckxlZnRFeHByZXNzaW9uID0gbGVmdEV4
cHJlc3Npb247Ci0KLSAgICAvLyBDcmVhdGUgInAiIHZhcmlhYmxlLgotICAgIGF1dG8gcG9pbnRl
clZhcmlhYmxlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxlZnRF
eHByZXNzaW9uLT5jb2RlTG9jYXRpb24oKSwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6UG9pbnRl
clR5cGU6OmNyZWF0ZShsZWZ0RXhwcmVzc2lvbi0+Y29kZUxvY2F0aW9uKCksICpsZWZ0RXhwcmVz
c2lvbi0+dHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCksIGxlZnRFeHByZXNzaW9u
LT5yZXNvbHZlZFR5cGUoKSksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLQotICAgIC8v
IENyZWF0ZSAicSIgYW5kICJyIiB2YXJpYWJsZXMuCi0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+PiBpbnRlcm1lZGlhdGVWYXJpYWJsZXM7Ci0gICAgaW50ZXJt
ZWRpYXRlVmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoY2hhaW4uc2l6ZSgpIC0gMSk7
Ci0gICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBjaGFpbi5zaXplKCk7ICsraSkgewotICAgICAg
ICBhdXRvJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBzdGF0aWNfY2FzdDxBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiY+KGNoYWluW2ldKTsKLSAgICAgICAgaW50ZXJtZWRpYXRlVmFy
aWFibGVzLnVuY2hlY2tlZEFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJh
dGlvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBBU1Q6OlF1YWxp
ZmllcnMoKSwgJnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgU3RyaW5n
KCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAgICAvLyBDb25zaWRlciBhW2Zvbygp
XVtiXSA9IGM7Ci0gICAgLy8gTmFpdmVseSwgVGhpcyB3b3VsZCBnZXQgZXhwYW5kZWQgdG86Ci0g
ICAgLy8KLSAgICAvLyB0ZW1wID0gb3BlcmF0b3JbXShhLCBmb28oKSk7Ci0gICAgLy8gdGVtcCA9
IG9wZXJhdG9yW109KHRlbXAsIGIsIGMpOwotICAgIC8vIGEgPSBvcGVyYXRvcltdPShhLCBmb28o
KSwgdGVtcCk7Ci0gICAgLy8KLSAgICAvLyBIb3dldmVyLCBpZiB3ZSBkaWQgdGhpcywgd2Ugd291
bGQgaGF2ZSB0byBydW4gZm9vKCkgdHdpY2UsIHdoaWNoIHdvdWxkIGJlIGluY29ycmVjdC4KLSAg
ICAvLyBJbnN0ZWFkLCB3ZSBuZWVkIHRvIHNhdmUgZm9vKCkgYW5kIGIgaW50byBtb3JlIHRlbXBv
cmFyeSB2YXJpYWJsZXMuCi0gICAgLy8gVGhlc2UgdGVtcG9yYXJ5IHZhcmlhYmxlcyBhcmUgcGFy
YWxsZWwgdG8gImNoYWluIiBhYm92ZSwgd2l0aCBudWxsb3B0IHJlZmVycmluZyB0byBhIERvdEV4
cHJlc3Npb24gKHdoaWNoIGRvZXNuJ3QgaGF2ZSBhbiBpbmRleCB2YWx1ZSB0byBzYXZlIHRvIGEg
dmFyaWFibGUpLgotICAgIC8vCi0gICAgLy8gSW5zdGVhZCwgdGhpcyBnZXRzIGV4cGFuZGVkIHRv
OgotICAgIC8vCi0gICAgLy8gcCA9ICZhOwotICAgIC8vIHRlbXAgPSBmb28oKTsKLSAgICAvLyBx
ID0gb3BlcmF0b3JbXSgqcCwgdGVtcCk7Ci0gICAgLy8gdGVtcDIgPSBiOwotICAgIC8vIHEgPSBv
cGVyYXRvcltdPShxLCB0ZW1wMiwgYyk7Ci0gICAgLy8gKnAgPSBvcGVyYXRvcltdPSgqcCwgdGVt
cCwgcSk7Ci0KLSAgICBWZWN0b3I8T3B0aW9uYWw8VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbj4+PiBpbmRleFZhcmlhYmxlczsKLSAgICBpbmRleFZhcmlhYmxlcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGNoYWluLnNpemUoKSk7Ci0gICAgZm9yIChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uIDogY2hhaW4pIHsKLSAgICAgICAg
aWYgKCFpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkg
ewotICAgICAgICAgICAgaW5kZXhWYXJpYWJsZXMuYXBwZW5kKFdURjo6bnVsbG9wdCk7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBhdXRvJiBpbmRleEV4cHJlc3Np
b24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uKTsKLSAgICAgICAgaW5kZXhWYXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIEFTVDo6UXVhbGlmaWVycygpLCAmaW5kZXhFeHByZXNzaW9uLmluZGV4RXhw
cmVzc2lvbigpLnJlc29sdmVkVHlwZSgpLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikpOwot
ICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lv
bnM7Ci0KLSAgICAvLyBTdGVwIDE6Ci0gICAgewotICAgICAgICBhdXRvIG1ha2VQb2ludGVyRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGlubmVy
TGVmdEV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUobGVmdEV4cHJlc3Npb24pLCBB
U1Q6OkFkZHJlc3NFc2NhcGVNb2RlOjpEb2VzTm90RXNjYXBlKTsKLSAgICAgICAgbWFrZVBvaW50
ZXJFeHByZXNzaW9uLT5zZXRUeXBlKEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShpbm5lckxlZnRF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCAqaW5uZXJMZWZ0RXhwcmVzc2lvbi50eXBlQW5ub3Rh
dGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgaW5uZXJMZWZ0RXhwcmVzc2lvbi5yZXNvbHZlZFR5
cGUoKSkpOwotICAgICAgICBtYWtlUG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJl
bmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZhcmlh
YmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFu
bm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJ
cyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtl
VW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGlubmVyTGVmdEV4cHJlc3Npb24u
Y29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG1ha2VQ
b2ludGVyRXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgIGV4cHJl
c3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgfQotCi0g
ICAgLy8gU3RlcCAyOgotICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiogcHJldmlvdXMgPSBu
dWxscHRyOwotICAgIGF1dG8gcHJldmlvdXNMZWZ0VmFsdWUgPSBbJl0oKSAtPiBVbmlxdWVSZWY8
QVNUOjpFeHByZXNzaW9uPiB7Ci0gICAgICAgIGlmIChwcmV2aW91cykgewotICAgICAgICAgICAg
YXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqcHJldmlvdXMpKTsKLSAgICAgICAg
ICAgIEFTU0VSVChwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJl
bmNlLT5zZXRUeXBlKCpwcmV2aW91cy0+dHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVm
ZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1Nw
YWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICByZXR1cm4gdmFyaWFi
bGVSZWZlcmVuY2U7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNl
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVm
ZXJlbmNlOjp3cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZh
cmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcG9p
bnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNzaW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSk7Ci0g
ICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9
KTsKLSAgICAgICAgcmV0dXJuIGRlcmVmZXJlbmNlRXhwcmVzc2lvbjsKLSAgICB9OwotICAgIGF1
dG8gYXBwZW5kSW5kZXhBc3NpZ25tZW50ID0gWyZdKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIE9wdGlvbmFsPFVuaXF1ZVJlZjxBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSkgewotICAgICAgICBpZiAoIWluZGV4
VmFyaWFibGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byYgaW5kZXhFeHBy
ZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbik7Ci0KLSAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgq
aW5kZXhWYXJpYWJsZSkpOwotICAgICAgICBBU1NFUlQoaW5kZXhWYXJpYWJsZS0+Z2V0KCkudHlw
ZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKmluZGV4VmFyaWFibGUt
PmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3Rh
dGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRo
aXMgcmlnaHQ/Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlx
dWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSwgaW5kZXhFeHByZXNz
aW9uLnRha2VJbmRleCgpKTsKLSAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUo
KmluZGV4VmFyaWFibGUtPmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNz
aW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhw
cmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICB9Owot
ICAgIGZvciAoc2l6ZV90IGkgPSBjaGFpbi5zaXplKCk7IC0taTsgKSB7Ci0gICAgICAgIEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24gPSBjaGFp
bltpXTsKLSAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0
aW9uID0gaW50ZXJtZWRpYXRlVmFyaWFibGVzW2kgLSAxXTsKLSAgICAgICAgT3B0aW9uYWw8VW5p
cXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4+JiBpbmRleFZhcmlhYmxlID0gaW5kZXhW
YXJpYWJsZXNbaV07Ci0KLSAgICAgICAgYXBwZW5kSW5kZXhBc3NpZ25tZW50KHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgaW5kZXhWYXJpYWJsZSk7Ci0KLSAgICAgICAgQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKiByZWxldmFudEFuZGVyID0gaSA9PSBjaGFpbi5zaXplKCkgLSAxID8gcHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSA6IHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Npb24g
PSBnZXR0ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcmVsZXZhbnRBbmRlciwgcHJl
dmlvdXNMZWZ0VmFsdWUsIGluZGV4VmFyaWFibGUgPyAmKmluZGV4VmFyaWFibGUgOiBudWxscHRy
KTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICAgICAgQVNTRVJUKHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgp
KTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRp
b24udHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLQotICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJl
ZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29k
ZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKGNhbGxFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgZXhwcmVzc2lvbnMu
YXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLQotICAgICAgICBwcmV2aW91
cyA9ICZ2YXJpYWJsZURlY2xhcmF0aW9uOwotICAgIH0KLSAgICBhcHBlbmRJbmRleEFzc2lnbm1l
bnQoY2hhaW5bMF0sIGluZGV4VmFyaWFibGVzWzBdKTsKLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24qIHJlbGV2YW50QW5kZXIgPSBjaGFpbi5zaXplKCkgPT0gMSA/IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24udGhy
ZWFkQW5kZXJGdW5jdGlvbigpOwotICAgIGF1dG8gbGFzdEdldHRlckNhbGxFeHByZXNzaW9uID0g
Z2V0dGVyQ2FsbChjaGFpblswXSwgcmVsZXZhbnRBbmRlciwgcHJldmlvdXNMZWZ0VmFsdWUsIGlu
ZGV4VmFyaWFibGVzWzBdID8gJiooaW5kZXhWYXJpYWJsZXNbMF0pIDogbnVsbHB0cik7Ci0KLSAg
ICAvLyBTdGVwIDM6Ci0gICAgYXV0byBtb2RpZmljYXRpb25SZXN1bHQgPSBtb2RpZmljYXRpb24o
V1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1vZGlmaWNhdGlvblJlc3VsdC5leHByZXNzaW9ucy5zaXplKCk7ICsraSkKLSAgICAg
ICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LmV4cHJlc3Np
b25zW2ldKSk7Ci0KLSAgICAvLyBTdGVwIDQ6Ci0gICAgVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4gcmlnaHRWYWx1ZSA9IFdURk1vdmUobW9kaWZpY2F0aW9uUmVzdWx0LnJlc3VsdCk7Ci0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGFpbi5zaXplKCkgLSAxOyArK2kpIHsKLSAgICAgICAg
QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiA9
IGNoYWluW2ldOwotICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxlRGVj
bGFyYXRpb24gPSBpbnRlcm1lZGlhdGVWYXJpYWJsZXNbaV07Ci0gICAgICAgIE9wdGlvbmFsPFVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiYgaW5kZXhWYXJpYWJsZSA9IGluZGV4
VmFyaWFibGVzW2ldOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LnRocmVhZEFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5p
cXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVy
ZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJs
ZVJlZmVyZW5jZTo6d3JhcCh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1NF
UlQodmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZl
cmVuY2UtPnNldFR5cGUoKnZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgICAg
IHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFT
VDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgICAgICBy
ZXR1cm4gdmFyaWFibGVSZWZlcmVuY2U7Ci0gICAgICAgIH0sIGluZGV4VmFyaWFibGUgPyAmKmlu
ZGV4VmFyaWFibGUgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RG
TW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotCi0gICAgICAgIHJpZ2h0VmFsdWUgPSBtYWtl
VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6
OndyYXAodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1NFUlQodmFyaWFibGVEZWNs
YXJhdGlvbi50eXBlKCkpOwotICAgICAgICByaWdodFZhbHVlLT5zZXRUeXBlKCp2YXJpYWJsZURl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIHJpZ2h0VmFsdWUtPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyBy
aWdodD8KLSAgICB9Ci0KLSAgICAvLyBTdGVwIDU6Ci0gICAgewotICAgICAgICBBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uID0gY2hhaW5bY2hh
aW4uc2l6ZSgpIC0gMV07Ci0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBzZXR0
ZXJDYWxsKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
LmFuZGVyRnVuY3Rpb24oKSwgV1RGTW92ZShyaWdodFZhbHVlKSwgWyZdKCkgLT4gVW5pcXVlUmVm
PEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVy
VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZSgqcG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6
OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihw
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UpKTsKLSAgICAgICAgICAgIEFTU0VSVChwb2ludGVyVmFyaWFibGUtPnR5cGUoKSk7
Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNU
OjpQb2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsK
LSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPigqcG9pbnRlclZhcmlhYmxl
LT50eXBlKCkpLmFkZHJlc3NTcGFjZSgpIH0pOwotICAgICAgICAgICAgcmV0dXJuIGRlcmVmZXJl
bmNlRXhwcmVzc2lvbjsKLSAgICAgICAgfSwgaW5kZXhWYXJpYWJsZXNbaW5kZXhWYXJpYWJsZXMu
c2l6ZSgpIC0gMV0gPyAmKihpbmRleFZhcmlhYmxlc1tpbmRleFZhcmlhYmxlcy5zaXplKCkgLSAx
XSkgOiBudWxscHRyKTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3Np
Z25tZW50RXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbnM7Ci0gICAgdmFyaWFibGVE
ZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgZm9yIChh
dXRvJiBpbnRlcm1lZGlhdGVWYXJpYWJsZSA6IGludGVybWVkaWF0ZVZhcmlhYmxlcykKLSAgICAg
ICAgdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUoaW50ZXJtZWRpYXRlVmFyaWFi
bGUpKTsKLSAgICBmb3IgKGF1dG8mIGluZGV4VmFyaWFibGUgOiBpbmRleFZhcmlhYmxlcykgewot
ICAgICAgICBpZiAoaW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKCppbmRleFZhcmlhYmxlKSk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHsgaW5uZXJMZWZ0RXhwcmVzc2lvbiwgV1RGTW92ZShleHByZXNzaW9ucyksIFdURk1vdmUodmFy
aWFibGVEZWNsYXJhdGlvbnMpIH07Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQo
QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYgYXNzaWdubWVudEV4cHJlc3Npb24pCi17Ci0gICAg
aWYgKGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRy
ZXNzU3BhY2UoKSkgewotICAgICAgICBzaW1wbGlmeUxlZnRWYWx1ZShhc3NpZ25tZW50RXhwcmVz
c2lvbi5sZWZ0KCkpOwotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgQVNTRVJUKCFhc3Np
Z25tZW50RXhwcmVzc2lvbi5sZWZ0KCkudHlwZUFubm90YXRpb24oKS5pc1JpZ2h0VmFsdWUoKSk7
Ci0KLSAgICBSZWY8QVNUOjpVbm5hbWVkVHlwZT4gdHlwZSA9IGFzc2lnbm1lbnRFeHByZXNzaW9u
LnJpZ2h0KCkucmVzb2x2ZWRUeXBlKCk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdu
bWVudEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0KLSAgICBhdXRvIG1vZGlmeVJlc3VsdCA9IG1vZGlm
eShkb3duY2FzdDxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJl
c3Npb24ubGVmdCgpKSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYpIC0+IE1vZGlm
aWNhdGlvblJlc3VsdCB7Ci0gICAgICAgIHJldHVybiB7IFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPj4oKSwgYXNzaWdubWVudEV4cHJlc3Npb24udGFrZVJpZ2h0KCkgfTsKLSAgICB9
KTsKLQotICAgIHNpbXBsaWZ5TGVmdFZhbHVlKG1vZGlmeVJlc3VsdC5pbm5lckxlZnRWYWx1ZSk7
Ci0KLSAgICBhdXRvIGxvY2F0aW9uID0gYXNzaWdubWVudEV4cHJlc3Npb24uY29kZUxvY2F0aW9u
KCk7Ci0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNv
bW1hRXhwcmVzc2lvbj4oYXNzaWdubWVudEV4cHJlc3Npb24sIGxvY2F0aW9uLCBXVEZNb3ZlKG1v
ZGlmeVJlc3VsdC5leHByZXNzaW9ucykpOwotICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZShX
VEZNb3ZlKHR5cGUpKTsKLSAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFT
VDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgIGZvciAoYXV0byYgdmFyaWFibGVEZWNsYXJhdGlvbiA6
IG1vZGlmeVJlc3VsdC52YXJpYWJsZURlY2xhcmF0aW9ucykKLSAgICAgICAgbV92YXJpYWJsZURl
Y2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci19Ci0KLXZv
aWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9u
JiByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKLSAgICBpZiAo
aGFzRXJyb3IoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHJlYWRN
b2RpZnlXcml0ZUV4cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgYXV0byBsZWZ0VmFsdWVM
b2NhdGlvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkuY29kZUxvY2F0
aW9uKCk7Ci0KLSAgICBpZiAocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS50
eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkgewotICAgICAgICAvLyBDb25zaWRl
ciBhKys7Ci0gICAgICAgIC8vIFRoaXMgd291bGQgZ2V0IHRyYW5zZm9ybWVkIGludG86Ci0gICAg
ICAgIC8vCi0gICAgICAgIC8vIHAgPSAmYTsKLSAgICAgICAgLy8gb2xkVmFsdWUgPSAqcDsKLSAg
ICAgICAgLy8gbmV3VmFsdWUgPSAuLi47Ci0gICAgICAgIC8vICpwID0gbmV3VmFsdWU7Ci0KLSAg
ICAgICAgc2ltcGxpZnlMZWZ0VmFsdWUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKSk7Ci0KLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IGJhc2VUeXBlID0gcmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+IHBvaW50ZXJUeXBlID0gQVNUOjpQb2ludGVyVHlwZTo6Y3Jl
YXRlKGxlZnRWYWx1ZUxvY2F0aW9uLCAqcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgYmFzZVR5cGUuY29weVJl
ZigpKTsKLQotICAgICAgICBhdXRvIHBvaW50ZXJWYXJpYWJsZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJz
KCksIHBvaW50ZXJUeXBlLmNvcHlSZWYoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwot
Ci0gICAgICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gZXhwcmVzc2lvbnM7
Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byBtYWtlUG9pbnRlckV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlv
biwgcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTGVmdFZhbHVlKCksIEFTVDo6QWRkcmVz
c0VzY2FwZU1vZGU6OkRvZXNOb3RFc2NhcGUpOwotICAgICAgICAgICAgbWFrZVBvaW50ZXJFeHBy
ZXNzaW9uLT5zZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBtYWtl
UG9pbnRlckV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsK
LQotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNU
OjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVy
VmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKHBvaW50
ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlw
ZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0p
OyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2
OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9u
ID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2Nh
dGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobWFrZVBvaW50ZXJFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShwb2lu
dGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UxID0gbWFrZVVu
aXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlOjp3
cmFwKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5z
ZXRUeXBlKHBvaW50ZXJUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVy
ZW5jZTEtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3Bh
Y2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9u
Pihsb2NhdGlvbiwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTEpKTsKLSAgICAgICAgICAgIGRl
cmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAg
ICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVz
c2lvbi5vbGRWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJl
ZmVyZW5jZTItPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNz
U3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBhc3Np
Z25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lv
bj4obG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UyKSwgV1RGTW92ZShkZXJlZmVy
ZW5jZUV4cHJlc3Npb24pKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRU
eXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgICAgICBl
eHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9IHJl
YWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAg
ICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFs
dWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAg
ICAgICAgICBhdXRvIG5ld1ZhbHVlRXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZU5ld1ZhbHVlRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgYXV0byBhc3NpZ25tZW50
RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG5ld1ZhbHVlRXhwcmVz
c2lvbikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5
cGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBl
QW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25z
LmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMSA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChw
b2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0VHlw
ZShwb2ludGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2Ux
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpU
aHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gZGVyZWZlcmVuY2VF
eHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4obG9j
YXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UxKSk7Ci0gICAgICAgICAgICBkZXJlZmVy
ZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAg
IGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUg
eyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAg
ICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24u
bmV3VmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+
c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UyLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNl
OjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gYXNzaWdubWVu
dEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxv
Y2F0aW9uLCBXVEZNb3ZlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiksIFdURk1vdmUodmFyaWFibGVS
ZWZlcmVuY2UyKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShi
YXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGF1dG8gcmVzdWx0RXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24udGFrZVJlc3VsdEV4cHJlc3Npb24oKTsKLSAgICAgICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+
IHR5cGUgPSByZXN1bHRFeHByZXNzaW9uLT5yZXNvbHZlZFR5cGUoKTsKLSAgICAgICAgZXhwcmVz
c2lvbnMuYXBwZW5kKFdURk1vdmUocmVzdWx0RXhwcmVzc2lvbikpOwotCi0gICAgICAgIFVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSBy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgICAgICBVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBuZXdWYXJpYWJsZURlY2xhcmF0aW9uID0gcmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWUoKTsKLQotICAgICAgICBhdXRvKiBj
b21tYUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6Q29tbWFFeHByZXNzaW9uPihy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShleHByZXNzaW9ucykp
OwotICAgICAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGUoV1RGTW92ZSh0eXBlKSk7Ci0gICAg
ICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkp
OwotCi0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUocG9pbnRl
clZhcmlhYmxlKSk7Ci0gICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1v
dmUob2xkVmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRp
b25zLmFwcGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIEFTU0VSVCghcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0
VmFsdWUoKS50eXBlQW5ub3RhdGlvbigpLmlzUmlnaHRWYWx1ZSgpKTsKLSAgICBpZiAoIWlzPEFT
VDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpKSkgewotICAgICAgICBzZXRFcnJvcihFcnJvcigiQmFzZSBvZiByZWFkIG1vZGlm
eSB3cml0ZSBleHByZXNzaW9uIGlzIGEgcmlnaHQtdmFsdWUuIiwgcmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5sZWZ0VmFsdWUoKS5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGF1dG8gbW9kaWZ5UmVzdWx0ID0gbW9kaWZ5KGRvd25jYXN0PEFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uPihyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgp
KSwgWyZdKFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgbGFzdEdldHRlckNhbGxFeHByZXNz
aW9uKSAtPiBNb2RpZmljYXRpb25SZXN1bHQgewotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFT
VDo6RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1
dG8gdmFyaWFibGVSZWZlcmVuY2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm9sZFZhcmlh
YmxlUmVmZXJlbmNlKCk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShy
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICAgICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6
QXNzaWdubWVudEV4cHJlc3Npb24+KGxlZnRWYWx1ZUxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxl
UmVmZXJlbmNlKSwgV1RGTW92ZShsYXN0R2V0dGVyQ2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAg
ICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Np
b24ubGVmdFZhbHVlKCkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAg
ICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVu
Y2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0g
ICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIHZhcmlhYmxl
UmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVz
c1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgICAgIGF1dG8gbmV3
VmFsdWVFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWVF
eHByZXNzaW9uKCk7Ci0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFr
ZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlvbiwg
V1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobmV3VmFsdWVFeHByZXNzaW9uKSk7
Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShyZWFkTW9kaWZ5V3Jp
dGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgICAgIGFz
c2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7
Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0g
cmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAg
ICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVh
ZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICByZXR1cm4geyBXVEZNb3ZlKGV4cHJlc3Np
b25zKSwgIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpIH07Ci0gICAgfSk7Ci0KLSAgICBzaW1w
bGlmeUxlZnRWYWx1ZShtb2RpZnlSZXN1bHQuaW5uZXJMZWZ0VmFsdWUpOwotCi0gICAgYXV0byBy
ZXN1bHRFeHByZXNzaW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlUmVzdWx0RXhw
cmVzc2lvbigpOwotICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiB0eXBlID0gcmVzdWx0RXhwcmVz
c2lvbi0+cmVzb2x2ZWRUeXBlKCk7Ci0gICAgbW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zLmFwcGVu
ZChXVEZNb3ZlKHJlc3VsdEV4cHJlc3Npb24pKTsKLQotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb24+IG9sZFZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVF
eHByZXNzaW9uLnRha2VPbGRWYWx1ZSgpOwotICAgIFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVj
bGFyYXRpb24+IG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNz
aW9uLnRha2VOZXdWYWx1ZSgpOwotCi0gICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpy
ZXBsYWNlV2l0aDxBU1Q6OkNvbW1hRXhwcmVzc2lvbj4ocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
biwgbG9jYXRpb24sIFdURk1vdmUobW9kaWZ5UmVzdWx0LmV4cHJlc3Npb25zKSk7Ci0gICAgY29t
bWFFeHByZXNzaW9uLT5zZXRUeXBlKFdURk1vdmUodHlwZSkpOwotICAgIGNvbW1hRXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgZm9yIChhdXRv
JiB2YXJpYWJsZURlY2xhcmF0aW9uIDogbW9kaWZ5UmVzdWx0LnZhcmlhYmxlRGVjbGFyYXRpb25z
KQotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxl
RGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3Zl
KG9sZFZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFw
cGVuZChXVEZNb3ZlKG5ld1ZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLX0KLQotc3RhdGljIE9wdGlv
bmFsPEFuZGVyQ2FsbEFyZ3VtZW50UmVzdWx0PiBhbmRlckNhbGxBcmd1bWVudChBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIHJl
dHVybiBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFzZVJlZmVy
ZW5jZSgpLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbigpLCBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsKLX0KLQotdm9pZCBQcm9w
ZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFsdWUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikKLXsKLSAgICBhdXRvIGxvY2F0aW9uID0g
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotCi0gICAgY2hlY2tFcnJv
ckFuZFZpc2l0KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgaWYgKGF1
dG8gYXJndW1lbnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24p
KSB7Ci0gICAgICAgIGF1dG8qIGFuZGVyRnVuY3Rpb24gPSBhcmd1bWVudC0+d2hpY2hBbmRlciA9
PSBXaGljaEFuZGVyOjpUaHJlYWRBbmRlciA/IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi50aHJl
YWRBbmRlckZ1bmN0aW9uKCkgOiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlv
bigpOwotICAgICAgICBBU1NFUlQoYW5kZXJGdW5jdGlvbik7Ci0gICAgICAgIFZlY3RvcjxVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBw
ZW5kKFdURk1vdmUoYXJndW1lbnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
SW5kZXhFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pKQotICAgICAgICAgICAg
YXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Np
b24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxvY2F0aW9uLCBTdHJpbmco
YW5kZXJGdW5jdGlvbi0+bmFtZSgpKSwgV1RGTW92ZShhcmd1bWVudHMpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGUoYW5kZXJGdW5jdGlvbi0+dHlwZSgpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICAg
ICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCphbmRlckZ1bmN0aW9uKTsKLQotICAgICAg
ICBhdXRvKiBkZXJlZmVyZW5jZUV4cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6RGVy
ZWZlcmVuY2VFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGxvY2F0aW9uLCBX
VEZNb3ZlKGNhbGxFeHByZXNzaW9uKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+
c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGVB
bm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5k
ZXJGdW5jdGlvbi0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9KTsKLQotICAgICAgICBpZiAoYXV0
byYgdmFyaWFibGVEZWNsYXJhdGlvbiA9IGFyZ3VtZW50LT52YXJpYWJsZURlY2xhcmF0aW9uKQot
ICAgICAgICAgICAgbV92YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSgqdmFyaWFi
bGVEZWNsYXJhdGlvbikpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlQo
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1bmN0aW9uKCkpOwotICAgIGF1dG8mIGdl
dHRlckZ1bmN0aW9uID0gKnByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlvbigp
OwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAg
IGFyZ3VtZW50cy5hcHBlbmQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnRha2VCYXNlKCkpOwot
ICAgIEFTVDo6Q2FsbEV4cHJlc3Npb24qIGNhbGxFeHByZXNzaW9uOwotICAgIGlmIChpczxBU1Q6
OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkgewotICAgICAgICBh
dXRvJiBpbmRleEV4cHJlc3Npb24gPSBkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChpbmRleEV4
cHJlc3Npb24udGFrZUluZGV4KCkpOwotICAgICAgICBjYWxsRXhwcmVzc2lvbiA9IEFTVDo6cmVw
bGFjZVdpdGg8QVNUOjpDYWxsRXhwcmVzc2lvbj4oaW5kZXhFeHByZXNzaW9uLCBsb2NhdGlvbiwg
U3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdURk1vdmUoYXJndW1lbnRzKSk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGlzPEFTVDo6RG90RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uKSk7Ci0gICAgICAgIGF1dG8mIGRvdEV4cHJlc3Npb24gPSBkb3duY2Fz
dDxBU1Q6OkRvdEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgICAg
IGNhbGxFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkNhbGxFeHByZXNzaW9uPihk
b3RFeHByZXNzaW9uLCBsb2NhdGlvbiwgU3RyaW5nKGdldHRlckZ1bmN0aW9uLm5hbWUoKSksIFdU
Rk1vdmUoYXJndW1lbnRzKSk7Ci0gICAgfQotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5jdGlv
bihnZXR0ZXJGdW5jdGlvbik7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldFR5cGUoZ2V0dGVyRnVu
Y3Rpb24udHlwZSgpKTsKLSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNU
OjpSaWdodFZhbHVlKCkpOwotfQotCi1jbGFzcyBMZWZ0VmFsdWVTaW1wbGlmaWVyIDogcHVibGlj
IFZpc2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYp
IG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24mKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJikgb3ZlcnJpZGU7
Ci0KLSAgICB2b2lkIGZpbmlzaFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
Jik7Ci19OwotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OmZpbmlzaFZpc2l0aW5nKEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0g
ICAgQVNTRVJUKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5iYXNlKCkudHlwZUFubm90YXRpb24o
KS5sZWZ0QWRkcmVzc1NwYWNlKCkpOwotICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uYW5kZXJGdW5jdGlvbigpKTsKLQotICAgIFZpc2l0b3I6OnZpc2l0KHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5iYXNlKCkpOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IHByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKTsKLSAgICBhdXRvKiBhbmRlckZ1bmN0aW9uID0gcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKTsKLQotICAgIGF1dG8gYXJndW1l
bnQgPSBhbmRlckNhbGxBcmd1bWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwotICAgIEFT
U0VSVChhcmd1bWVudCk7Ci0gICAgQVNTRVJUKCFhcmd1bWVudC0+dmFyaWFibGVEZWNsYXJhdGlv
bik7Ci0gICAgQVNTRVJUKGFyZ3VtZW50LT53aGljaEFuZGVyID09IFdoaWNoQW5kZXI6OkFuZGVy
KTsKLQotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwot
ICAgIGFyZ3VtZW50cy5hcHBlbmQoV1RGTW92ZShhcmd1bWVudC0+ZXhwcmVzc2lvbikpOwotICAg
IGlmIChpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSkK
LSAgICAgICAgYXJndW1lbnRzLmFwcGVuZChkb3duY2FzdDxBU1Q6OkluZGV4RXhwcmVzc2lvbj4o
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKS50YWtlSW5kZXgoKSk7Ci0gICAgYXV0byBjYWxsRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpDYWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0
cmluZyhhbmRlckZ1bmN0aW9uLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgIGNh
bGxFeHByZXNzaW9uLT5zZXRUeXBlKGFuZGVyRnVuY3Rpb24tPnR5cGUoKSk7Ci0gICAgY2FsbEV4
cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICBjYWxs
RXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKmFuZGVyRnVuY3Rpb24pOwotCi0gICAgYXV0byogZGVy
ZWZlcmVuY2VFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6OkRlcmVmZXJlbmNlRXhw
cmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShjYWxs
RXhwcmVzc2lvbikpOwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2Fz
dDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkp
OwotICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0
VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihhbmRlckZ1bmN0aW9uLT50eXBlKCkp
LmFkZHJlc3NTcGFjZSgpIH0pOwotfQotCi12b2lkIExlZnRWYWx1ZVNpbXBsaWZpZXI6OnZpc2l0
KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICBWaXNpdG9yOjp2aXNp
dChkb3RFeHByZXNzaW9uKTsKLSAgICBmaW5pc2hWaXNpdGluZyhkb3RFeHByZXNzaW9uKTsKLX0K
LQotdm9pZCBMZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYg
aW5kZXhFeHByZXNzaW9uKQotewotICAgIFByb3BlcnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNp
dChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwotICAgIGZpbmlzaFZpc2l0aW5n
KGluZGV4RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgTGVmdFZhbHVlU2ltcGxpZmllcjo6dmlzaXQo
QVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Npb24mIGRlcmVmZXJlbmNlRXhwcmVzc2lvbikKLXsKLSAg
ICAvLyBEZXJlZmVyZW5jZSBleHByZXNzaW9ucyBhcmUgdGhlIG9ubHkgZXhwcmVzc2lvbnMgd2hl
cmUgdGhlIGNoaWxkcmVuIG1pZ2h0IGJlIG1vcmUtcmlnaHQgdGhhbiB3ZSBhcmUuCi0gICAgLy8g
Rm9yIGV4YW1wbGUsIGEgZGVyZWZlcmVuY2UgZXhwcmVzc2lvbiBtYXkgYmUgYSBsZWZ0IHZhbHVl
IGJ1dCBpdHMgY2hpbGQgbWF5IGJlIGEgY2FsbCBleHByZXNzaW9uIHdoaWNoIGlzIGEgcmlnaHQg
dmFsdWUuCi0gICAgLy8gTGVmdFZhbHVlU2ltcGxpZmllciBkb2Vzbid0IGhhbmRsZSByaWdodCB2
YWx1ZXMsIHNvIHdlIGluc3RlYWQgbmVlZCB0byB1c2UgUHJvcGVydHlSZXNvbHZlci4KLSAgICBQ
cm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQoZGVyZWZlcmVuY2VFeHByZXNzaW9uKTsK
LX0KLQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeUxlZnRWYWx1ZShBU1Q6OkV4cHJl
c3Npb24mIGV4cHJlc3Npb24pCi17Ci0gICAgTGVmdFZhbHVlU2ltcGxpZmllcigpLlZpc2l0b3I6
OnZpc2l0KGV4cHJlc3Npb24pOwotfQotCi12b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0m
IHByb2dyYW0pCit2b2lkIHJlc29sdmVQcm9wZXJ0aWVzKFByb2dyYW0mKQogewotICAgIFByb3Bl
cnR5UmVzb2x2ZXIoKS5WaXNpdG9yOjp2aXNpdChwcm9ncmFtKTsKKyAgICAvLyBGSVhNRTogQnJp
bmcgdGhpcyBwaGFzZSBiYWNrIHRvIGFsbG93IG1ldGFsIGNvZGVnZW4gc29tZSBjb252ZW5pZW5j
ZXMgCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1
MQogfQogCiB9IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFBydW5lVW5yZWFjaGFibGVTdGFuZGFyZExpYnJhcnlGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MSwyMyArNTEsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICB2aXNpdChkb3duY2Fz
dDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpOwog
ICAgIH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIGV4
cHJlc3Npb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBhdXRvIHZpc2l0RnVuY3Rpb24gPSBb
Jl0gKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogZnVuY3Rpb24pIHsKLSAgICAgICAgICAgIGlm
ICghZnVuY3Rpb24pCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgaWYgKGlz
PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgIHZp
c2l0KGRvd25jYXN0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uPigqZnVuY3Rpb24pKTsKLSAgICAg
ICAgfTsKLQotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24o
KSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpOwot
ICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpKTsK
LSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnNldHRlckZ1bmN0aW9uKCkpOwotCi0g
ICAgICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8
QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiB0YWtlUmVhY2hhYmxlRnVuY3Rpb25zKCkgeyByZXR1
cm4gV1RGTW92ZShtX3JlYWNoYWJsZUZ1bmN0aW9ucyk7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeS50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMjEwLDM3MCArMjEwLDYgQEAgdWludDQgcmV2ZXJzZWJpdHModWludDQgeCkgewog
fQogCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3cgKi8KLWJvb2wzIG9wZXJhdG9y
Lnl3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3coaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci55d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enp5ICovCi1i
b29sNCBvcGVyYXRvci55enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9y
Lnl6enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eSh1aW50MyB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXp6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55enp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eSAqLwotYm9vbDQgb3Bl
cmF0b3Iuenl4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh5KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHkoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd4
enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h6eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci53eHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXh4eiAqLwotYm9vbDQgb3BlcmF0b3IueXh4eihib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh6KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl4eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXh4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eHooaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl4eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXh4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp4d3k9ICovCi1ib29sNCBvcGVyYXRvci56eHd5PShib29sNCB2LCBib29sNCBj
KSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh3eT0odWludDQgdiwgdWludDQg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh3eT0oaW50NCB2LCBpbnQ0IGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHd5PShmbG9hdDQgdiwgZmxvYXQ0
IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd3
dyAqLwotYm9vbDQgb3BlcmF0b3IueHd3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd3dyhp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3d3coZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3l6ICovCi1ib29sNCBv
cGVyYXRvci56d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXoo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l6KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
LyogRnVuY3Rpb25zIG5hbWVkIGlzb3JkZXJlZCAqLwogYm9vbCBpc29yZGVyZWQoZmxvYXQgeCwg
ZmxvYXQgeSkgewogICAgIHJldHVybiAoeCA9PSB4KSAmJiAoeSA9PSB5KTsKQEAgLTYwMCw4OCAr
MjM2LDYgQEAgYm9vbDQgaXNvcmRlcmVkKGZsb2F0NCB4LCBmbG9hdDQgeSkgewogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54ICovCi1uYXRpdmUg
Ym9vbCBvcGVyYXRvci54KGJvb2wyKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yLngoYm9vbDMpOwot
bmF0aXZlIGJvb2wgb3BlcmF0b3IueChib29sNCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvci54KHVp
bnQyKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLngodWludDMpOwotbmF0aXZlIHVpbnQgb3BlcmF0
b3IueCh1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50Mik7Ci1uYXRpdmUgaW50IG9w
ZXJhdG9yLngoaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLngoaW50NCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IueChmbG9hdDIpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLngoZmxvYXQzKTsK
LW5hdGl2ZSBmbG9hdCBvcGVyYXRvci54KGZsb2F0NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXd4ICovCi1ib29sNCBvcGVyYXRvci54eXd4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci54eXd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3l4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCiAvKiBGdW5jdGlvbnMgbmFtZWQgdHJhbnNwb3NlICovCiBmbG9hdCB0cmFuc3Bv
c2UoZmxvYXQgeCkgewogICAgIHJldHVybiB4OwpAQCAtNjg5LDI3MiArMjQzLDEyMiBAQCBmbG9h
dCB0cmFuc3Bvc2UoZmxvYXQgeCkgewogZmxvYXQyeDIgdHJhbnNwb3NlKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMg
dHJhbnNwb3NlKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwotICAgIHJlc3Vs
dFswXVsyXSA9IHhbMl1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IHRyYW5zcG9zZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CiAgICAgcmVzdWx0WzBd
WzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwotICAgIHJlc3VsdFsw
XVszXSA9IHhbM11bMF07Ci0gICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKICAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzNdID0geFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDIgdHJhbnNw
b3NlKGZsb2F0MngzIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsw
XSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKICAgICByZXN1bHRbMl1b
MF0gPSB4WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXTsKICAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDN4MyB0cmFuc3Bvc2UoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gz
IHJlc3VsdDsKK2Zsb2F0NHgyIHRyYW5zcG9zZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzNdWzBd
ID0geFswXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB4WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3g0IHRyYW5zcG9zZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQzeDQg
cmVzdWx0OworZmxvYXQyeDMgdHJhbnNwb3NlKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
WzFdWzBdOwotICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eFszXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSA9
IHhbMV1bMF07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
PSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzNd
ID0geFszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwotICAgIHJlc3VsdFsyXVsx
XSA9IHhbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKLSAgICByZXN1bHRbMl1b
M10gPSB4WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiB0cmFuc3Bvc2Uo
ZmxvYXQyeDQgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0M3gzIHRyYW5zcG9zZShm
bG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzBdID0g
eFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0g
PSB4WzBdWzNdOwotICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CisgICAgcmVzdWx0WzBdWzJd
ID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IHhbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHgzIHRyYW5zcG9zZShm
bG9hdDN4NCB4KSB7CiAgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVswXSA9
IHhbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
PSB4WzJdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFd
ID0geFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsyXVsx
XSA9IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJd
WzJdID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDR4NCB0cmFuc3Bvc2UoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKK2Zsb2F0Mng0IHRyYW5zcG9zZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKICAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV07CiAgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNd
ID0geFszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgdHJhbnNwb3NlKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFsw
XVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhb
MF1bMl07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKICAgICByZXN1bHRbMV1bMV0gPSB4
WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwogICAgIHJlc3VsdFsyXVsxXSA9
IHhbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwogICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CisgICAgcmVzdWx0WzBdWzNd
ID0geFszXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwogICAgIHJlc3VsdFsyXVsz
XSA9IHhbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IHRyYW5zcG9zZShm
bG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4
WzBdWzJdOwogICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFdID0g
eFsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9
IHhbMV1bMl07CiAgICAgcmVzdWx0WzNdWzFdID0geFsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0g
PSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNdOworICAgIHJlc3VsdFswXVsz
XSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsxXTsKKyAgICByZXN1bHRbMl1b
M10gPSB4WzNdWzJdOwogICAgIHJlc3VsdFszXVszXSA9IHhbM11bM107CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4ej0gKi8KLWJvb2w0
IG9wZXJhdG9yLnd5eHo9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54
ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53eXh6PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eXh6PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9
IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd5eHo9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXh6ICovCi1ib29sNCBvcGVyYXRvci55eXh6
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5eHooYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55eXh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXl4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eihmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55eXh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IuenggKi8KLWJvb2wyIG9wZXJhdG9yLnp4KGJvb2wzIHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnp4KGJvb2w0IHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp4KHVpbnQzIHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp4KHVpbnQ0IHYpIHsK
LSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuengoaW50MyB2KSB7Ci0g
ICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuengoaW50NCB2KSB7Ci0gICAg
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eChmbG9hdDMgdikgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eChmbG9hdDQgdikgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9j
a2VkQWRkICovCiBuYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFkZChkZXZpY2UgYXRvbWljX3VpbnQq
LCB1aW50LCB0aHJlYWQgdWludCopOwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQoZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKQEAgLTk2OSwxNzQgKzM3Myw2IEBAIG5h
dGl2ZSB2b2lkIEludGVybG9ja2VkQWRkKHRocmVhZGdyb3VwIGEKIG5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkQWRkKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
enl4ICovCi1ib29sNCBvcGVyYXRvci54enl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnh6eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5
eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enl4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54enl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5
eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enl4KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d6dyAqLwot
Ym9vbDQgb3BlcmF0b3Iud3d6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53d3p3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d6dyhpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3encoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d5ICovCi1ib29sNCBvcGVyYXRv
ci55d3d5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3d3kodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3d5KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXd3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3goYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp3eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiAvKiBGdW5jdGlvbnMgbmFtZWQg
c2F0dXJhdGUgKi8KIGZsb2F0IHNhdHVyYXRlKGZsb2F0IHgpIHsKICAgICByZXR1cm4gY2xhbXAo
eCwgMCwgMSk7CkBAIC0xMTY1LDExNyArNDAxLDExNyBAQCBmbG9hdDQgc2F0dXJhdGUoZmxvYXQ0
IHgpIHsKIGZsb2F0MngyIHNhdHVyYXRlKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsx
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MngzIHNhdHVyYXRlKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9hdDN4
MiBzYXR1cmF0ZShmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRl
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOwogICAgIHJl
c3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNhdHVy
YXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNh
dHVyYXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBzYXR1cmF0ZShmbG9hdDJ4NCB4KSB7Ci0g
ICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgeworICAg
IGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0
ZSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgc2F0dXJhdGUoZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIHNhdHVyYXRlKGZsb2F0
MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJh
dGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
c2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIHNhdHVyYXRlKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFsw
XVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUo
eFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJh
dGUoeFsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0
dXJhdGUoeFsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IHNhdHVyYXRlKGZsb2F0M3g0IHgpIHsKLSAg
ICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBzYXR1cmF0ZShmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNhdHVyYXRlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNhdHVyYXRlKHhbMF1bM10p
OwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10pOwogICAgIHJlc3VsdFsy
XVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNhdHVyYXRlKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRl
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNhdHVyYXRlKHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVy
YXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IHNh
dHVyYXRlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBzYXR1cmF0
ZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OworZmxvYXQyeDQgc2F0dXJhdGUo
ZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzYXR1cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzYXR1cmF0ZSh4WzNd
WzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzYXR1cmF0ZSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0eDMgc2F0dXJhdGUoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKK2Zsb2F0
M3g0IHNhdHVyYXRlKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJh
dGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CiAgICAg
cmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2F0
dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CiAg
ICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7
CiAgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IHNhdHVyYXRlKGZsb2F0NHg0IHgpIHsKICAgICBmbG9h
dDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0
dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CiAg
ICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
c2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBd
ID0gc2F0dXJhdGUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUo
eFsyXVsxXSk7CiAgICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJh
dGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CiAgICAg
cmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0
dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVszXSk7CiAgICAgcmVzdWx0WzNdWzNdID0g
c2F0dXJhdGUoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEzMDksMTE3ICs1
NDUsMTE3IEBAIGZsb2F0NCBtYWQoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikKIGZsb2F0
MngyIG1hZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CiAgICAgZmxvYXQy
eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1
bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OworZmxvYXQzeDIgbWFkKGZsb2F0M3gyIHgsIGZsb2F0
M3gyIHksIGZsb2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1b
MF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5
WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1hZChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5
LCBmbG9hdDJ4NCB6KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbWFkKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1h
ZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDN4MiBtYWQoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQz
eDIgeikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIG1hZChmbG9hdDJ4MyB4LCBm
bG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0g
bWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtYWQoZmxvYXQzeDMgeCwgZmxvYXQz
eDMgeSwgZmxvYXQzeDMgeikgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0g
PSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0M3g0IG1hZChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OworZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZs
b2F0NHgzIHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFk
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1b
M10sIHpbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBt
YWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNdWzFd
LCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IG1hZCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBtYWQoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwg
ZmxvYXQ0eDIgeikgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0Mng0IG1hZChmbG9hdDJ4
NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFd
WzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBtYWQo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVszXVsw
XSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgz
IHopIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7CitmbG9hdDN4NCBtYWQoZmxvYXQzeDQgeCwgZmxv
YXQzeDQgeSwgZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRb
MF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
ZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsK
ICAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1b
Ml0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsy
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1hZChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4
WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFk
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJd
WzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwg
eVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1b
Ml0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7CiAgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJlc3VsdFszXVsz
XSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTQ4MSw5MCArNzE3LDkwIEBAIGZsb2F0MngyIG1vZGYoZmxvYXQyeDIgeCwgdGhyZWFk
IGZsb2F0MngKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFd
WzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBt
b2RmKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKK2Zsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7CisgICAg
ZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2Rm
KHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bMV0gPSBi
dWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwg
dGhyZWFkIGZsb2F0Mng0KiB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbW9k
ZihmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7
CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIHJlc3VsdFsx
XVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVsw
XSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZi
dWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9
IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1v
ZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIG1vZGYo
ZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0Owor
ZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHkpIHsKKyAgICBmbG9h
dDJ4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYo
eFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsw
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5KSB7CkBA
IC0xNTczLDE0MSArODA5LDE0MSBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZCBm
bG9hdDN4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0s
ICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZi
dWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
CiAgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZm
ZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1v
ZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSkgewotICAgIGZsb2F0
M3g0IHJlc3VsdDsKK2Zsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5
KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRb
MF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFd
WzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9
IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZm
ZXIpOworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsz
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbW9kZihmbG9h
dDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7CitmbG9h
dDJ4NCBtb2RmKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSkgeworICAgIGZsb2F0Mng0
IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1b
MF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsK
KyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHkpIHsKLSAgICBmbG9hdDR4
MyByZXN1bHQ7CitmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSkg
eworICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBd
WzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1
ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzBdID0g
bW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZl
cik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJd
WzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4
WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAg
cmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYo
eFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVz
dWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVh
ZCBmbG9hdDR4NCogeSkgewpAQCAtMTcxNiw0OCArOTUyLDQ4IEBAIGZsb2F0NHg0IG1vZGYoZmxv
YXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHgKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBd
WzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11b
MF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1b
MV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgIHJlc3VsdFszXVsy
XSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOworICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9
IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1v
ZGYoeFsxXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIp
OworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYo
eFsyXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsy
XSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11b
M10gPSBtb2RmKHhbM11bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbM11bM10gPSBidWZmZXI7CkBAIC0xODE5LDkwICsxMDU1LDkwIEBAIGZsb2F0MngyIG1v
ZGYoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBtb2RmKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKK2Zsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNl
IGZsb2F0M3gyKiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZl
cik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9k
Zih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Cisg
ICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
Mng0IG1vZGYoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OworZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHkpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVsw
XSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAg
KCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZi
dWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
M10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVy
OworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0g
PSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhb
M11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gyIG1vZGYoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OworZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCBkZXZpY2UgZmxv
YXQyeDMqIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAg
IHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9k
Zih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgZGV2
aWNlIGZsb2F0M3gzKiB5KSB7CkBAIC0xOTExLDE0MSArMTE0NywxNDEgQEAgZmxvYXQzeDMgbW9k
ZihmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4LCBkZXZpY2UgZmxv
YXQzeDQqIHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBtb2RmKGZsb2F0NHgz
IHgsIGRldmljZSBmbG9hdDR4MyogeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9h
dCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9k
Zih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4
WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVm
ZmVyOworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBt
b2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2Rm
KHhbMl1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZl
cjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBi
dWZmZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5KSB7Ci0gICAg
ZmxvYXQ0eDIgcmVzdWx0OworZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQy
eDQqIHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJl
c3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNd
WzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1b
M10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0
NHgzKiB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgZmxvYXQg
YnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1b
MV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0g
PSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVm
ZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBt
b2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVy
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2Rm
KHhbM11bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkp
WzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAg
ICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQg
bW9kZihmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHkpIHsKQEAgLTIwNTQsNDggKzEyOTAs
NDggQEAgZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eAogICAgIHJlc3Vs
dFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0g
YnVmZmVyOworICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVm
ZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVy
KTsKKyAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhb
MV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJd
ID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1
ZmZlcik7CisgICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsz
XVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsx
XSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7
CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9
IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0g
YnVmZmVyOwogICAgIHJlc3VsdFszXVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKQEAgLTIxNTcsOTAg
KzEzOTMsOTAgQEAgZmxvYXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbAogICAg
IHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhb
MV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIG1vZGYoZmxvYXQyeDMg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9h
dDN4MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2Rm
KHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhb
MV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1b
MV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZm
ZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7CitmbG9hdDR4MiBt
b2RmKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBd
WzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
M11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYo
eFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlb
Ml1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
ICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4
MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5KSB7Ci0gICAgZmxvYXQz
eDIgcmVzdWx0OworZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MyogeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbW9kZihmbG9hdDN4MyB4LCB0aHJlYWRn
cm91cCBmbG9hdDN4MyogeSkgewpAQCAtMjI0OSwxNDEgKzE0ODUsMTQxIEBAIGZsb2F0M3gzIG1v
ZGYoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmwKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhb
MF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9
IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IG1vZGYoZmxvYXQzeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDQqIHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBtb2RmKGZs
b2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1b
MF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0g
PSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMV0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFd
WzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgIHJlc3VsdFszXVsyXSA9
IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0Mng0IG1vZGYoZmxvYXQyeDQg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAg
ZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBd
ID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1
bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsy
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlb
MV1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1vZGYoZmxv
YXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7
CitmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBt
b2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
MV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVy
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1b
MF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMV0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1b
Ml0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4
WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNd
WzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
Ml1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0NHg0IG1vZGYoZmxvYXQ0eDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQ0eDQqIHkpIHsKQEAgLTIzOTIsNDggKzE2MjgsNDggQEAgZmxvYXQ0eDQgbW9kZihm
bG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIHJl
c3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhb
MF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1b
M10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsz
XVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0s
ICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsx
XSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsy
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzNd
WzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwg
JmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNd
ID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1
ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0g
bW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9k
Zih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOwogICAgIHJlc3VsdFsz
XVszXSA9IG1vZGYoeFszXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAg
ICAgKCp5KVszXVszXSA9IGJ1ZmZlcjsKQEAgLTI0NDEsMzY2NiArMTY3Nyw1MDQ0IEBAIGZsb2F0
NHg0IG1vZGYoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmwKIH0KIAogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3k9ICovCi1ib29sNCBvcGVyYXRvci53eT0oYm9vbDQgdiwgYm9vbDIg
YykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVz
dWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5PSh1
aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci53eT0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci53eT0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yW109ICov
Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3JbXT0oYm9vbDIsIHVpbnQsIGJvb2wpOwotbmF0aXZlIGJv
b2wzIG9wZXJhdG9yW109KGJvb2wzLCB1aW50LCBib29sKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRv
cltdPShib29sNCwgdWludCwgYm9vbCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3JbXT0odWludDIs
IHVpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yW109KHVpbnQzLCB1aW50LCB1aW50
KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcltdPSh1aW50NCwgdWludCwgdWludCk7Ci1uYXRpdmUg
aW50MiBvcGVyYXRvcltdPShpbnQyLCB1aW50LCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3Jb
XT0oaW50MywgdWludCwgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yW109KGludDQsIHVpbnQs
IGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yW109KGZsb2F0MiwgdWludCwgZmxvYXQpOwot
bmF0aXZlIGZsb2F0MyBvcGVyYXRvcltdPShmbG9hdDMsIHVpbnQsIGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdDQgb3BlcmF0b3JbXT0oZmxvYXQ0LCB1aW50LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIg
b3BlcmF0b3JbXT0oZmxvYXQyeDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3Bl
cmF0b3JbXT0oZmxvYXQyeDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0
b3JbXT0oZmxvYXQyeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Jb
XT0oZmxvYXQzeDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3JbXT0o
ZmxvYXQzeDMsIHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3JbXT0oZmxv
YXQzeDQsIHVpbnQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3JbXT0oZmxvYXQ0
eDIsIHVpbnQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3JbXT0oZmxvYXQ0eDMs
IHVpbnQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3JbXT0oZmxvYXQ0eDQsIHVp
bnQsIGZsb2F0NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcltdPShib29sMngyLCB1aW50LCBi
b29sMik7Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcltdPShib29sMngzLCB1aW50LCBib29sMyk7
Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcltdPShib29sMng0LCB1aW50LCBib29sNCk7Ci1uYXRp
dmUgYm9vbDN4MiBvcGVyYXRvcltdPShib29sM3gyLCB1aW50LCBib29sMik7Ci1uYXRpdmUgYm9v
bDN4MyBvcGVyYXRvcltdPShib29sM3gzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDN4NCBv
cGVyYXRvcltdPShib29sM3g0LCB1aW50LCBib29sNCk7Ci1uYXRpdmUgYm9vbDR4MiBvcGVyYXRv
cltdPShib29sNHgyLCB1aW50LCBib29sMik7Ci1uYXRpdmUgYm9vbDR4MyBvcGVyYXRvcltdPShi
b29sNHgzLCB1aW50LCBib29sMyk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcltdPShib29sNHg0
LCB1aW50LCBib29sNCk7CisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRNaW4gKi8KK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCos
IGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2Vk
TWluKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50
Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwg
dGhyZWFkZ3JvdXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91
cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxv
Y2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRl
dmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9t
aWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVh
ZGdyb3VwIGludCopOwogCisvKiBGdW5jdGlvbnMgbmFtZWQgbGVuZ3RoICovCituYXRpdmUgZmxv
YXQgbGVuZ3RoKGZsb2F0KTsKK25hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQyKTsKK25hdGl2ZSBm
bG9hdCBsZW5ndGgoZmxvYXQzKTsKK25hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQ0KTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl4eXgoYm9v
bDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXh5eChib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl4eXgodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5
eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci0tICovCit1aW50IG9wZXJhdG9y
LS0odWludCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl4eXgoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBvcGVyYXRvci0tKGludCB2YWx1ZSkgeworICAg
IHJldHVybiB2YWx1ZSAtIDE7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4eXgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK2Zsb2F0IG9wZXJhdG9yLS0oZmxvYXQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgLSAx
OwogfQotaW50NCBvcGVyYXRvci55eHl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvcjw8ICovCituYXRpdmUgaW50IG9wZXJhdG9yPDwoaW50LCB1aW50KTsK
K25hdGl2ZSB1aW50IG9wZXJhdG9yPDwodWludCwgdWludCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1l
ZCBleHAyICovCitmbG9hdCBleHAyKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZXhwKHggKiBsb2co
ZmxvYXQoMikpKTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHl4KGZsb2F0MiB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MiBleHAyKGZsb2F0
MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGV4cDIoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci55eHl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MyBleHAyKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cDIo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwMih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnl4eXgoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBleHAyKGZsb2F0NCB4
KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICBy
ZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cDIoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gZXhwMih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBleHAyKHhbM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3h5ICov
Ci1ib29sNCBvcGVyYXRvci56d3h5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MiBleHAyKGZsb2F0MngyIHgpIHsKKyAgICBm
bG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3Iuend4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZXhwMihmbG9hdDN4MiB4KSB7
CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBl
eHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp3eHkoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MiBl
eHAyKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuend4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBleHAyKGZsb2F0MngzIHgpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5
eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnd5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3gzIGV4cDIoZmxvYXQzeDMgeCkgewor
ICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhw
Mih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l5dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDMgZXhwMihmbG9h
dDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZXhwMih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXcoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDJ4NCBleHAyKGZsb2F0
Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4
cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3Iud3l5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnh4eHco
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh4dyh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eHh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IGV4cDIoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0
NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAy
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZXhwMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnl3eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55d3kodWludDQgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBv
cGVyYXRvci55d3koaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CisvKiBGdW5jdGlvbnMgbmFtZWQg
aXN1bm9yZGVyZWQgKi8KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5enc9ICovCi1i
b29sNCBvcGVyYXRvci54eXp3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1
bHQueiA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHl6dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Jv
b2wgaXN1bm9yZGVyZWQoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiBpc25hbih4KSB8
fCBpc25hbih5KTsKIH0KLWludDQgb3BlcmF0b3IueHl6dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Citib29sMiBpc3Vu
b3JkZXJlZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gaXN1bm9y
ZGVyZWQoeFsxXSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci54eXp3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMu
ejsKLSAgICByZXN1bHQudyA9IGMudzsKK2Jvb2wzIGlzdW5vcmRlcmVkKGZsb2F0MyB4LCBmbG9h
dDMgeSkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp3dyAqLwotYm9vbDQgb3BlcmF0
b3IueHp3dyhib29sNCB2KSB7Citib29sNCBpc3Vub3JkZXJlZChmbG9hdDQgeCwgZmxvYXQ0IHkp
IHsKICAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6d3codWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueHp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CisgICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXN1
bm9yZGVyZWQoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gaXN1bm9yZGVyZWQoeFszXSwg
eVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHp3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OworLyogRnVuY3Rpb25zIG5hbWVkIGF0YW4gKi8KK25hdGl2ZSBm
bG9hdCBhdGFuKGZsb2F0KTsKK2Zsb2F0MiBhdGFuKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4o
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHp3eShpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBh
dGFuKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFu
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRh
bih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3koZmxv
YXQ0IHYpIHsKK2Zsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRhbih4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBhdGFuKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3d6ICovCi1ib29sNCBvcGVyYXRvci53d3d6KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9h
dDJ4MiBhdGFuKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
YXRhbih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3d3
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OworZmxvYXQzeDIgYXRhbihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnd3d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MiBhdGFuKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9h
dDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3d3eihmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citm
bG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4enggKi8KLWJvb2w0IG9wZXJhdG9yLnp4engo
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
K2Zsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3Bl
cmF0b3Iuenh6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OworZmxvYXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0
YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci56eHp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CitmbG9hdDJ4NCBhdGFuKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFu
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHp4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBh
dGFuKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0
YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh6eChpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IGF0
YW4oZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRh
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBhdGFuKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnp4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cgKi8KK25hdGl2ZSBmbG9hdCBs
b2coZmxvYXQpOworZmxvYXQyIGxvZyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gbG9nKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4engoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzIGxvZyhm
bG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbG9nKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsb2coeFsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eHp4KGZsb2F0NCB2KSB7
CitmbG9hdDQgbG9nKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl4PSAqLwotYm9vbDMgb3BlcmF0b3Iuenl4PShib29sMyB2LCBib29sMyBj
KSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1
bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKKyAgICByZXN1bHRbMF0gPSBsb2coeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJd
KTsKKyAgICByZXN1bHRbM10gPSBsb2coeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2w0IG9wZXJhdG9yLnp5eD0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7CitmbG9hdDJ4MiBsb2coZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9w
ZXJhdG9yLnp5eD0odWludDMgdiwgdWludDMgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7CitmbG9hdDN4MiBsb2coZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iuenl4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKK2Zsb2F0NHgyIGxvZyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBs
b2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenl4PShpbnQzIHYsIGludDMgYykgewotICAgIGlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0MngzIGxvZyhmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
b2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVy
YXRvci56eXg9KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0g
Yy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4PShmbG9hdDQg
diwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKK2Zsb2F0M3gzIGxv
ZyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tl
ZE1pbiAqLwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50Kiwg
dWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1p
bihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWlu
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkTWluKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBsZW5ndGggKi8K
LW5hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQpOwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9hdDIp
OwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9hdDMpOwotbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9h
dDQpOwotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3p5ICovCi1ib29sNCBvcGVy
YXRvci54d3p5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBs
b2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxv
Zyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd6eSh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owor
ZmxvYXQyeDQgbG9nKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54d3p5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgbG9nKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9h
dDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
Zyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9n
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBsb2coeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci54d3p5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
bG9nKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3ItLSAqLwotdWludCBvcGVyYXRvci0tKHVp
bnQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgLSAxOwotfQotaW50IG9wZXJhdG9yLS0oaW50
IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlIC0gMTsKLX0KLWZsb2F0IG9wZXJhdG9yLS0oZmxv
YXQgdmFsdWUpIHsKLSAgICByZXR1cm4gdmFsdWUgLSAxOwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3I8PCAqLwotbmF0aXZlIGludCBvcGVyYXRvcjw8KGludCwgdWludCk7Ci1uYXRp
dmUgdWludCBvcGVyYXRvcjw8KHVpbnQsIHVpbnQpOworLyogRnVuY3Rpb25zIG5hbWVkIExvYWQg
Ki8KK25hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTFEPHVpbnQ+LCBpbnQgbG9jYXRpb24pOworbmF0
aXZlIHVpbnQgTG9hZChUZXh0dXJlMURBcnJheTx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRp
dmUgdWludCBMb2FkKFRleHR1cmUyRDx1aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWlu
dCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50
IExvYWQoVGV4dHVyZTNEPHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBMb2Fk
KFRleHR1cmUxRDx1aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0
dXJlMURBcnJheTx1aW50Mj4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4
dHVyZTJEPHVpbnQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludDIgTG9hZChUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVy
ZTNEPHVpbnQyPiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgTG9hZChUZXh0dXJlMUQ8
dWludDM+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTFEQXJyYXk8
dWludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyRDx1aW50
Mz4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUzRDx1aW50Mz4s
IGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTFEPHVpbnQ0PiwgaW50
IGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkQ8dWludDQ+LCBpbnQyIGxv
Y2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgaW50MyBs
b2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlM0Q8dWludDQ+LCBpbnQzIGxvY2F0
aW9uKTsKK25hdGl2ZSBpbnQgTG9hZChUZXh0dXJlMUQ8aW50PiwgaW50IGxvY2F0aW9uKTsKK25h
dGl2ZSBpbnQgTG9hZChUZXh0dXJlMURBcnJheTxpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQgTG9hZChUZXh0dXJlMkQ8aW50PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50IExv
YWQoVGV4dHVyZTJEQXJyYXk8aW50PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQo
VGV4dHVyZTNEPGludD4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJl
MUQ8aW50Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxREFycmF5
PGludDI+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEPGludDI+
LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgTG9hZChUZXh0dXJlM0Q8aW50Mj4sIGludDMg
bG9jYXRpb24pOworbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMUQ8aW50Mz4sIGludCBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBMb2FkKFRleHR1cmUxREFycmF5PGludDM+LCBpbnQyIGxvY2F0aW9u
KTsKK25hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTJEPGludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0
aXZlIGludDMgTG9hZChUZXh0dXJlM0Q8aW50Mz4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGlu
dDQgTG9hZChUZXh0dXJlMUQ8aW50ND4sIGludCBsb2NhdGlvbik7CituYXRpdmUgaW50NCBMb2Fk
KFRleHR1cmUxREFycmF5PGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQo
VGV4dHVyZTJEPGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGludDQgTG9hZChUZXh0dXJl
M0Q8aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEPGZs
b2F0PiwgaW50IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ+
LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ+LCBp
bnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMUQ8ZmxvYXQyPiwgaW50
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBp
bnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMkQ8ZmxvYXQyPiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
aW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTNEPGZsb2F0Mj4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxRDxmbG9hdDM+LCBpbnQg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGlu
dDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUyRDxmbG9hdDM+LCBpbnQy
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBp
bnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlM0Q8ZmxvYXQzPiwgaW50
MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEPGZsb2F0ND4sIGludCBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTJEPGZsb2F0ND4sIGludDIg
bG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIGlu
dDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUzRDxmbG9hdDQ+LCBpbnQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgaW50MyBsb2NhdGlvbik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3l6ICov
Ci1ib29sNCBvcGVyYXRvci53d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd3eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzaW4gKi8KK25hdGl2ZSBmbG9hdCBzaW4oZmxv
YXQpOworZmxvYXQyIHNpbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3l6KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzIHNpbihmbG9hdDMgeCkgewor
ICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IHNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaW4oeFsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3l6KGZsb2F0NCB2KSB7CitmbG9hdDQgc2lu
KGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHh5ICovCi1ib29sMyBvcGVyYXRvci54eHkoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueHh5KGJvb2wzIHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wz
IG9wZXJhdG9yLnh4eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54eHkodWludDIgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gc2luKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBzaW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eSh1
aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQyeDIgc2luKGZsb2F0Mngy
IHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eHkodWludDQgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKK2Zsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eShpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKK2Zsb2F0NHgyIHNpbihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHh5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQyeDMgc2luKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMg
b3BlcmF0b3IueHh5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQzeDMg
c2luKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHkoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3IueHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9hdDQgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnh3dyAqLwotYm9vbDMgb3BlcmF0b3IueHd3KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnh3dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh3dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh3dyhmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHc9ICovCi1ib29sNCBvcGVyYXRvci56
eXh3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAg
ICByZXN1bHQudyA9IGMudzsKK2Zsb2F0NHgzIHNpbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gc2luKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci56eXh3PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsK
LSAgICByZXN1bHQudyA9IGMudzsKK2Zsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenl4dz0oaW50NCB2LCBpbnQ0
IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Citm
bG9hdDN4NCBzaW4oZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNp
bih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHc9KGZsb2F0NCB2LCBm
bG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC53ID0g
Yy53OworZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gc2luKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzaW4oeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d6ICovCi1ib29sNCBvcGVyYXRvci55d3d6KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3d3oodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworLyogRnVuY3Rpb25zIG5hbWVkIHNpbmNvcyAqLwordm9pZCBzaW5jb3MoZmxvYXQgeCwg
dGhyZWFkIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAqeSA9IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNv
cyh4KTsKIH0KLWludDQgb3BlcmF0b3IueXd3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBm
bG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci55d3d6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVh
ZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3l6eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCog
eSwgdGhyZWFkIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXSA9
IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd5enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQy
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5enoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4
MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXp6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWQg
ZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGV4cDIgKi8KLWZs
b2F0IGV4cDIoZmxvYXQgeCkgewotICAgIHJldHVybiBleHAoeCAqIGxvZyhmbG9hdCgyKSkpOwot
fQotZmxvYXQyIGV4cDIoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4WzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIGV4cDIoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBleHAyKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgZXhwMihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gZXhwMih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGV4cDIoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZXhwMih4WzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDIgZXhwMihmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0
MngzIGV4cDIoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBl
eHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQyeDQg
ZXhwMihmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cDIo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0
eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQzeDIgZXhwMihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsz
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQzeDMgZXhwMihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhw
Mih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4NCBleHAyKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IGV4cDIoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGV4cDIo
ZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBl
eHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZXhwMih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0
NHgzIGV4cDIoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBl
eHAyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gZXhwMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZXhwMih4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhy
ZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CiB9Ci1mbG9hdDR4NCBleHAyKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZXhwMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
Mih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGV4cDIoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGV4cDIoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZXhwMih4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCBkZXZp
Y2UgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAqeSA9IHNpbih4KTsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp5eCAqLwotYm9vbDMgb3BlcmF0b3Iuenl4KGJvb2wzIHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci56
eXgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iuenl4KHVpbnQzIHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnp5eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXgoaW50NCB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci56eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3d3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3d3dyhib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iud3d3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnd3d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXp3ICovCi1ib29sNCBvcGVyYXRvci53eXp3KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd5encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53eXp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l6dyhmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCBk
ZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBu
dWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsz
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29z
UmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6dyAqLwotYm9vbDQg
b3BlcmF0b3IueXp6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCB0aHJlYWQgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6encodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQz
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci55enp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci53d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnd3eShib29sNCB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIGRldmljZSBmbG9hdDN4MyogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRv
ci53d3kodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBvcGVyYXRvci53d3koaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53d3koZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eiAqLwotYm9vbDIgb3BlcmF0b3Iud3ooYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iud3oodWludDQg
dikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci53eihpbnQ0IHYp
IHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnd6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iueng9ICovCi1ib29sMyBvcGVyYXRvci56eD0oYm9vbDMgdiwgYm9vbDIgYykgewotICAg
IGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4PShib29sNCB2LCBi
b29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iu
eng9KHVpbnQzIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56eD0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iueng9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50
MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4PShpbnQ0IHYsIGludDIgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4PShmbG9h
dDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnp4PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh5eSAqLwotYm9vbDQg
b3BlcmF0b3IueXh5eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHl5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4eXkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55eHl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl4eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHl5KGludDIgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eXkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXh5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4
eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHl5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5eCAqLwotYm9vbDQgb3Bl
cmF0b3Iud3l5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXl4KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4
MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l5eChpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQy
eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53eXl4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2Ug
ZmxvYXQzeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueSAqLwotbmF0aXZlIGJvb2wgb3Bl
cmF0b3IueShib29sMik7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvci55KGJvb2wzKTsKLW5hdGl2ZSBi
b29sIG9wZXJhdG9yLnkoYm9vbDQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IueSh1aW50Mik7Ci1u
YXRpdmUgdWludCBvcGVyYXRvci55KHVpbnQzKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnkodWlu
dDQpOwotbmF0aXZlIGludCBvcGVyYXRvci55KGludDIpOwotbmF0aXZlIGludCBvcGVyYXRvci55
KGludDMpOwotbmF0aXZlIGludCBvcGVyYXRvci55KGludDQpOwotbmF0aXZlIGZsb2F0IG9wZXJh
dG9yLnkoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci55KGZsb2F0Myk7Ci1uYXRpdmUg
ZmxvYXQgb3BlcmF0b3IueShmbG9hdDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3d6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53d3p4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d6
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3engoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp6ICovCi1ib29s
NCBvcGVyYXRvci55eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4
enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eih1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueXh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55
eHp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eihmbG9hdDMgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h6dyAqLwotYm9vbDQgb3BlcmF0
b3Iud3h6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHp3KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCog
eSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53eHp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0
aHJlYWQgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnog
PSBjb3MoeCk7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6dyhmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9h
dDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnp4
eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9h
dDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAg
ICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29s
NCBvcGVyYXRvci56eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4
LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9h
dDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eHl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci56eHl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXgo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl4KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl6PSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3h5ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0g
ICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnd4eXo9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56Owot
ICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnd4eXo9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h5ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4eSAqLwotYm9vbDQg
b3BlcmF0b3IueXl4eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4
LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5
eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkIGZs
b2F0NHgzKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eXh5KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eHko
dWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eSh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXl4eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQz
eDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl4eShpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWRn
cm91cCBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eXh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQgeCwg
ZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAqeSA9IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNv
cyh4KTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilb
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eXh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgs
IGRldmljZSBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owog
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHogKi8KLWJvb2wyIG9wZXJhdG9yLnh6
KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4
LCBkZXZpY2UgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotYm9vbDIgb3BlcmF0b3IueHooYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2
aWNlIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci54eih1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50MiBvcGVyYXRvci54eih1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnh6KGludDMgdikgewotICAgIGludDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnh6KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDIgb3BlcmF0b3IueHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IueHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l3ICovCi1ib29sNCBv
cGVyYXRvci55d3l3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eXco
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3l3KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIHRocmVhZCBm
bG9hdDN4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXd5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enp6ICovCi1ib29sNCBv
cGVyYXRvci53enp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgs
IGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7CisgICAgZmxvYXQgc2lu
UmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6enoodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gz
KiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enp6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4
MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1m
bG9hdDQgb3BlcmF0b3Iud3p6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIGlzdW5vcmRlcmVkICovCi0KLWJvb2wgaXN1bm9yZGVyZWQoZmxvYXQgeCwgZmxv
YXQgeSkgewotICAgIHJldHVybiBpc25hbih4KSB8fCBpc25hbih5KTsKK3ZvaWQgc2luY29zKGZs
b2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0KiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CiB9Ci1ib29sMiBpc3Vub3JkZXJlZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBib29sMiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7Ci0gICAgcmVz
dWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0M3g0IHgsIGRldmljZSBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWJv
b2wzIGlzdW5vcmRlcmVkKGZsb2F0MyB4LCBmbG9hdDMgeSkgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4
WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
ZGV2aWNlIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5S
ZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CiB9Ci1ib29sNCBpc3Vub3JkZXJlZChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7
Ci0gICAgcmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gaXN1bm9yZGVyZWQoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXN1bm9yZGVyZWQo
eFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIGRl
dmljZSBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnogPSBjb3Mo
eCk7CiB9Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3kgKi8KLWJvb2w0IG9w
ZXJhdG9yLnp3d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRl
dmljZSBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3d3kodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRldmljZSBmbG9hdDMqIHksIGRldmlj
ZSBmbG9hdDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3d5KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend3eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eHogKi8KLWJvb2w0IG9w
ZXJhdG9yLnp6eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp4eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enh6KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56enh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eHoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5
LCBkZXZpY2UgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHooZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9h
dDJ4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56
enh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNl
IGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXRhbiAqLwot
bmF0aXZlIGZsb2F0IGF0YW4oZmxvYXQpOwotZmxvYXQyIGF0YW4oZmxvYXQyIHgpIHsKLSAgICBm
bG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gYXRhbih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgZGV2aWNlIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZs
b2F0MyBhdGFuKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYXRhbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMg
eCwgZGV2aWNlIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IGF0YW4oZmxvYXQ0IHgp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gYXRhbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuKHhbMl0pOwotICAg
IHJlc3VsdFszXSA9IGF0YW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MngyIGF0
YW4oZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBhdGFuKGZsb2F0MngzIHgp
IHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsx
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGF0YW4oZmxvYXQyeDQgeCkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
YXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGF0YW4oeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGF0YW4o
ZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBh
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgYXRhbihm
bG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGF0
YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhb
Ml1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZp
Y2UgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4NCBhdGFuKGZsb2F0M3g0IHgpIHsK
LSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGF0
YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBhdGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgZGV2aWNl
IGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MiBhdGFuKGZsb2F0NHgyIHgpIHsKLSAg
ICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
dGFuKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MyBhdGFuKGZsb2F0NHgz
IHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4o
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
dGFuKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGF0YW4oZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBhdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gYXRhbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhdGFuKHhbM11bM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHl6
ICovCi1ib29sNCBvcGVyYXRvci54eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnh4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eih1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl6KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci54eHl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBk
ZXZpY2UgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQgeCwgZGV2aWNlIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCog
eikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXoo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0
MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXd5
ICovCi1ib29sNCBvcGVyYXRvci54eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKKyAg
ICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJd
ID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl3eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxv
YXQ0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54eXd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5d3koZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHks
IHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGxvZyAqLwotbmF0aXZlIGZs
b2F0IGxvZyhmbG9hdCk7Ci1mbG9hdDIgbG9nKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nKHhbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbG9nKGZsb2F0MyB4KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
bG9nKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gbG9nKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBsb2coeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbG9nKHhbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBsb2coZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MngzIGxvZyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CiB9Ci1mbG9hdDJ4NCBsb2coZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9n
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBsb2coeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2co
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0MngzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKIH0KLWZsb2F0M3gyIGxvZyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRocmVhZGdyb3Vw
IGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKIH0KLWZsb2F0M3gzIGxvZyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2co
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbG9nKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3g0IGxv
ZyhmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsb2coeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBs
b2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRo
cmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MiBsb2coZmxvYXQ0eDIg
eCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bG9nKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4
LCBkZXZpY2UgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NHgzIGxvZyhmbG9h
dDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2coeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVhZGdy
b3VwIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0eDQg
bG9nKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1b
M10pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
bG9nKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0
aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnog
PSBjb3MoeCk7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd4ICovCi1ib29s
NCBvcGVyYXRvci53eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4
LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd4d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZs
b2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnd4d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJl
YWRncm91cCBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZs
b2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHp3ICovCi1ib29sNCBvcGVyYXRv
ci55eHp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVh
ZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5S
ZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh6dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl4
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZGdyb3Vw
IGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7
CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4encoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4
MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIExvYWQgKi8KLW5hdGl2ZSB1
aW50IExvYWQoVGV4dHVyZTFEPHVpbnQ+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQgTG9h
ZChUZXh0dXJlMURBcnJheTx1aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBMb2Fk
KFRleHR1cmUyRDx1aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBMb2FkKFRleHR1
cmUyREFycmF5PHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IExvYWQoVGV4dHVy
ZTNEPHVpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBMb2FkKFRleHR1cmUxRDx1
aW50Mj4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMURBcnJheTx1
aW50Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTJEPHVpbnQy
PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQoVGV4dHVyZTNEPHVpbnQyPiwg
aW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgTG9hZChUZXh0dXJlMUQ8dWludDM+LCBpbnQg
bG9jYXRpb24pOwotbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBpbnQy
IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyRDx1aW50Mz4sIGludDIgbG9j
YXRpb24pOwotbmF0aXZlIHVpbnQzIExvYWQoVGV4dHVyZTJEQXJyYXk8dWludDM+LCBpbnQzIGxv
Y2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUzRDx1aW50Mz4sIGludDMgbG9jYXRp
b24pOwotbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTFEPHVpbnQ0PiwgaW50IGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkQ8dWludDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5h
dGl2ZSB1aW50NCBMb2FkKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgaW50MyBsb2NhdGlvbik7Ci1u
YXRpdmUgdWludDQgTG9hZChUZXh0dXJlM0Q8dWludDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2
ZSBpbnQgTG9hZChUZXh0dXJlMUQ8aW50PiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9h
ZChUZXh0dXJlMURBcnJheTxpbnQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgTG9hZChU
ZXh0dXJlMkQ8aW50PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTJE
QXJyYXk8aW50PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTNEPGlu
dD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDIgTG9hZChUZXh0dXJlMUQ8aW50Mj4sIGlu
dCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBMb2FkKFRleHR1cmUxREFycmF5PGludDI+LCBpbnQy
IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEPGludDI+LCBpbnQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIGludDMgbG9jYXRp
b24pOwotbmF0aXZlIGludDIgTG9hZChUZXh0dXJlM0Q8aW50Mj4sIGludDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDMgTG9hZChUZXh0dXJlMUQ8aW50Mz4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUg
aW50MyBMb2FkKFRleHR1cmUxREFycmF5PGludDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBp
bnQzIExvYWQoVGV4dHVyZTJEPGludDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIExv
YWQoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDMgTG9h
ZChUZXh0dXJlM0Q8aW50Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0
dXJlMUQ8aW50ND4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBMb2FkKFRleHR1cmUxREFy
cmF5PGludDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTJEPGlu
dDQ+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgTG9hZChUZXh0dXJlM0Q8aW50ND4sIGlu
dDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTFEPGZsb2F0PiwgaW50IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0PiwgaW50MiBs
b2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkQ8ZmxvYXQ+LCBpbnQyIGxvY2F0
aW9uKTsKLW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0PiwgaW50MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMUQ8ZmxvYXQyPiwgaW50IGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBpbnQyIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDIgTG9hZChUZXh0dXJlMkQ8ZmxvYXQyPiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgaW50MyBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTNEPGZsb2F0Mj4sIGludDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxRDxmbG9hdDM+LCBpbnQgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGludDIgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MyBMb2FkKFRleHR1cmUyRDxmbG9hdDM+LCBpbnQyIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlM0Q8ZmxvYXQzPiwgaW50MyBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEPGZsb2F0ND4sIGludCBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQ0IExvYWQoVGV4dHVyZTJEPGZsb2F0ND4sIGludDIgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIGludDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUzRDxmbG9hdDQ+LCBpbnQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgaW50MyBsb2Nh
dGlvbik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3l4ICovCi1ib29sNCBvcGVy
YXRvci53d3l4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3eXgodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3l4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl6dz0oYm9v
bDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6dz0odWludDQgdiwgdWludDMgYykgewotICAg
IHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXp3PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6dz0oZmxvYXQ0IHYsIGZs
b2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6dyAqLwotYm9vbDMgb3BlcmF0
b3IueXp3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0
aHJlYWQgZmxvYXQ0eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBz
aW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWlu
dDMgb3BlcmF0b3IueXp3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRncm91cCBmbG9hdDN4
NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci55encoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55eng9ICovCi1ib29sMyBvcGVyYXRvci55eng9KGJvb2wzIHYsIGJv
b2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55eng9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAg
IHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzNdID0gY29zUmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp4PSh1aW50MyB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHksIGRldmljZSBmbG9hdCog
eikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotdWludDQgb3BlcmF0b3IueXp4PSh1
aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZGdyb3VwIGZsb2F0MiogeSwg
ZGV2aWNlIGZsb2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OwogfQotaW50MyBvcGVyYXRvci55eng9KGludDMgdiwgaW50MyBjKSB7Ci0gICAgaW50
MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55Owot
ICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNv
c1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp4PShpbnQ0IHYsIGludDMgYykgewotICAgIGlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRv
ci55eng9KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0
OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl6eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh3eiAqLwotYm9vbDQgb3BlcmF0b3IueHh3eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAg
IGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54
eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh3eihpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enl6ICovCi1ib29sNCBvcGVyYXRvci55
enl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6eXooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eih1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55enl6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXp5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enl6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5eihmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55enl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4dyAqLwotYm9vbDQgb3BlcmF0b3IueXp4dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXp4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56eXd4ICovCi1ib29sNCBvcGVyYXRvci56eXd4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIGRldmljZSBmbG9hdDJ4Myog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnp5d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gzIHgs
IHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9h
dCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5
d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRn
cm91cCBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHNpbiAq
LwotbmF0aXZlIGZsb2F0IHNpbihmbG9hdCk7Ci1mbG9hdDIgc2luKGZsb2F0MiB4KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gc2luKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4
LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CisgICAgZmxv
YXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9
Ci1mbG9hdDMgc2luKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IHNpbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgc2luKGZsb2F0
NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gc2luKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKLSAg
ICByZXN1bHRbM10gPSBzaW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBzaW4oZmxvYXQyeDIgeCkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNp
bih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0KiB5LCB0aHJl
YWRncm91cCBmbG9hdCogeikgeworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2lu
KHgpOworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQy
eDMgc2luKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQyeDQgc2lu
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
c2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBz
aW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHNpbih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3Mo
ZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3gyIHNpbihmbG9hdDN4MiB4KSB7Ci0gICAgZmxv
YXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0
aHJlYWRncm91cCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM10g
PSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4MyBzaW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2lu
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4o
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIHNpbihmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFszXVswXSA9IHNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHNpbihmbG9hdDR4MyB4KSB7Ci0gICAg
ZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9
IHNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gc2luKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQy
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDR4NCBzaW4oZmxvYXQ0
eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gc2luKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBzaW4oeFszXVsz
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdy
b3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55d3p5ICovCi1ib29sNCBvcGVyYXRvci55d3p5KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K3ZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRn
cm91cCBmbG9hdDR4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXd6eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55d3p5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0g
Y29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXkgKi8KLWJvb2wzIG9wZXJhdG9y
Lnp5eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenl5KHVpbnQzIHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQz
IG9wZXJhdG9yLnp5eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5eShpbnQzIHYpIHsKLSAgICBpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXkoaW50
NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyBvcGVyYXRvci56eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h3eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iud3h3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnd4d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci56d3h3ICovCi1ib29sNCBvcGVyYXRvci56d3h3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56d3h3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend4dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eXkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnp3eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuend5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eXkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3l5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5PSAqLwotYm9vbDQgb3Bl
cmF0b3Iud3h5PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h5PSh1aW50NCB2LCB1
aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci53eHk9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5
PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl5eSAq
LwotYm9vbDQgb3BlcmF0b3IueHl5eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eXl5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eXkoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5eSh1aW50MiB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnh5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXl5
KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXkoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHl5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnh5eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl5
eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXl5KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6eCAqLwot
Ym9vbDQgb3BlcmF0b3IueXh6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci55eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4engodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXh6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4engoZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eChmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5ICovCi1ib29sMiBvcGVy
YXRvci55eShib29sMiB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVy
YXRvci55eShib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVy
YXRvci55eShib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50MiB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci55eSh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJh
dG9yLnl5KGludDIgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9y
Lnl5KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnl5
KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IueXko
ZmxvYXQyIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3Iu
eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0
b3IueXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci53enggKi8KLWJvb2wzIG9wZXJhdG9yLnd6eChib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci53engodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53engoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53engoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXp4ICovCi1ib29sNCBvcGVyYXRvci55
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl6eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgc2luY29zICovCi12b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxv
YXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5
ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOwotfQot
dm9pZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIqIHop
IHsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJl
YWRncm91cCBmbG9hdDR4MyogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVz
dWx0OworICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwg
dGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCog
eSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9
IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4Miog
eSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhy
ZWFkIGZsb2F0MngzKiB5LCB0aHJlYWQgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbM11b
Ml0gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQy
eDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewordm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CiAgICAgZmxv
YXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBAIC02MTA4LDQzICs2NzIyLDQzIEBAIHZvaWQgc2lu
Y29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCoKICAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4Miogeikgewor
dm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZGdy
b3VwIGZsb2F0M3g0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBAIC02
MTUyLDE0NiArNjc2Niw2MyBAQCB2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQz
eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4
MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4
NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsw
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwogICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlm
ICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
ewordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVh
ZGdyb3VwIGZsb2F0NHg0KiB6KSB7CiAgICAgZmxvYXQgc2luUmVzdWx0OwogICAgIGZsb2F0IGNv
c1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CkBA
IC02Mjk5LDMwOTE4ICs2ODMwLDEyNzI4IEBAIHZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVh
ZCBmbG9hdDR4MioKICAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQg
ZmxvYXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5j
b3MoZmxvYXQ0eDQgeCwgdGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAg
ICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFszXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVszXVszXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzNd
WzNdID0gY29zUmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5
LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNp
bih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKLX0KLXZvaWQg
c2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisKKworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlICovCituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0
aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2
aWNlIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdWludCwg
ZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRl
dmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHVpbnQs
IHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hh
bmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3Vp
bnQqLCB1aW50LCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRD
b21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJlYWQg
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91
cCBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBp
bnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkZ3JvdXAgdWludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRv
bWljX2ludCosIGludCwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKKworLyogRnVuY3Rpb25zIG5h
bWVkIHNtb290aHN0ZXAgKi8KK2Zsb2F0IHNtb290aHN0ZXAoZmxvYXQgZWRnZTAsIGZsb2F0IGVk
Z2UxLCBmbG9hdCB4KSB7CisgICAgZmxvYXQgdCA9IGNsYW1wKCh4IC0gZWRnZTApIC8gKGVkZ2Ux
IC0gZWRnZTApLCAwLCAxKTsKKyAgICByZXR1cm4gdCAqIHQgKiAoMyAtIDIgKiB0KTsKIH0KLXZv
aWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBzbW9vdGhzdGVwKGZsb2F0MiB4LCBmbG9hdDIgeSwg
ZmxvYXQyIHopIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNtb290aHN0
ZXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5
WzFdLCB6WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgs
IHRocmVhZCBmbG9hdDQqIHksIGRldmljZSBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CitmbG9hdDMgc21vb3Roc3RlcChmbG9hdDMgeCwg
ZmxvYXQzIHksIGZsb2F0MyB6KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNtb290aHN0
ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5
WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIg
eCwgdGhyZWFkIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7CitmbG9hdDQgc21vb3Roc3RlcChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0
NCB6KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhb
MF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwg
elsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBzbW9vdGhzdGVwKHhbM10sIHlbM10sIHpbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIGRl
dmljZSBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CitmbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0
MngyIHopIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Ro
c3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9v
dGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNt
b290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCBkZXZpY2Ug
ZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gyIHNtb290aHN0ZXAoZmxvYXQzeDIgeCwgZmxv
YXQzeDIgeSwgZmxvYXQzeDIgeikgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZs
b2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9h
dDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFk
IGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQyeDMgc21vb3Roc3RlcChmbG9hdDJ4MyB4LCBm
bG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQg
ZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDN4MyBzbW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZs
b2F0M3gzIHksIGZsb2F0M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsy
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRo
cmVhZCBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4MyBz
bW9vdGhzdGVwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBd
LCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Ro
c3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9v
dGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNt
b290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSwgZGV2aWNlIGZs
b2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsK
K2Zsb2F0Mng0IHNtb290aHN0ZXAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikg
eworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3Rl
cCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhz
dGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290
aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21v
b3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBz
bW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgZGV2aWNl
IGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworZmxvYXQzeDQgc21vb3Ro
c3RlcChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAo
eFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3Rl
cCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhz
dGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWQgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6
KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7CitmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0s
IHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsy
XSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAo
eFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3Rl
cCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9p
ZCBzaW5jb3MoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworCisvKiBG
dW5jdGlvbnMgbmFtZWQgZXhwICovCituYXRpdmUgZmxvYXQgZXhwKGZsb2F0KTsKK2Zsb2F0MiBl
eHAoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4cCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9h
dDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OworZmxvYXQzIGV4cChmbG9hdDMgeCkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGV4cCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCB0aHJlYWRncm91
cCBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1
bHQ7CitmbG9hdDQgZXhwKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBleHAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGV4cCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBleHAoeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4MiogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CitmbG9h
dDJ4MiBleHAoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAo
eFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgs
IHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9h
dCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDIgZXhwKGZsb2F0M3gy
IHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVh
ZCBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgy
IGV4cChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQz
eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworZmxv
YXQyeDMgZXhwKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhw
KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDMg
ZXhwKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVh
ZCBmbG9hdDN4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZv
aWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBmbG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxv
YXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0Mng0IGV4cChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9h
dDR4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKKyAgICBm
bG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCBleHAoZmxvYXQ0eDQgeCkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4
cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGV4cCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBleHAoeFszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCog
eSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBz
aW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7CisKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBhbGwgKi8KK2Jvb2wgYWxsKGJvb2wgeCkgeworICAgIHJldHVybiB4Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZCBmbG9hdDIq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wg
YWxsKGJvb2wyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0pOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhy
ZWFkIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sMyB4KSB7Cisg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNl
IGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2w0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5j
b3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5LCB0aHJlYWQgZmxvYXQyeDIqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbCh1aW50IHgpIHsKKyAgICByZXR1cm4g
eCAhPSAwOwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZsb2F0MngzKiB5LCB0
aHJlYWQgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworYm9vbCBhbGwodWludDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4
NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9hdDJ4NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworYm9v
bCBhbGwodWludDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWQg
ZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworYm9vbCBhbGwodWludDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGlu
dCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRl
dmljZSBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGludDIgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4
MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFd
ID0gY29zUmVzdWx0OworYm9vbCBhbGwoaW50MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxv
YXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChpbnQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIHRocmVh
ZCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0
IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgZGV2aWNl
IGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsK
K2Jvb2wgYWxsKGZsb2F0MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0g
IT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZp
Y2UgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDMgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRl
dmljZSBmbG9hdDMqIHksIGRldmljZSBmbG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworYm9v
bCBhbGwoZmxvYXQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhm
bG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0MngyIHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCBkZXZpY2UgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4MiogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3gyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0MngzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0
NHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQg
eCwgZGV2aWNlIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wg
YWxsKGZsb2F0MngzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9h
dDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3gzIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxs
KGZsb2F0NHgzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMl0g
IT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIGRl
dmljZSBmbG9hdDN4NCogeSwgZGV2aWNlIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0Mng0IHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAg
ICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0
NHgyKiB5LCBkZXZpY2UgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAg
ZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0
NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwgZGV2aWNlIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0M3g0IHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bM10gIT0gMCk7CisgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4
NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZs
b2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworYm9v
bCBhbGwoZmxvYXQ0eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bM10gIT0gMCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9h
dCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsK
K2Jvb2wgYWxsKGJvb2wyeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyIHgsIGRl
dmljZSBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworYm9vbCBhbGwoYm9vbDN4MiB4KSB7CisgICAg
Ym9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2w0eDIg
eCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIGRl
dmljZSBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2wyeDMgeCkgeworICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5
LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBm
bG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK2Jv
b2wgYWxsKGJvb2wzeDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNlIGZs
b2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sNHgzIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1b
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0Mng0
IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
K2Jvb2wgYWxsKGJvb2wyeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBz
aW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4
MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Citib29s
IGFsbChib29sM3g0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
MV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworYm9vbCBhbGwoYm9vbDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzJdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4
NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7Ci0gICAg
ZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKworCisvKiBGdW5jdGlvbnMg
bmFtZWQgZmlyc3RiaXRsb3cgKi8KK3VpbnQgZmlyc3RiaXRsb3codWludCB4KSB7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gMzE7CisgICAgaWYgKCh4
ICYgdWludCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMzA7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjk7CisgICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjg7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDQpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8
IDUpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDYp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMjU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMjQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMjI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDIxOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMSkpICE9IDApCisgICAg
ICAgIHJldHVybiAyMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMTk7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDE4OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNCkpICE9IDApCisgICAgICAgIHJl
dHVybiAxNzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMTY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDE1OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNykpICE9IDApCisgICAgICAgIHJldHVybiAx
NDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTgpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTM7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEyOwor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMCkpICE9IDApCisgICAgICAgIHJldHVybiAxMTsKKyAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMjEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTA7CisgICAg
aWYgKCh4ICYgdWludCgxIDw8IDIyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDk7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDIzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDg7CisgICAgaWYgKCh4
ICYgdWludCgxIDw8IDI0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDc7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDI1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDY7CisgICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDI2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDU7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDI3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8
IDI4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI5
KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDMyOwogfQotdm9pZCBzaW5jb3MoZmxv
YXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9hdDR4Miogeikgewot
ICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVz
dWx0OwordWludCBmaXJzdGJpdGxvdyhpbnQgeCkgeworICAgIHJldHVybiBmaXJzdGJpdGxvdyh1
aW50KHgpKTsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0
KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsK
K3VpbnQyIGZpcnN0Yml0bG93KHVpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3co
eFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVh
ZGdyb3VwIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNv
cyh4KTsKK3VpbnQzIGZpcnN0Yml0bG93KHVpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3Ri
aXRsb3coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIq
IHksIHRocmVhZCBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKK3VpbnQ0IGZpcnN0Yml0bG93KHVpbnQ0IHgpIHsKKyAgICB1aW50NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRsb3coeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gZmlyc3RiaXRsb3coeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZCBmbG9h
dDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OwordWludDIgZmlyc3RiaXRsb3coaW50MiB4KSB7Cisg
ICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwordWlu
dDMgZmlyc3RiaXRsb3coaW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhy
ZWFkIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwordWludDQgZmlyc3Ri
aXRsb3coaW50NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0
Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93
KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0
aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0Mng0
IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
KworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPD0gKi8KK25hdGl2ZSBib29sIG9wZXJhdG9y
PD0oaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I8PSh1aW50LCB1aW50KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPD0oZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcjw9
KHVpbnQyLCB1aW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I8PSh1aW50MywgdWludDMpOwor
bmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVy
YXRvcjw9KGludDIsIGludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oaW50MywgaW50Myk7
CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8PShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVy
YXRvcjw9KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcjw9KGZsb2F0Mywg
ZmxvYXQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcjw9KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2
ZSBib29sMngyIG9wZXJhdG9yPD0oZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sM3gy
IG9wZXJhdG9yPD0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9y
PD0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPD0oZmxvYXQy
eDMsIGZsb2F0MngzKTsKK25hdGl2ZSBib29sM3gzIG9wZXJhdG9yPD0oZmxvYXQzeDMsIGZsb2F0
M3gzKTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9yPD0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBib29sMng0IG9wZXJhdG9yPD0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBib29s
M3g0IG9wZXJhdG9yPD0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJh
dG9yPD0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRkeF9maW5l
ICovCitmbG9hdCBkZHhfZmluZShmbG9hdCB4KSB7CisgICAgcmV0dXJuIGRkeCh4KTsKIH0KLXZv
aWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCB0aHJlYWQgZmxv
YXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ZmxvYXQyIGRkeF9maW5lKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDMgZGR4X2ZpbmUoZmxvYXQzIHgpIHsKKyAg
ICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWRn
cm91cCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NCBkZHhfZmluZShmbG9hdDQgeCkgewor
ICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gZGR4X2ZpbmUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gZGR4X2ZpbmUoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJl
YWQgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngyIGRkeF9maW5lKGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsx
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRo
cmVhZGdyb3VwIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworZmxvYXQzeDIgZGR4X2ZpbmUoZmxvYXQz
eDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmlu
ZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhf
ZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVh
ZCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIGRkeF9m
aW5lKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZGR4X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUo
eFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0IHgsIHRo
cmVhZGdyb3VwIGZsb2F0KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9
IGNvcyh4KTsKK2Zsb2F0MngzIGRkeF9maW5lKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4
LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBz
aW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3gzIGRkeF9maW5lKGZsb2F0
M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2Zp
bmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIGRldmlj
ZSBmbG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgs
IHRocmVhZGdyb3VwIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0Mngy
IHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0
MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Zs
b2F0Mng0IGRkeF9maW5lKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4
X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCBkZXZpY2UgZmxvYXQyeDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0M3g0IGRkeF9maW5lKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2Zp
bmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4
X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZGR4X2ZpbmUoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0M3gyIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gyKiB5LCBkZXZpY2UgZmxvYXQzeDIqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDQgZGR4
X2ZpbmUoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmlu
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhf
ZmluZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHhfZmluZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIGRl
dmljZSBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciBjYXN0ICovCituYXRpdmUgb3Bl
cmF0b3IgdWludChpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQoZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGludCh1aW50KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQoZmxvYXQpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0KHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0KGludCk7CituYXRpdmUg
b3BlcmF0b3IgaW50KGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wodWludCk7CituYXRpdmUg
b3BlcmF0b3IgYm9vbChpbnQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2woZmxvYXQpOworbmF0aXZl
IG9wZXJhdG9yIGJvb2wyKGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2ws
IGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wyLCBib29sKTsKK25hdGl2
ZSBvcGVyYXRvciBib29sMyhib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbDIsIGJvb2ws
IGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wyLCBib29sKTsKK25hdGl2
ZSBvcGVyYXRvciBib29sNChib29sLCBib29sLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9v
bDQoYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVyYXRvciBib29sNChib29sMywgYm9vbCk7Citu
YXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQy
KHVpbnQsIHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQsIHVpbnQpOwor
bmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50
Myh1aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludCwg
dWludCk7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQsIHVpbnQpOworbmF0aXZl
IG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQyLCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50
NCh1aW50LCB1aW50LCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQy
KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50MywgdWludCk7CituYXRpdmUgb3BlcmF0b3Ig
dWludDQodWludCwgdWludDMpOworbmF0aXZlIG9wZXJhdG9yIGludDIoaW50LCBpbnQpOworbmF0
aXZlIG9wZXJhdG9yIGludDMoaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50Myhp
bnQyLCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDMoaW50LCBpbnQyKTsKK25hdGl2ZSBvcGVy
YXRvciBpbnQ0KGludCwgaW50LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQy
LCBpbnQsIGludCk7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludDIsIGludCk7CituYXRp
dmUgb3BlcmF0b3IgaW50NChpbnQsIGludCwgaW50Mik7CituYXRpdmUgb3BlcmF0b3IgaW50NChp
bnQyLCBpbnQyKTsKK25hdGl2ZSBvcGVyYXRvciBpbnQ0KGludDMsIGludCk7CituYXRpdmUgb3Bl
cmF0b3IgaW50NChpbnQsIGludDMpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MihmbG9hdCwgZmxv
YXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2
ZSBvcGVyYXRvciBmbG9hdDMoZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQz
KGZsb2F0LCBmbG9hdDIpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0MiwgZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0MiwgZmxvYXQpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZsb2F0Mik7CituYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQzLCBm
bG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdDMpOworbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0MngyKGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4
MyhmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQ0LCBmbG9h
dDQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIpOwor
bmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gzKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIG9wZXJh
dG9yIGZsb2F0NHgyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgb3Bl
cmF0b3IgZmxvYXQ0eDMoZmxvYXQzLCBmbG9hdDMsIGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDR4NChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZl
IG9wZXJhdG9yIGZsb2F0MngyKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDJ4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9y
IGZsb2F0M3gzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgyKGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0eDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxv
YXQ0eDQoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBvcGVy
YXRvciBib29sMngzKGJvb2wzLCBib29sMyk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4NChib29s
NCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDIoYm9vbDIsIGJvb2wyLCBib29sMik7
CituYXRpdmUgb3BlcmF0b3IgYm9vbDN4Myhib29sMywgYm9vbDMsIGJvb2wzKTsKK25hdGl2ZSBv
cGVyYXRvciBib29sM3g0KGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJv
b2w0eDIoYm9vbDIsIGJvb2wyLCBib29sMiwgYm9vbDIpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0
eDMoYm9vbDMsIGJvb2wzLCBib29sMywgYm9vbDMpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQo
Ym9vbDQsIGJvb2w0LCBib29sNCwgYm9vbDQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sMng0KGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJh
dG9yIGJvb2wzeDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUg
b3BlcmF0b3IgYm9vbDN4Myhib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
LCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sM3g0KGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwor
bmF0aXZlIG9wZXJhdG9yIGJvb2w0eDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDR4Myhib29sLCBib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sKTsK
K25hdGl2ZSBvcGVyYXRvciBib29sNHg0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgbG9hZCAqLworbmF0aXZlIGludCBsb2FkKGRl
dmljZSBhdG9taWNfaW50Kik7CituYXRpdmUgdWludCBsb2FkKGRldmljZSBhdG9taWNfdWludCop
OworbmF0aXZlIGludCBsb2FkKHRocmVhZGdyb3VwIGF0b21pY19pbnQqKTsKK25hdGl2ZSB1aW50
IGxvYWQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNv
dW50X2JpdHMgKi8KKworLyogRnVuY3Rpb25zIG5hbWVkIHJzcXJ0ICovCitmbG9hdCByc3FydChm
bG9hdCB4KSB7CisgICAgcmV0dXJuIDEgLyBzcXJ0KHgpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQz
eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDIgcnNxcnQoZmxv
YXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4MiogeSwgZGV2aWNlIGZs
b2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDMgcnNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJz
cXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJzcXJ0KHhbMl0pOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwg
ZGV2aWNlIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0NCByc3FydChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gcnNxcnQoeFsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVh
ZGdyb3VwIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBj
b3NSZXN1bHQ7CitmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQqIHopIHsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAqeiA9IGNvcyh4KTsKK2Zsb2F0M3gyIHJzcXJ0KGZs
b2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0MiB4LCB0aHJlYWRncm91cCBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDIg
cnNxcnQoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
c3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKKyAgICByZXR1cm4g
cmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIHJzcXJ0
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIHRocmVhZGdyb3VwIGZsb2F0NCog
eikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0
M3gzIHJzcXJ0KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNx
cnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0MngyIHgsIHRocmVhZGdyb3VwIGZsb2F0MngyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgzIHJzcXJ0KGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQo
eFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgs
IHRocmVhZGdyb3VwIGZsb2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCByc3FydChm
bG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJz
cXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhy
ZWFkZ3JvdXAgZmxvYXQyeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3g0IHJzcXJ0KGZsb2F0M3g0IHgp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZGdy
b3VwIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDR4NCByc3FydChmbG9hdDR4NCB4
KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJz
cXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IHJzcXJ0KHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVz
dWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgc3FydCAqLworZmxvYXQgc3FydChmbG9hdCB4KSB7
CisgICAgcmV0dXJuIHBvdyh4LCAwLjUpOwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhy
ZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBzcXJ0KGZsb2F0MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0NHgyIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBmbG9h
dDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OworZmxvYXQzIHNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9
Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29z
UmVzdWx0OworZmxvYXQ0IHNxcnQoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBzcXJ0KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlICovCi1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50
LCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhj
aGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOwotbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWlu
dCwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4
Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2
ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29t
cGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVhZGdyb3VwIGlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAg
YXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50
LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFy
ZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkZ3Jv
dXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFk
Z3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6ICovCi1ib29sMyBvcGVyYXRvci54d3ooYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gyIHNxcnQoZmxvYXQzeDIgeCkg
eworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueHd6KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4MiBzcXJ0KGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNx
cnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBzcXJ0KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh3
eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0MngzIHNxcnQoZmxvYXQy
eDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3Fy
dCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh3eihm
bG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDN4MyBzcXJ0KGZsb2F0
M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd6eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd6eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHNxcnQoZmxvYXQ0eDMgeCkg
eworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3p4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQyeDQgc3FydChmbG9hdDJ4NCB4
KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gc3FydCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci53enh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3Fy
dCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzcXJ0KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iud3p4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7CitmbG9hdDR4NCBzcXJ0KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3Fy
dCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IHNxcnQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IHNxcnQoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc3FydCh4WzNdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh3eSAqLwot
Ym9vbDQgb3BlcmF0b3Iuenh3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56eHd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgYWNvcyAqLworbmF0aXZlIGZsb2F0IGFjb3MoZmxv
YXQpOworZmxvYXQyIGFjb3MoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHd5KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGFjb3MoZmxvYXQzIHgp
IHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhY29zKHhbMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eShmbG9hdDQgdikgeworZmxv
YXQ0IGFjb3MoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53enh3ICovCi1ib29sNCBvcGVyYXRvci53enh3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWNvcyh4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBhY29zKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnd6eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnd6eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDIgYWNvcyhmbG9hdDN4MiB4KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXogKi8K
LWJvb2wzIG9wZXJhdG9yLnp5eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owor
ZmxvYXQ0eDIgYWNvcyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3Iuenl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7CitmbG9hdDJ4MyBhY29zKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnp5eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OworZmxvYXQzeDMgYWNvcyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11
aW50MyBvcGVyYXRvci56eXoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zs
b2F0NHgzIGFjb3MoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWNv
cyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56eXooaW50
MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4NCBhY29zKGZsb2F0Mng0IHgp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBhY29zKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9y
Lnp5eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3g0IGFjb3MoZmxv
YXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29z
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp5eihmbG9hdDMgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4NCBhY29zKGZsb2F0NHg0IHgpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29z
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGFjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYWNvcyh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp5eihmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPiAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I+KGludCwg
aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPih1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9w
ZXJhdG9yPihmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPih1aW50MiwgdWlu
dDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPih1aW50MywgdWludDMpOworbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPih1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihpbnQyLCBp
bnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj4oaW50MywgaW50Myk7CituYXRpdmUgYm9vbDQg
b3BlcmF0b3I+KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihmbG9hdDIsIGZs
b2F0Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBi
b29sNCBvcGVyYXRvcj4oZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I+
KGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj4oZmxvYXQzeDIs
IGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPihmbG9hdDR4MiwgZmxvYXQ0eDIp
OworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I+KGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUg
Ym9vbDN4MyBvcGVyYXRvcj4oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sNHgzIG9w
ZXJhdG9yPihmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+KGZs
b2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgYm9vbDN4NCBvcGVyYXRvcj4oZmxvYXQzeDQsIGZs
b2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPihmbG9hdDR4NCwgZmxvYXQ0eDQpOwor
CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3ImICovCitib29sIG9wZXJhdG9yJihib29sIGEs
IGJvb2wgYikgeworICAgIHJldHVybiBhICYmIGI7CiB9CituYXRpdmUgaW50IG9wZXJhdG9yJihp
bnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRvciYodWludCwgdWludCk7CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eXl6ICovCi1ib29sNCBvcGVyYXRvci55eXl6KGJvb2wzIHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CisvKiBGdW5j
dGlvbnMgbmFtZWQgdGFuaCAqLworbmF0aXZlIGZsb2F0IHRhbmgoZmxvYXQpOworZmxvYXQyIHRh
bmgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbmgo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbDQgb3BlcmF0b3IueXl5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzIHRhbmgoZmxvYXQzIHgpIHsKKyAgICBmbG9h
dDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
dGFuaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0YW5oKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eXl6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDQgdGFuaChmbG9hdDQgeCkgeworICAg
IGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuaCh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSB0YW5oKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRhbmgoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gdGFuaCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iu
eXl5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQyeDIgdGFuaChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueXl5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0M3gyIHRhbmgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci55eXl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDIgdGFuaChmbG9hdDR4MiB4KSB7Cisg
ICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5o
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
dGFuaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5
eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OworZmxvYXQyeDMgdGFuaChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyB0YW5oKGZsb2F0M3gzIHgpIHsK
KyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRh
bmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eXcgKi8K
LWJvb2w0IG9wZXJhdG9yLnh6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIHRhbmgoZmxvYXQ0eDMgeCkgeworICAgIGZs
b2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgo
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueHp5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgdGFuaChmbG9hdDJ4NCB4KSB7CisgICAg
ZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFu
aCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enl3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxv
YXQzeDQgdGFuaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5o
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp5dyhm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
CitmbG9hdDR4NCB0YW5oKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFu
aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IHRhbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gdGFuaCh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgc21vb3Roc3RlcCAqLwotZmxvYXQgc21vb3Ro
c3RlcChmbG9hdCBlZGdlMCwgZmxvYXQgZWRnZTEsIGZsb2F0IHgpIHsKLSAgICBmbG9hdCB0ID0g
Y2xhbXAoKHggLSBlZGdlMCkgLyAoZWRnZTEgLSBlZGdlMCksIDAsIDEpOwotICAgIHJldHVybiB0
ICogdCAqICgzIC0gMiAqIHQpOwotfQotZmxvYXQyIHNtb290aHN0ZXAoZmxvYXQyIHgsIGZsb2F0
MiB5LCBmbG9hdDIgeikgeworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKiAqLworbmF0aXZl
IGludCBvcGVyYXRvciooaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3IqKHVpbnQsIHVp
bnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQpOworbmF0aXZlIHVpbnQy
IG9wZXJhdG9yKih1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50Miwg
dWludCk7CituYXRpdmUgdWludDIgb3BlcmF0b3IqKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50
MyBvcGVyYXRvcioodWludDMsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvcioodWludDMs
IHVpbnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKih1aW50LCB1aW50Myk7CituYXRpdmUgdWlu
dDQgb3BlcmF0b3IqKHVpbnQ0LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3IqKHVpbnQ0
LCB1aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvcioodWludCwgdWludDQpOworbmF0aXZlIGlu
dDIgb3BlcmF0b3IqKGludDIsIGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3IqKGludDIsIGlu
dCk7CituYXRpdmUgaW50MiBvcGVyYXRvciooaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQzIG9wZXJh
dG9yKihpbnQzLCBpbnQzKTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQzLCBpbnQpOworbmF0
aXZlIGludDMgb3BlcmF0b3IqKGludCwgaW50Myk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50
NCwgaW50NCk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50NCwgaW50KTsKK25hdGl2ZSBpbnQ0
IG9wZXJhdG9yKihpbnQsIGludDQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQyLCBm
bG9hdDIpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQyLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQyIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3Iq
KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0MywgZmxvYXQp
OworbmF0aXZlIGZsb2F0MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQ0
IG9wZXJhdG9yKihmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKihmbG9h
dDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDQpOworbmF0
aXZlIGZsb2F0MngyIG9wZXJhdG9yKihmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0
MngyIG9wZXJhdG9yKihmbG9hdDJ4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9y
KihmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdDN4Miwg
ZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdDN4MiwgZmxvYXQpOwor
bmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yKihmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yKihmbG9hdDR4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKihmbG9hdCwg
ZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKihmbG9hdDJ4MywgZmxvYXQyeDMp
OworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKihmbG9hdDJ4MywgZmxvYXQpOworbmF0aXZlIGZs
b2F0MngzIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJh
dG9yKihmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKihmbG9h
dDN4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKihmbG9hdCwgZmxvYXQzeDMp
OworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yKihmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZl
IGZsb2F0NHgzIG9wZXJhdG9yKihmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgzIG9w
ZXJhdG9yKihmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9h
dDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9hdDJ4NCwgZmxv
YXQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQyeDQpOworbmF0aXZl
IGZsb2F0M3g0IG9wZXJhdG9yKihmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0M3g0
IG9wZXJhdG9yKihmbG9hdDN4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKihm
bG9hdCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdDR4NCwgZmxv
YXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdDR4NCwgZmxvYXQpOworbmF0
aXZlIGZsb2F0NHg0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQ0eDQpOworCisvKiBGdW5jdGlvbnMg
bmFtZWQgY29zICovCituYXRpdmUgZmxvYXQgY29zKGZsb2F0KTsKK2Zsb2F0MiBjb3MoZmxvYXQy
IHgpIHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNtb290aHN0ZXAoeFsw
XSwgeVswXSwgelswXSk7Ci0gICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5WzFdLCB6
WzFdKTsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgc21vb3Roc3RlcChmbG9hdDMgeCwg
ZmxvYXQzIHksIGZsb2F0MyB6KSB7CitmbG9hdDMgY29zKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gc21vb3Roc3RlcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbMF0gPSBjb3Mo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0IHgs
IGZsb2F0NCB5LCBmbG9hdDQgeikgeworZmxvYXQ0IGNvcyhmbG9hdDQgeCkgewogICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IHNtb290aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc21v
b3Roc3RlcCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBjb3MoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mngy
IHNtb290aHN0ZXAoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgeworZmxvYXQy
eDIgY29zKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgc21vb3Roc3RlcChmbG9hdDJ4MyB4LCBmbG9hdDJ4
MyB5LCBmbG9hdDJ4MyB6KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHksIGZsb2F0Mng0IHopIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBj
b3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIg
c21vb3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CitmbG9hdDN4
MiBjb3MoZmxvYXQzeDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgc21vb3Roc3RlcChmbG9hdDN4MyB4LCBmbG9h
dDN4MyB5LCBmbG9hdDN4MyB6KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1b
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBzbW9vdGhzdGVwKGZsb2F0M3g0
IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJd
WzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlb
Ml1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwg
eVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIHNtb290aHN0ZXAoZmxvYXQ0eDIgeCwgZmxvYXQ0
eDIgeSwgZmxvYXQ0eDIgeikgeworZmxvYXQ0eDIgY29zKGZsb2F0NHgyIHgpIHsKICAgICBmbG9h
dDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4
WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBjb3MoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIHNtb290aHN0
ZXAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0NHgzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAo
eFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc21vb3Roc3Rl
cCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKK2Zsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0NHg0IHgsIGZs
b2F0NHg0IHksIGZsb2F0NHg0IHopIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVszXSwgeVsyXVsz
XSwgelsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNd
WzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlb
M11bMV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwg
eVszXVsyXSwgelszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3RlcCh4WzNdWzNd
LCB5WzNdWzNdLCB6WzNdWzNdKTsKK2Zsb2F0M3gzIGNvcyhmbG9hdDN4MyB4KSB7CisgICAgZmxv
YXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
b3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXl6ICovCi1ib29sNCBvcGVyYXRvci53
eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7CitmbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNd
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l5eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQy
eDQgY29zKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci53eXl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OworZmxvYXQzeDQgY29zKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53
eXl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKK2Zsb2F0NHg0IGNvcyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3Mo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGNvcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3cgKi8KLWJvb2wyIG9wZXJhdG9yLnd3KGJvb2w0
IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
cj09ICovCituYXRpdmUgYm9vbCBvcGVyYXRvcj09KGJvb2wsIGJvb2wpOworbmF0aXZlIGJvb2wg
b3BlcmF0b3I9PShpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcj09KHVpbnQsIHVpbnQp
OworbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9w
ZXJhdG9yPT0oYm9vbDIsIGJvb2wyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj09KGJvb2wzLCBi
b29sMyk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PShib29sNCwgYm9vbDQpOworbmF0aXZlIGJv
b2wyIG9wZXJhdG9yPT0odWludDIsIHVpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj09KHVp
bnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9PSh1aW50NCwgdWludDQpOworbmF0
aXZlIGJvb2wyIG9wZXJhdG9yPT0oaW50MiwgaW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I9
PShpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj09KGludDQsIGludDQpOworbmF0
aXZlIGJvb2wyIG9wZXJhdG9yPT0oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGJvb2wzIG9wZXJh
dG9yPT0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0oZmxvYXQ0LCBm
bG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I9PShmbG9hdDJ4MiwgZmxvYXQyeDIpOwor
bmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I9PShmbG9hdDN4MiwgZmxvYXQzeDIpOworbmF0aXZlIGJv
b2w0eDIgb3BlcmF0b3I9PShmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGJvb2wyeDMgb3Bl
cmF0b3I9PShmbG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I9PShm
bG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I9PShmbG9hdDR4Mywg
ZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9PShmbG9hdDJ4NCwgZmxvYXQyeDQp
OworbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9PShmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZl
IGJvb2w0eDQgb3BlcmF0b3I9PShmbG9hdDR4NCwgZmxvYXQ0eDQpOworbmF0aXZlIGJvb2wyeDIg
b3BlcmF0b3I9PShib29sMngyLCBib29sMngyKTsKK25hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0o
Ym9vbDN4MiwgYm9vbDN4Mik7CituYXRpdmUgYm9vbDR4MiBvcGVyYXRvcj09KGJvb2w0eDIsIGJv
b2w0eDIpOworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I9PShib29sMngzLCBib29sMngzKTsKK25h
dGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oYm9vbDN4MywgYm9vbDN4Myk7CituYXRpdmUgYm9vbDR4
MyBvcGVyYXRvcj09KGJvb2w0eDMsIGJvb2w0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I9
PShib29sMng0LCBib29sMng0KTsKK25hdGl2ZSBib29sM3g0IG9wZXJhdG9yPT0oYm9vbDN4NCwg
Ym9vbDN4NCk7CituYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj09KGJvb2w0eDQsIGJvb2w0eDQpOwor
CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+PiAqLworbmF0aXZlIGludCBvcGVyYXRvcj4+
KGludCwgdWludCk7CituYXRpdmUgdWludCBvcGVyYXRvcj4+KHVpbnQsIHVpbnQpOworCisvKiBG
dW5jdGlvbnMgbmFtZWQgcmVmbGVjdCAqLworZmxvYXQgcmVmbGVjdChmbG9hdCBpLCBmbG9hdCBu
KSB7CisgICAgcmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KLXVpbnQyIG9wZXJhdG9y
Lnd3KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MiByZWZsZWN0KGZs
b2F0MiBpLCBmbG9hdDIgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7CiB9
Ci1pbnQyIG9wZXJhdG9yLnd3KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9h
dDMgcmVmbGVjdChmbG9hdDMgaSwgZmxvYXQzIG4pIHsKKyAgICByZXR1cm4gaSAtIDIgKiBuICog
ZG90KGksIG4pOwogfQotZmxvYXQyIG9wZXJhdG9yLnd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OworZmxvYXQ0IHJlZmxlY3QoZmxvYXQ0IGksIGZsb2F0NCBuKSB7CisgICAg
cmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yW10gKi8KLW5hdGl2ZSBib29sIG9wZXJhdG9yW10oYm9vbDIsIHVpbnQpOwotbmF0aXZl
IGJvb2wgb3BlcmF0b3JbXShib29sMywgdWludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcltdKGJv
b2w0LCB1aW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yW10odWludDIsIHVpbnQpOwotbmF0aXZl
IHVpbnQgb3BlcmF0b3JbXSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcltdKHVp
bnQ0LCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQyLCB1aW50KTsKLW5hdGl2ZSBp
bnQgb3BlcmF0b3JbXShpbnQzLCB1aW50KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3JbXShpbnQ0LCB1
aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvcltdKGZsb2F0MiwgdWludCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3JbXShmbG9hdDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yW10oZmxv
YXQ0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9hdDJ4MiwgdWludCk7Ci1u
YXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQyeDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBv
cGVyYXRvcltdKGZsb2F0Mng0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3JbXShmbG9h
dDN4MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxvYXQzeDMsIHVpbnQpOwot
bmF0aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0M3g0LCB1aW50KTsKLW5hdGl2ZSBmbG9hdDIg
b3BlcmF0b3JbXShmbG9hdDR4MiwgdWludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yW10oZmxv
YXQ0eDMsIHVpbnQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvcltdKGZsb2F0NHg0LCB1aW50KTsK
LW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wyeDIsIHVpbnQpOwotbmF0aXZlIGJvb2wzIG9w
ZXJhdG9yW10oYm9vbDJ4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3JbXShib29sMng0
LCB1aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2wzeDIsIHVpbnQpOwotbmF0aXZl
IGJvb2wzIG9wZXJhdG9yW10oYm9vbDN4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3Jb
XShib29sM3g0LCB1aW50KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcltdKGJvb2w0eDIsIHVpbnQp
OwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yW10oYm9vbDR4MywgdWludCk7Ci1uYXRpdmUgYm9vbDQg
b3BlcmF0b3JbXShib29sNHg0LCB1aW50KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl5d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXl3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5
d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXd6KGZsb2F0NCB2KSB7
CisvKiBGdW5jdGlvbnMgbmFtZWQgbGl0ICovCitmbG9hdDQgbGl0KGZsb2F0IG5fZG90X2wsIGZs
b2F0IG5fZG90X2gsIGZsb2F0IG0pIHsKKyAgICBmbG9hdCBhbWJpZW50ID0gMTsKKyAgICBmbG9h
dCBkaWZmdXNlID0gbWF4KDAsIG5fZG90X2wpOworICAgIGZsb2F0IHNwZWN1bGFyID0gbl9kb3Rf
bCA8IDAgfHwgbl9kb3RfaCA8IDAgPyAwIDogbl9kb3RfaCAqIG07CiAgICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKKyAgICByZXN1bHQueCA9IGFtYmllbnQ7Cisg
ICAgcmVzdWx0LnkgPSBkaWZmdXNlOworICAgIHJlc3VsdC56ID0gc3BlY3VsYXI7CisgICAgcmVz
dWx0LncgPSAxOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBl
eHAgKi8KLW5hdGl2ZSBmbG9hdCBleHAoZmxvYXQpOwotZmxvYXQyIGV4cChmbG9hdDIgeCkgewor
LyogRnVuY3Rpb25zIG5hbWVkIGxvZzIgKi8KK2Zsb2F0IGxvZzIoZmxvYXQgeCkgeworICAgIHJl
dHVybiBsb2coeCkgLyBsb2coZmxvYXQoMikpOworfQorZmxvYXQyIGxvZzIoZmxvYXQyIHgpIHsK
ICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBsb2cyKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgZXhwKGZs
b2F0MyB4KSB7CitmbG9hdDMgbG9nMihmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBleHAoZmxvYXQ0IHgpIHsKK2Zsb2F0NCBsb2cy
KGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBleHAoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGV4cCh4WzJd
KTsKLSAgICByZXN1bHRbM10gPSBleHAoeFszXSk7CisgICAgcmVzdWx0WzBdID0gbG9nMih4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gbG9nMih4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQyeDIgZXhwKGZsb2F0MngyIHgpIHsKK2Zsb2F0MngyIGxvZzIoZmxvYXQyeDIgeCkgewog
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9n
Mih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgZXhwKGZsb2F0Mngz
IHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsy
XSk7CitmbG9hdDN4MiBsb2cyKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0Mng0IGV4cChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGV4cCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CitmbG9hdDR4MiBsb2cyKGZs
b2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9n
Mih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDN4MiBleHAoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGV4cCh4WzJdWzFdKTsKK2Zsb2F0MngzIGxvZzIoZmxvYXQyeDMgeCkgeworICAgIGZs
b2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gz
IGxvZzIoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQzeDQgZXhwKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZXhwKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVsz
XSk7CitmbG9hdDR4MyBsb2cyKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IGxvZzIoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIGV4cChm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4
cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhw
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBleHAoeFszXVsxXSk7CitmbG9hdDJ4NCBsb2cyKGZsb2F0Mng0IHgpIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cy
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBleHAoZmxvYXQ0eDMg
eCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
ZXhwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKK2Zsb2F0M3g0IGxvZzIoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9n
Mih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGxvZzIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZXhwKGZsb2F0NHg0IHgpIHsKK2Zsb2F0NHg0IGxv
ZzIoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZXhwKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZXhwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKLSAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBl
eHAoeFszXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbG9nMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGxvZzIoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9n
Mih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IGxvZzIoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbG9nMih4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enh3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenh3PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsK
LSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5h
bWVkIG5vcm1hbGl6ZSAqLworZmxvYXQgbm9ybWFsaXplKGZsb2F0IHgpIHsKKyAgICByZXR1cm4g
eCAvIGxlbmd0aCh4KTsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp4dz0odWludDQgdiwgdWludDMgYykg
ewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0
MiBub3JtYWxpemUoZmxvYXQyIHgpIHsKKyAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLWlu
dDQgb3BlcmF0b3Iuenh3PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQzIG5vcm1hbGl6ZShmbG9hdDMgeCkgewor
ICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4dz0oZmxvYXQ0
IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBj
Lng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK2Zsb2F0NCBub3JtYWxpemUoZmxvYXQ0IHgpIHsKKyAgICByZXR1cm4geCAvIGxl
bmd0aCh4KTsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eiAqLwotYm9vbDMg
b3BlcmF0b3Iuenp6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnp6eihib29sNCB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56enoo
dWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgb3BlcmF0b3Iuenp6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenp6KGludDMgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9y
Lnp6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OworCisvKiBGdW5jdGlvbnMgbmFtZWQgbGRleHAgKi8KK2Zsb2F0IGxkZXhwKGZsb2F0IHgsIGZs
b2F0IGUpIHsKKyAgICByZXR1cm4geCAqIHBvdygyLCBlKTsKIH0KLWZsb2F0MyBvcGVyYXRvci56
enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyIGxkZXhwKGZs
b2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56enooZmxvYXQ0IHYpIHsKK2Zs
b2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKICAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53
end4ICovCi1ib29sNCBvcGVyYXRvci53end4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnd6d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRbMF0gPSBsZGV4cCh4WzBdLCB5WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsZGV4cCh4WzJd
LCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53end4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0
IGxkZXhwKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwg
eVsxXSk7CisgICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNd
ID0gbGRleHAoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci53end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKK2Zsb2F0MngyIGxkZXhwKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5enogKi8KLWJvb2w0IG9wZXJhdG9yLnl5enooYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zs
b2F0M3gyIGxkZXhwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgyIGxkZXhwKGZsb2F0NHgy
IHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5enoodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngzIGxk
ZXhwKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnl5enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0
M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3IueXl6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl6eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IGxkZXhwKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRl
eHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXp6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zs
b2F0M3g0IGxkZXhwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci55eXp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHg0IGxkZXhwKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAo
eFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVsz
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnl5d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworLyog
RnVuY3Rpb25zIG5hbWVkIGFicyAqLwordWludCBhYnModWludCB4KSB7CisgICAgcmV0dXJuIHg7
CiB9Ci11aW50NCBvcGVyYXRvci55eXd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBhYnMoaW50
IHgpIHsKKyAgICBpZiAoeCA8IDApCisgICAgICAgIHJldHVybiAteDsKKyAgICByZXR1cm4geDsK
IH0KLWludDQgb3BlcmF0b3IueXl3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgYWJzKGZsb2F0
IHgpIHsKKyAgICBpZiAoeCA8IDApCisgICAgICAgIHJldHVybiAteDsKKyAgICByZXR1cm4geDsK
IH0KLWZsb2F0NCBvcGVyYXRvci55eXd4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK3VpbnQyIGFicyh1aW50MiB4KSB7CisgICAgdWlu
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
YnMoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6eCAqLwotYm9vbDMgb3BlcmF0b3Iuenp4KGJvb2wzIHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Cit1aW50MyBhYnModWludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhYnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3Bl
cmF0b3Iuenp4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cit1aW50NCBhYnMo
dWludDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQz
IG9wZXJhdG9yLnp6eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworaW50MiBh
YnMoaW50MiB4KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDMgb3BlcmF0b3Iuenp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitpbnQz
IGFicyhpbnQzIHgpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci56engoaW50MyB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7CitpbnQ0IGFicyhpbnQ0IHgpIHsKKyAgICBpbnQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenp4KGludDQgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyIGFicyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp6eChmbG9hdDMg
dikgeworZmxvYXQzIGFicyhmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cisg
ICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci56engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0
IGFicyhmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJz
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gYWJzKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHggKi8KLWJvb2wzIG9wZXJhdG9yLnh4
eChib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDIgYWJzKGZsb2F0
MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHgoYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gyIGFicyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQz
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKK2Zsb2F0NHgyIGFicyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBh
YnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFi
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OworZmxvYXQyeDMgYWJzKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQzIG9wZXJhdG9yLnh4eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OworZmxvYXQzeDMgYWJzKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBhYnMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4
eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDMgYWJzKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFicyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHh4KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OworZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
CitmbG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGFicyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHgoaW50NCB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDR4NCBhYnMoZmxvYXQ0eDQgeCkgeworICAgIGZs
b2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
YnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJlc3Vs
dFszXVsyXSA9IGFicyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFi
cyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBhYnMoeFszXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCByb3VuZCAqLworbmF0aXZlIGZs
b2F0IHJvdW5kKGZsb2F0KTsKK2Zsb2F0MiByb3VuZChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91
bmQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxv
YXQzIHYpIHsKK2Zsb2F0MyByb3VuZChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0MyBvcGVyYXRvci54eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OworZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByb3VuZCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSByb3VuZCh4WzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4
eSAqLwotYm9vbDQgb3BlcmF0b3IueXh4eShib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgcm91bmQoZmxvYXQyeDIgeCkgewor
ICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
b3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueXh4eShib29sMyB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgcm91bmQoZmxv
YXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0
b3IueXh4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh4eSh1aW50MiB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQy
eDMgcm91bmQoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3IueXh4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXh4eSh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgcm91bmQo
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByb3Vu
ZCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGlu
dDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQyeDQgcm91bmQoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBy
b3VuZCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGludDMgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDQgcm91bmQoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSByb3VuZCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3Vu
ZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHh5KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQg
cm91bmQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByb3VuZCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBy
b3VuZCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSByb3VuZCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByb3Vu
ZCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSByb3VuZCh4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQyIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtdWwgKi8KK3VpbnQgbXVsKHVpbnQgeCwgdWludCB5KSB7
CisgICAgcmV0dXJuIHggKiB5OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQzIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7CitpbnQgbXVsKGludCB4LCBpbnQgeSkgeworICAgIHJldHVybiB4ICogeTsKIH0K
LWZsb2F0NCBvcGVyYXRvci55eHh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgbXVsKGZs
b2F0IHgsIGZsb2F0IHkpIHsKKyAgICByZXR1cm4geCAqIHk7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eXl5ICovCi1ib29sNCBvcGVyYXRvci53eXl5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtdWwodWlu
dCB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5
WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11
aW50NCBvcGVyYXRvci53eXl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7CisgICAgdWlu
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhb
MV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXkoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MyBt
dWwodWludCB4LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHgg
KiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l5eShmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cit1
aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsy
XSA9IHhbMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53eXd3ICovCi1ib29sNCBvcGVyYXRvci53eXd3KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Cit1aW50NCBtdWwodWludCB4
LCB1aW50NCB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwor
ICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBv
cGVyYXRvci53eXd3KHVpbnQ0IHYpIHsKK3VpbnQ0IG11bCh1aW50NCB4LCB1aW50IHkpIHsKICAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0WzBd
ID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0g
eFsyXSAqIHk7CisgICAgcmVzdWx0WzNdID0geFszXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3Iud3l3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYudzsKK2ludDIgbXVsKGludCB4LCBpbnQyIHkpIHsKKyAgICBpbnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICog
eVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3coZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OworaW50
MiBtdWwoaW50MiB4LCBpbnQgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXl3ICovCi1ib29sNCBvcGVyYXRv
ci55eXl3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7CitpbnQzIG11bChpbnQgeCwgaW50MyB5KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmVz
dWx0WzJdID0geCAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9y
Lnl5eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYudzsKK2ludDMgbXVsKGludDMgeCwgaW50IHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1
bHRbMl0gPSB4WzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55
eXl3KGludDQgdikgeworaW50NCBtdWwoaW50IHgsIGludDQgeSkgewogICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXl5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0
WzFdID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07CisgICAgcmVzdWx0WzNd
ID0geCAqIHlbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh4dyAqLwotYm9vbDMgb3BlcmF0b3IueHh3KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7CitpbnQ0IG11bChpbnQ0IHgsIGludCB5KSB7CisgICAgaW50NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7
CisgICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CisgICAgcmVzdWx0WzNdID0geFszXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4dyh1aW50NCB2KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyIG11bChmbG9hdCB4LCBmbG9hdDIgeSkgeworICAg
IGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFd
ID0geCAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHh3KGlu
dDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyIG11bChmbG9hdDIgeCwgZmxv
YXQgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7Cisg
ICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci54eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0MyBtdWwoZmxvYXQgeCwgZmxvYXQzIHkpIHsK
ICAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enh5ICovCi1ib29sNCBvcGVyYXRvci54enh5KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eHkoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3IueHp4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKKyAg
ICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICBy
ZXN1bHRbMl0gPSB4ICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54enh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OworZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Cisg
ICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci54enh5KGZsb2F0MyB2KSB7CitmbG9hdDQgbXVsKGZsb2F0IHgsIGZsb2F0NCB5KSB7
CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1
bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gPSB4ICogeVsyXTsKKyAgICByZXN1bHRbM10gPSB4ICogeVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHkoZmxvYXQ0IHYpIHsKK2Zsb2F0NCBtdWwoZmxv
YXQ0IHgsIGZsb2F0IHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0g
KiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl3PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKK2Zs
b2F0MngyIG11bChmbG9hdCB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5
WzFdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsx
XSA9IHggKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55
dz0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBd
WzBdICogeTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55dz0oaW50NCB2LCBpbnQyIGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7CitmbG9hdDN4MiBtdWwoZmxvYXQgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMF0g
PSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1
bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl3PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKK2Zsb2F0
M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0g
KiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9
IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci54eXggKi8KLWJvb2wzIG9wZXJhdG9yLnh5eChib29sMiB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDIgbXVsKGZsb2F0IHgsIGZsb2F0NHgy
IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlb
M11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eChib29sMyB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZs
b2F0IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBd
ID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzNdWzFdID0geFsz
XVsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eChib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDMgbXVsKGZsb2F0IHgsIGZs
b2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBd
WzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1b
Ml07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50MiB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0
IHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAq
IHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0g
eFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0
WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50MyB2KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDMgbXVsKGZsb2F0IHgsIGZsb2F0M3gzIHkpIHsK
KyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQzIG9wZXJhdG9yLnh5eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owor
ZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsx
XVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBd
WzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAq
IHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0g
eFsyXVsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl4KGlu
dDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDMgbXVsKGZsb2F0IHgsIGZs
b2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJd
WzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzBdID0geCAqIHlbM11bMF07CisgICAg
cmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0g
eCAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDMgb3BlcmF0b3IueHl4KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0
eDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0g
eFszXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0
WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Cisg
ICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsy
XSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXSAqIHk7CisgICAgcmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl4KGludDQgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OworZmxvYXQyeDQgbXVsKGZsb2F0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9h
dDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzNd
ID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OworZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0IHkpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAg
cmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0g
eFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0
WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNdID0geFsxXVszXSAqIHk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54eXgoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmVzdWx0
WzJdWzNdID0geCAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVy
YXRvci54eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDQg
bXVsKGZsb2F0M3g0IHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7
CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJd
WzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAg
cmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAq
IHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAqIHk7CisgICAgcmVzdWx0WzFdWzNdID0g
eFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0geFsyXVszXSAqIHk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGFsbCAqLwotYm9vbCBhbGwoYm9vbCB4
KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1ib29sIGFsbChib29sMiB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdKTsKK2Zsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9hdDR4NCB5KSB7Cisg
ICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAg
IHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJd
WzBdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5
WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsy
XSA9IHggKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJl
c3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNd
OworICAgIHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sMyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0pOworZmxvYXQ0eDQgbXVsKGZsb2F0NHg0IHgsIGZs
b2F0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzJdWzBd
ID0geFsyXVswXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7CisgICAgcmVz
dWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7
CisgICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzNdWzFdID0geFsz
XVsxXSAqIHk7CisgICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7CisgICAgcmVzdWx0WzFd
WzJdID0geFsxXVsyXSAqIHk7CisgICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAqIHk7CisgICAg
cmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7CisgICAgcmVzdWx0WzBdWzNdID0geFswXVszXSAq
IHk7CisgICAgcmVzdWx0WzFdWzNdID0geFsxXVszXSAqIHk7CisgICAgcmVzdWx0WzJdWzNdID0g
eFsyXVszXSAqIHk7CisgICAgcmVzdWx0WzNdWzNdID0geFszXVszXSAqIHk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2w0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwordWludCBtdWwodWludDIgeCwgdWlu
dDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50IHgpIHsKLSAg
ICByZXR1cm4geCAhPSAwOwordWludCBtdWwodWludDMgeCwgdWludDMgeSkgeworICAgIHJldHVy
biBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0
cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3VpbnQgbXVsKHVpbnQ0
IHgsIHVpbnQ0IHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotYm9vbCBhbGwodWludDMg
eCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG11bChp
bnQyIHgsIGludDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbCh1aW50
NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG11bChpbnQzIHgsIGludDMgeSkgewor
ICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbChpbnQgeCkgewotICAgIHJldHVybiB4
ICE9IDA7CitpbnQgbXVsKGludDQgeCwgaW50NCB5KSB7CisgICAgcmV0dXJuIGRvdCh4LCB5KTsK
IH0KLWJvb2wgYWxsKGludDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOworZmxvYXQgbXVsKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIHJldHVybiBkb3Qo
eCwgeSk7Cit9CitmbG9hdCBtdWwoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgcmV0dXJuIGRv
dCh4LCB5KTsKK30KK2Zsb2F0IG11bChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICByZXR1cm4g
ZG90KHgsIHkpOworfQorZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZs
b2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoaW50MyB4
KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworZmxvYXQyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDIg
eSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwor
ICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9v
bCBhbGwoaW50NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFszXSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQyIHgsIGZsb2F0M3gyIHkpIHsKKyAg
ICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhb
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0g
Kz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggIT0g
MDsKK2Zsb2F0MiBtdWwoZmxvYXQzeDIgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVsw
XSAqIHlbMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAq
IHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzJdWzFdICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQy
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKK2Zsb2F0NCBt
dWwoZmxvYXQyIHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0
WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICogeVszXVsxXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQzIHgpIHsKLSAgICBib29sIHJl
c3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml0gIT0gMCk7CitmbG9hdDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICog
eVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9
IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzNdWzBdICogeVszXTsKKyAgICBy
ZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1
bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJd
OworICAgIHJlc3VsdFsxXSArPSB4WzNdWzFdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbCBhbGwoZmxvYXQ0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworZmxvYXQyIG11bChmbG9hdDMgeCwgZmxvYXQyeDMg
eSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1ib29sIGFsbChmbG9hdDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKK2Zsb2F0MyBtdWwo
ZmxvYXQyeDMgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0
WzJdICs9IHhbMV1bMl0gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChm
bG9hdDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworZmxvYXQz
IG11bChmbG9hdDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0Mng0
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsz
XSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsw
XVsxXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3Vs
dFsxXSArPSB4WzJdWzFdICogeVsyXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsy
XSArPSB4WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07Cisg
ICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1i
b29sIGFsbChmbG9hdDN4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworZmxvYXQ0IG11bChmbG9hdDMgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9
IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRb
M10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ym9vbCBhbGwoZmxvYXQzeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsy
XSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbM11bMF0gKiB5WzNdOworICAgIHJl
c3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOworICAgIHJlc3VsdFsyXSA9IDA7Cisg
ICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzJd
ICs9IHhbM11bMl0gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChmbG9h
dDN4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDAp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFsbChmbG9hdDR4MiB4KSB7Ci0gICAgYm9v
bCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsz
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CitmbG9h
dDIgbXVsKGZsb2F0NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV0gPSAwOwor
ICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XSArPSB4WzNdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxv
YXQ0eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAw
KTsKK2Zsb2F0NCBtdWwoZmxvYXQyeDQgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlb
MF07CisgICAgcmVzdWx0WzJdICs9IHhbMV1bMl0gKiB5WzFdOworICAgIHJlc3VsdFszXSA9IDA7
CisgICAgcmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFd
WzNdICogeVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQ0eDQgeCkg
ewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
MF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJd
WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bM10gIT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0
NCB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAw
OworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXSArPSB4WzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsx
XSArPSB4WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICog
eVsxXVszXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdICs9
IHhbMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVsyXVszXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQg
PSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOworZmxvYXQ0IG11bChmbG9hdDN4NCB4LCBmbG9hdDMg
eSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRb
MF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFdOwor
ICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsyXSA9
IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4
WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVz
dWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXVszXSAqIHlbMF07CisgICAgcmVzdWx0
WzNdICs9IHhbMV1bM10gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdWzNdICogeVsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDJ4MyB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworZmxvYXQ0IG11bChmbG9h
dDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
MDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhb
MV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF0gKz0geFszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRb
MV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAq
IHlbMV1bM107CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXSAr
PSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdICs9IHhbMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXSArPSB4WzJdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2wgYWxsKGJvb2wyeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKK2Zsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxv
YXQ0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVz
dWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdWzBdICogeVsx
XTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhb
M11bMF0gKiB5WzNdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF1b
MV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
MV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbM11bMV0gKiB5WzNdOwor
ICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAg
IHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAq
IHlbMl07CisgICAgcmVzdWx0WzJdICs9IHhbM11bMl0gKiB5WzNdOworICAgIHJlc3VsdFszXSA9
IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF1bM10gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4
WzFdWzNdICogeVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXVszXSAqIHlbMl07CisgICAgcmVz
dWx0WzNdICs9IHhbM11bM10gKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFs
bChib29sM3gyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMl1bMV07CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZs
b2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0g
PSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wg
YWxsKGJvb2wzeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKK2Zs
b2F0M3gyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0g
MDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sM3g0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9
IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1b
M107CitmbG9hdDR4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsy
XVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzNdWzFdID0gMDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sNHgyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CitmbG9hdDJ4MiBtdWwoZmxvYXQzeDIgeCwgZmxv
YXQyeDMgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzFdID0gMDsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChib29sNHgzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1b
Ml07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMl07CitmbG9hdDN4MiBt
dWwoZmxvYXQzeDIgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1
bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1b
MV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDR4NCB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzJdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzNdWzNdOworZmxvYXQ0eDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0
NHgzIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSAr
PSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJl
c3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsK
KyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFd
ICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnc9ICovCi1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3Iudz0oYm9vbDQsIGJvb2wpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLnc9KHVpbnQ0LCB1
aW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnc9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQ0
IG9wZXJhdG9yLnc9KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZmlyc3Ri
aXRsb3cgKi8KLXVpbnQgZmlyc3RiaXRsb3codWludCB4KSB7Ci0gICAgaWYgKCh4ICYgdWludCgx
IDw8IDApKSAhPSAwKQotICAgICAgICByZXR1cm4gMzE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8
IDEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMzA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIp
KSAhPSAwKQotICAgICAgICByZXR1cm4gMjk7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAh
PSAwKQotICAgICAgICByZXR1cm4gMjg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAw
KQotICAgICAgICByZXR1cm4gMjc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQot
ICAgICAgICByZXR1cm4gMjY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQotICAg
ICAgICByZXR1cm4gMjU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMjQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAhPSAwKQotICAgICAgICBy
ZXR1cm4gMjM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDkpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMjI7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDIxOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMSkpICE9IDApCi0gICAgICAgIHJldHVybiAy
MDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTk7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE4Owot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNCkpICE9IDApCi0gICAgICAgIHJldHVybiAxNzsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTY7Ci0gICAg
aWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE1OwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAxNykpICE9IDApCi0gICAgICAgIHJldHVybiAxNDsKLSAgICBpZiAo
KHggJiB1aW50KDEgPDwgMTgpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTM7Ci0gICAgaWYgKCh4
ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDEyOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAyMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxMTsKLSAgICBpZiAoKHggJiB1
aW50KDEgPDwgMjEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTA7Ci0gICAgaWYgKCh4ICYgdWlu
dCgxIDw8IDIyKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDk7Ci0gICAgaWYgKCh4ICYgdWludCgx
IDw8IDIzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8
IDI0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI1
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDU7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0g
MCkKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkKLSAg
ICAgICAgcmV0dXJuIDI7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0gMCkKLSAgICAg
ICAgcmV0dXJuIDE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgcmV0dXJuIDMyOwotfQotdWludCBmaXJzdGJpdGxvdyhpbnQgeCkgewot
ICAgIHJldHVybiBmaXJzdGJpdGxvdyh1aW50KHgpKTsKLX0KLXVpbnQyIGZpcnN0Yml0bG93KHVp
bnQyIHgpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3co
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQzIGZpcnN0Yml0bG93KHVpbnQzIHgpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmly
c3RiaXRsb3coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CitmbG9h
dDJ4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBd
ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4
WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAw
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRsb3codWludDQgeCkgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsK
LSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGxvdyh4WzNdKTsKK2Zsb2F0M3gyIG11bChmbG9hdDR4
MiB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAg
IHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1b
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsy
XVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBmaXJzdGJpdGxvdyhpbnQyIHgpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7CitmbG9hdDR4MiBtdWwoZmxvYXQ0eDIgeCwgZmxv
YXQ0eDQgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRb
MV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4
WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAw
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1
bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVsz
XTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICog
eVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzFdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgZmlyc3RiaXRsb3co
aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGZpcnN0Yml0bG93KHhbMl0pOworZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0Mngy
IHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsy
XSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IGZpcnN0Yml0
bG93KGludDQgeCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJp
dGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGxvdyh4
WzNdKTsKK2Zsb2F0M3gzIG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0g
eFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0g
MDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3h5ICovCi1ib29sNCBvcGVyYXRvci54d3h5KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9h
dDR4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzFdID0g
MDsKKyAgICByZXN1bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNd
WzFdICs9IHhbMV1bMV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHd4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0
MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3IueHd4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gzIG11bChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsw
XSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3Vs
dFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVsw
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFd
WzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsx
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd4eShmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBt
dWwoZmxvYXQzeDMgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3Vs
dFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVsw
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFd
WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAgICBy
ZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhb
MV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6
ICovCi1ib29sMyBvcGVyYXRvci55enooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKK2Zsb2F0MngzIG11bChmbG9hdDR4MyB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFd
WzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsx
XVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOwor
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0g
KiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbM11bMl0gKiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVy
YXRvci55enooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gzIG11
bChmbG9hdDR4MyB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
M11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsx
XSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55enoodWludDMgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKK2Zsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzNd
WzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
M11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsx
XSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsx
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzNdWzNdOworICAg
IHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5
WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1b
Ml0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IDA7Cisg
ICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsyXVsyXSAqIHlbM11b
Ml07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzNdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55enoodWludDQgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55enooaW50MyB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3IueXp6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6
eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4NCBtdWwoZmxv
YXQyeDQgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAw
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci55end4ICovCi1ib29sNCBvcGVyYXRvci55end4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBtdWwoZmxv
YXQyeDQgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1
bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
Ml0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9
IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9
IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzFdWzNdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQg
b3BlcmF0b3IueXp3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi54OworZmxvYXQ0eDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0NHgyIHkpIHsKKyAg
ICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1b
MF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNd
WzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsw
XVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4
WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1
bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1b
M10gKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl6d3go
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDJ4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0Mng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOwor
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlb
MV1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55end4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJd
WzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVszXSA9IDA7
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVsz
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5
WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci55d3h6PSAqLwotYm9vbDQgb3BlcmF0b3IueXd4ej0oYm9vbDQgdiwgYm9vbDQgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDR4
NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJl
c3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsx
XVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOwor
ICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAg
cmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4
WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzJdWzJdICogeVszXVsy
XTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAwOwor
ICAgIHJlc3VsdFszXVszXSArPSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10g
Kz0geFsxXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55d3h6PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9
IGMudzsKK2Zsb2F0Mng0IG11bChmbG9hdDR4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11b
Ml0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFd
WzNdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzNdICs9IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9
IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3eHo9KGludDQgdiwgaW50NCBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OworZmxvYXQzeDQg
bXVsKGZsb2F0NHg0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlb
MF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJdWzFdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFd
WzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAqIHlbMV1bM107Cisg
ICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFszXVsxXSAq
IHlbMl1bM107CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsyXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFszXVsyXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFszXVsyXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzJdID0gMDsK
KyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFszXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzJdWzNdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFszXVszXSAqIHlbMF1bM107
CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFswXVszXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsxXVszXSArPSB4WzJdWzNdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFszXVsz
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0g
eFswXVszXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFszXVszXSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55d3h6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKK2Zsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNd
OworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11b
MF0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsx
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNd
WzBdICs9IHhbM11bMF0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFd
WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsxXSA9
IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbM11bMV0gKiB5WzJd
WzNdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsyXVsxXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMV0gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsy
XSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAg
IHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBd
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0gKiB5
WzNdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOworICAgIHJlc3VsdFsz
XVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsy
XVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d4
ICovCi1ib29sNCBvcGVyYXRvci55d3d4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9u
cyBuYW1lZCByYWRpYW5zICovCitmbG9hdCByYWRpYW5zKGZsb2F0IHgpIHsKKyAgICByZXR1cm4g
eCAqIDMuMTQxNTkgLyAxODA7CiB9Ci11aW50NCBvcGVyYXRvci55d3d4KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDIgcmFkaWFu
cyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmFkaWFu
cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDMgcmFkaWFucyhmbG9hdDMgeCkgeworICAg
IGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSByYWRpYW5zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55d3d4KGZsb2F0NCB2KSB7Citm
bG9hdDQgcmFkaWFucyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSByYWRpYW5zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gcmFkaWFucyh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6dyAqLwotYm9vbDQgb3BlcmF0b3Iuenl6dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQyeDIgcmFkaWFucyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFk
aWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnp5encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgeworICAg
IGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
cmFkaWFucyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56
eXp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53
OworZmxvYXQ0eDIgcmFkaWFucyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
cmFkaWFucyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9y
Lnp5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OworZmxvYXQyeDMgcmFkaWFucyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56d3d6ICovCi1ib29sNCBvcGVyYXRvci56d3d6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyByYWRpYW5zKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnp3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHJhZGlhbnMoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0
NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFu
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmFkaWFu
cyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3d6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxv
YXQyeDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFu
cyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3d3oo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eXd3ICovCi1ib29sNCBvcGVyYXRvci55eXd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl5d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXd3
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQzeDQgcmFkaWFucyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFk
aWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFk
aWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFk
aWFucyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCByYWRp
YW5zKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gcmFkaWFucyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3I8PSAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I8PShpbnQsIGludCk7
Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjw9KHVpbnQsIHVpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0
b3I8PShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0odWludDIsIHVpbnQy
KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjw9KHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgYm9vbDQg
b3BlcmF0b3I8PSh1aW50NCwgdWludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oaW50Miwg
aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8PShpbnQzLCBpbnQzKTsKLW5hdGl2ZSBib29s
NCBvcGVyYXRvcjw9KGludDQsIGludDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPD0oZmxvYXQy
LCBmbG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oZmxvYXQzLCBmbG9hdDMpOwotbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPD0oZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGJvb2wyeDIgb3Bl
cmF0b3I8PShmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8PShm
bG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I8PShmbG9hdDJ4NCwg
ZmxvYXQyeDQpOwotbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I8PShmbG9hdDN4MiwgZmxvYXQzeDIp
OwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8PShmbG9hdDN4MywgZmxvYXQzeDMpOwotbmF0aXZl
IGJvb2wzeDQgb3BlcmF0b3I8PShmbG9hdDN4NCwgZmxvYXQzeDQpOwotbmF0aXZlIGJvb2w0eDIg
b3BlcmF0b3I8PShmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I8
PShmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I8PShmbG9hdDR4
NCwgZmxvYXQ0eDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR4X2ZpbmUgKi8KLWZsb2F0IGRk
eF9maW5lKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gZGR4KHgpOwotfQotZmxvYXQyIGRkeF9maW5l
KGZsb2F0MiB4KSB7CisvKiBGdW5jdGlvbnMgbmFtZWQgY2VpbCAqLworbmF0aXZlIGZsb2F0IGNl
aWwoZmxvYXQpOworZmxvYXQyIGNlaWwoZmxvYXQyIHgpIHsKICAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9maW5l
KHhbMV0pOworICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2Vp
bCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIGRkeF9maW5lKGZsb2F0MyB4
KSB7CitmbG9hdDMgY2VpbChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4X2ZpbmUoeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gY2VpbCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNlaWwo
eFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBkZHhfZmluZShmbG9hdDQgeCkg
eworZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeF9maW5l
KHhbM10pOworICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2Vp
bCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGNl
aWwoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGRkeF9maW5lKGZsb2F0
MngyIHgpIHsKK2Zsb2F0MngyIGNlaWwoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
ZWlsKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBkZHhfZmluZShm
bG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRk
eF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworZmxvYXQzeDIgY2VpbChm
bG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBjZWlsKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBkZHhfZmlu
ZShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhb
MV1bM10pOworZmxvYXQ0eDIgY2VpbChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZGR4X2ZpbmUoZmxvYXQzeDIgeCkgewotICAg
IGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKK2Zsb2F0MngzIGNlaWwoZmxvYXQyeDMgeCkgeworICAg
IGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgZGR4X2ZpbmUoZmxvYXQzeDMgeCkgewor
ZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9m
aW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRk
eF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDN4NCBkZHhfZmluZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGRkeF9maW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhb
Ml1bM10pOworZmxvYXQ0eDMgY2VpbChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBjZWlsKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBk
ZHhfZmluZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5l
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9m
aW5lKHhbM11bMV0pOworZmxvYXQyeDQgY2VpbChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2Vp
bCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgZGR4X2ZpbmUoZmxvYXQ0eDMgeCkg
ewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmlu
ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhf
ZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKK2Zsb2F0M3g0IGNlaWwoZmxvYXQz
eDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2Vp
bCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJdWzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZGR4X2ZpbmUoZmxvYXQ0eDQgeCkgeworZmxvYXQ0
eDQgY2VpbChmbG9hdDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5l
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9m
aW5lKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRk
eF9maW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRkeF9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0p
OwotICAgIHJlc3VsdFszXVszXSA9IGRkeF9maW5lKHhbM11bM10pOworICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBj
ZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gY2VpbCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGNlaWwoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eCAqLwotYm9vbDMgb3BlcmF0b3IueHd4KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIG9wZXJhdG9yLnh3eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh3eChpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc2luICovCituYXRpdmUgZmxv
YXQgYXNpbihmbG9hdCk7CitmbG9hdDIgYXNpbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2luKHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHd4KGZsb2F0NCB2
KSB7CitmbG9hdDMgYXNpbihmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yIGNhc3Qg
Ki8KLW5hdGl2ZSBvcGVyYXRvciB1aW50KGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludChmbG9h
dCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50KHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludChmbG9h
dCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQodWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQo
aW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQoYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbCh1
aW50KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sKGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbChm
bG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDIoYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0
b3IgYm9vbDMoYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDMoYm9vbDIs
IGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wsIGJvb2wyKTsKLW5hdGl2ZSBvcGVy
YXRvciBib29sNChib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
NChib29sMiwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbDIs
IGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wsIGJvb2wyKTsKLW5hdGl2
ZSBvcGVyYXRvciBib29sNChib29sMiwgYm9vbDIpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJv
b2wzLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNChib29sLCBib29sMyk7Ci1uYXRpdmUg
b3BlcmF0b3IgdWludDIodWludCwgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDModWludCwg
dWludCwgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDModWludDIsIHVpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50
LCB1aW50LCB1aW50LCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50MiwgdWludCwg
dWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludDIsIHVpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50
NCh1aW50MiwgdWludDIpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQzLCB1aW50KTsKLW5h
dGl2ZSBvcGVyYXRvciB1aW50NCh1aW50LCB1aW50Myk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50Mihp
bnQsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBv
cGVyYXRvciBpbnQzKGludDIsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQsIGludDIp
OwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBvcGVy
YXRvciBpbnQ0KGludDIsIGludCwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50
MiwgaW50KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50LCBpbnQyKTsKLW5hdGl2ZSBv
cGVyYXRvciBpbnQ0KGludDIsIGludDIpOwotbmF0aXZlIG9wZXJhdG9yIGludDQoaW50MywgaW50
KTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxv
YXQyKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZsb2F0LCBmbG9hdCwg
ZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBv
cGVyYXRvciBmbG9hdDMoZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQy
LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQyLCBm
bG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9hdCwgZmxvYXQyKTsKLW5h
dGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIG9wZXJhdG9yIGZs
b2F0NChmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0
Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDIoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0MngzKGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4
NChmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDIoZmxvYXQyLCBmbG9h
dDIsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDMoZmxvYXQzLCBmbG9hdDMsIGZs
b2F0Myk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDQoZmxvYXQ0LCBmbG9hdDQsIGZsb2F0NCk7
Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDIoZmxvYXQyLCBmbG9hdDIsIGZsb2F0MiwgZmxvYXQy
KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDR4MyhmbG9hdDMsIGZsb2F0MywgZmxvYXQzLCBmbG9h
dDMpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHg0KGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQsIGZs
b2F0NCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDIoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MngzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0Mng0KGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0
b3IgZmxvYXQzeDIoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1u
YXRpdmUgb3BlcmF0b3IgZmxvYXQzeDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzeDQo
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDIoZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5h
dGl2ZSBvcGVyYXRvciBmbG9hdDR4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2
ZSBvcGVyYXRvciBmbG9hdDR4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Mihib29sMiwgYm9vbDIp
OwotbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDMoYm9vbDMsIGJvb2wzKTsKLW5hdGl2ZSBvcGVyYXRv
ciBib29sMng0KGJvb2w0LCBib29sNCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4Mihib29sMiwg
Ym9vbDIsIGJvb2wyKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gzKGJvb2wzLCBib29sMywgYm9v
bDMpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDQoYm9vbDQsIGJvb2w0LCBib29sNCk7Ci1uYXRp
dmUgb3BlcmF0b3IgYm9vbDR4Mihib29sMiwgYm9vbDIsIGJvb2wyLCBib29sMik7Ci1uYXRpdmUg
b3BlcmF0b3IgYm9vbDR4Myhib29sMywgYm9vbDMsIGJvb2wzLCBib29sMyk7Ci1uYXRpdmUgb3Bl
cmF0b3IgYm9vbDR4NChib29sNCwgYm9vbDQsIGJvb2w0LCBib29sNCk7Ci1uYXRpdmUgb3BlcmF0
b3IgYm9vbDJ4Mihib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29s
MngzKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9y
IGJvb2wyeDQoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7
Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4Mihib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3gzKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDQoYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDR4Mihib29sLCBib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNHgzKGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQoYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXgg
Ki8KLWJvb2wzIG9wZXJhdG9yLnd5eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eXgodWludDQgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVy
YXRvci53eXgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7CisgICAgcmVzdWx0WzBd
ID0gYXNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGFzaW4oeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci53
eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0IGFzaW4oZmxv
YXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2luKHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGFzaW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIGxvYWQgKi8KLW5hdGl2ZSBpbnQgbG9hZChkZXZpY2UgYXRvbWlj
X2ludCopOwotbmF0aXZlIHVpbnQgbG9hZChkZXZpY2UgYXRvbWljX3VpbnQqKTsKLW5hdGl2ZSBp
bnQgbG9hZCh0aHJlYWRncm91cCBhdG9taWNfaW50Kik7Ci1uYXRpdmUgdWludCBsb2FkKHRocmVh
ZGdyb3VwIGF0b21pY191aW50Kik7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHh4
ICovCi1ib29sNCBvcGVyYXRvci54eHh4KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MiBhc2luKGZsb2F0MngyIHgpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueHh4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDIgYXNpbihmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci54eHh4KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDR4MiBhc2luKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
YXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54eHh4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MyBhc2luKGZsb2F0MngzIHgpIHsK
KyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4eHgodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gz
IGFzaW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
YXNpbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHh4
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQ0eDMgYXNpbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGFzaW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFz
aW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBhc2luKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4
eHgoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNp
bih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBhc2luKGZsb2F0M3g0IHgp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2lu
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
YXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGFzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4o
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBh
c2luKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh4
eChmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGFzdWludCAqLwor
dWludCBhc3VpbnQoaW50IHgpIHsKKyAgICByZXR1cm4gdWludCh4KTsKIH0KLWZsb2F0NCBvcGVy
YXRvci54eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKK3VpbnQyIGFzdWludChpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHgoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwordWludDMg
YXN1aW50KGludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3Vp
bnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGFzdWludCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl4eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl4eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwordWludDQgYXN1aW50KGlu
dDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzdWludCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc3VpbnQoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2w0IG9wZXJhdG9yLnp5eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwordWludCBhc3VpbnQo
dWludCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11aW50NCBvcGVyYXRvci56eXh6KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKK3VpbnQyIGFzdWludCh1aW50MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci11
aW50NCBvcGVyYXRvci56eXh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3VpbnQzIGFzdWludCh1aW50
MyB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5eHooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3VpbnQ0IGFzdWludCh1aW50NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnp5eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7CituYXRpdmUgdWludCBhc3VpbnQoZmxvYXQpOwordWludDIgYXN1aW50KGZsb2F0
MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci56eXh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKK3VpbnQzIGFzdWludChmbG9hdDMgeCkgeworICAgIHVpbnQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
YXN1aW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzdWludCh4WzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwordWludDQgYXN1aW50KGZsb2F0NCB4
KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGFzdWludCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHo9ICovCi1ib29sMyBvcGVyYXRvci54ej0o
Ym9vbDMgdiwgYm9vbDIgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgcG93ICovCitu
YXRpdmUgZmxvYXQgcG93KGZsb2F0LCBmbG9hdCk7CitmbG9hdDIgcG93KGZsb2F0MiB4LCBmbG9h
dDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlb
MF0pOworICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotYm9vbDQgb3BlcmF0b3IueHo9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxv
YXQzIHBvdyhmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50MyBvcGVyYXRvci54ej0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9h
dDQgcG93KGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gcG93
KHhbM10sIHlbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54ej0o
dWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7CitmbG9hdDJ4MiBwb3coZmxvYXQyeDIgeCwgZmxv
YXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3co
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDMgb3BlcmF0b3IueHo9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQzeDIgcG93
KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBv
dyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3IueHo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgs
IGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzIG9wZXJhdG9yLnh6PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9h
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
K2Zsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3IueHo9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxv
YXQzeDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHcgKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIHBvdyhmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBv
dyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBw
b3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
cG93KHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci56eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitmbG9hdDJ4NCBwb3coZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZs
b2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhb
MV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp5
eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
CitmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBv
dyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBw
b3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
cG93KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQ0eDQgcG93KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3co
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBv
dyh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBw
b3coeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gcG93KHhbM11bM10sIHlb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56eiAqLwotYm9vbDIgb3BlcmF0b3IuenooYm9vbDMgdikgewotICAgIGJvb2wyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKKy8qIEZ1bmN0aW9u
cyBuYW1lZCB0YW4gKi8KK25hdGl2ZSBmbG9hdCB0YW4oZmxvYXQpOworZmxvYXQyIHRhbihmbG9h
dDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDIg
b3BlcmF0b3IuenooYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2Zsb2F0MyB0YW4oZmxvYXQzIHgpIHsKKyAgICBm
bG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSB0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuKHhbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50MiBvcGVyYXRvci56eih1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQ0IHRhbihmbG9h
dDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0YW4oeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gdGFuKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBv
cGVyYXRvci56eih1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQyeDIgdGFuKGZsb2F0MngyIHgpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnp6KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQzeDIgdGFuKGZsb2F0
M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsy
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IuenooaW50NCB2KSB7
Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7CitmbG9hdDR4MiB0YW4oZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IuenooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQyeDMgdGFu
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0
YW4oeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci56eihm
bG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7CitmbG9hdDN4MyB0YW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owor
ZmxvYXQ0eDMgdGFuKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
dGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0
YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd4enoodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IHRh
bihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
dGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3Iud3h6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKK2Zsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0
YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRh
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdGFu
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6eihm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7
CitmbG9hdDR4NCB0YW4oZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbih4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
dGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bM10gPSB0YW4oeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd6d3koYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGZtYSAqLworZmxvYXQgZm1hKGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHopIHsKKyAgICByZXR1cm4geCAqIHkgKyB6OwogfQotdWludDQg
b3BlcmF0b3Iud3p3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi55OworZmxvYXQyIGZtYShmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelsw
XSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0sIHpbMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMgZm1hKGZsb2F0MyB4LCBmbG9hdDMg
eSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtYSh4
WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7
CisgICAgcmVzdWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p3eShmbG9hdDQgdikgeworZmxvYXQ0IGZtYShmbG9h
dDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7
CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9
IGZtYSh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBmbWEoeFszXSwgeVszXSwg
elszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnd5enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd5enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MngyIGZtYShmbG9hdDJ4MiB4
LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iud3l6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZs
b2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1h
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l6eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGZt
YShmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Zm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4
WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci53eXp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0MngzIGZtYShmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4
MyB6KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwg
eVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1b
MV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3h4
ICovCi1ib29sNCBvcGVyYXRvci54d3h4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4MyBmbWEoZmxvYXQzeDMgeCwgZmxvYXQz
eDMgeSwgZmxvYXQzeDMgeikgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Zm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd4eCh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgZm1hKGZs
b2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5
WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd4eChpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IGZtYShmbG9h
dDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
bWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54
d3h4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKK2Zsb2F0M3g0IGZtYShmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZt
YSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsx
XVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10s
IHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXkgKi8KLWJvb2wzIG9wZXJhdG9yLnh5eShib29sMiB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZt
YSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0s
IHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
Zm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4
WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1hKHhbM11bM10sIHlb
M11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54
eXkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OworCisvKiBGdW5jdGlvbnMgbmFtZWQgZGV0ZXJtaW5hbnQgKi8KK2Zsb2F0IGRldGVybWluYW50
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh5eShib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBk
ZXRlcm1pbmFudChmbG9hdDJ4MiB4KSB7CisgICAgcmV0dXJuIHhbMF1bMF0gKiB4WzFdWzFdIC0g
eFsxXVswXSAqIHhbMF1bMV07CiB9Ci11aW50MyBvcGVyYXRvci54eXkodWludDIgdikgewotICAg
IHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgZGV0ZXJtaW5h
bnQoZmxvYXQzeDMgeCkgeworICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAqIHhbMl1bMl0g
KworICAgICAgICAgICB4WzFdWzBdICogeFsyXVsxXSAqIHhbMF1bMl0gKworICAgICAgICAgICB4
WzJdWzBdICogeFswXVsxXSAqIHhbMV1bMl0gLQorICAgICAgICAgICB4WzBdWzJdICogeFsxXVsx
XSAqIHhbMl1bMF0gLQorICAgICAgICAgICB4WzFdWzJdICogeFsyXVsxXSAqIHhbMF1bMF0gLQor
ICAgICAgICAgICB4WzJdWzJdICogeFswXVsxXSAqIHhbMV1bMF07CiB9Ci11aW50MyBvcGVyYXRv
ci54eXkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0IGRldGVybWlu
YW50KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdCByZXN1bHQ7CisgICAgZmxvYXQzeDMgbWlub3I7
CisgICAgbWlub3JbMF1bMF0gPSB4WzFdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVsxXTsK
KyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwor
ICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Cisg
ICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKKyAg
ICBtaW5vclsyXVsyXSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVswXSAq
IGRldGVybWluYW50KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlu
b3JbMV1bMF0gPSB4WzJdWzFdOworICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKKyAgICBtaW5v
clswXVsxXSA9IHhbMF1bMl07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOworICAgIG1pbm9y
WzJdWzFdID0geFszXVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3Jb
MV1bMl0gPSB4WzJdWzNdOworICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgLSB4WzFdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBd
ID0geFswXVsxXTsKKyAgICBtaW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1bMF0g
PSB4WzNdWzFdOworICAgIG1pbm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9
IHhbMV1bMl07CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0g
eFswXVszXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0gPSB4
WzNdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMl1bMF0gKiBkZXRlcm1pbmFudChtaW5v
cik7CisgICAgbWlub3JbMF1bMF0gPSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsxXVsx
XTsKKyAgICBtaW5vclsyXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJd
OworICAgIG1pbm9yWzFdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbMl1bMl07
CisgICAgbWlub3JbMF1bMl0gPSB4WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsxXVszXTsK
KyAgICBtaW5vclsyXVsyXSA9IHhbMl1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFszXVsw
XSAqIGRldGVybWluYW50KG1pbm9yKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3Bl
cmF0b3IueHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CisKKy8qIEZ1bmN0
aW9ucyBuYW1lZCBmbG9vciAqLworbmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KTsKK2Zsb2F0MiBm
bG9vcihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxv
b3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3IueHl5KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQzIGZsb29yKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBmbG9vcih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbG9vcih4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBmbG9vcih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVy
YXRvci54eXkoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHl5KGludDQgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHl5KGZsb2F0MiB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0NCBmbG9vcihmbG9hdDQgeCkgewor
ICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gZmxvb3IoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gZmxvb3IoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci54eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQy
eDIgZmxvb3IoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmbG9vcih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9y
Lnh5eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDN4MiBmbG9v
cihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29y
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enh5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3p4eT0oYm9v
bDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0
LnkgPSBjLnc7CitmbG9hdDR4MiBmbG9vcihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZs
b29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53enh5PSh1aW50
NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQu
eSA9IGMudzsKK2Zsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxv
b3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p4eT0oaW50NCB2LCBpbnQ0IGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7CitmbG9hdDN4MyBm
bG9vcihmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZs
b29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZsb29yKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3Iud3p4eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7CitmbG9hdDR4MyBmbG9vcihmbG9hdDR4MyB4KSB7
CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29y
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56dyAq
LwotYm9vbDIgb3BlcmF0b3IuencoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKK2Zsb2F0Mng0IGZsb29yKGZsb2F0
Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQyIG9wZXJhdG9yLnp3KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7CitmbG9hdDN4NCBmbG9vcihmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29y
KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZsb29yKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnp3KGludDQgdikgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OworZmxvYXQ0eDQgZmxvb3IoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9v
cih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBm
bG9vcih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBmbG9vcih4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBmbG9vcih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBmbG9vcih4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJhdG9yLnp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNyb3NzICovCitmbG9hdDMgY3Jvc3MoZmxvYXQz
IHUsIGZsb2F0MyB2KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHUueSAq
IHYueiAtIHUueiAqIHYueTsKKyAgICByZXN1bHQueSA9IHUueiAqIHYueCAtIHUueCAqIHYuejsK
KyAgICByZXN1bHQueiA9IHUueCAqIHYueSAtIHUueSAqIHYueDsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6ICovCi1ib29sMyBvcGVyYXRv
ci54eHooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKKy8qIEZ1bmN0aW9ucyBu
YW1lZCBpc2Zpbml0ZSAqLworbmF0aXZlIGJvb2wgaXNmaW5pdGUoZmxvYXQpOworYm9vbDIgaXNm
aW5pdGUoZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNm
aW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnh4eihib29sNCB2KSB7Citib29sMyBpc2Zpbml0
ZShmbG9hdDMgeCkgewogICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3IueHh6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CisgICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNm
aW5pdGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh4eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OworYm9vbDQgaXNmaW5pdGUoZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5p
dGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gaXNmaW5pdGUoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iu
eHh6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OworCisvKiBGdW5jdGlvbnMgbmFt
ZWQgSW50ZXJsb2NrZWRPciAqLworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRv
bWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRP
cihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50
LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9j
a2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJl
YWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191
aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhy
ZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVp
bnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhdGFuMiAqLwor
bmF0aXZlIGZsb2F0IGF0YW4yKGZsb2F0LCBmbG9hdCk7CitmbG9hdDIgYXRhbjIoZmxvYXQyIHgs
IGZsb2F0MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4
WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7CitmbG9hdDMgYXRhbjIoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhdGFuMih4WzJdLCB5WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eihmbG9hdDMgdikg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDQgYXRhbjIoZmxvYXQ0IHgsIGZsb2F0
NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBhdGFuMih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBhdGFuMih4WzNdLCB5WzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnh4eihmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4MiBhdGFuMihmbG9hdDJ4MiB4LCBmbG9h
dDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4y
KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHkgKi8KLWJvb2wzIG9wZXJh
dG9yLnl4eShib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQzeDIgYXRh
bjIoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbDMgb3BlcmF0b3IueXh5KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
CitmbG9hdDR4MiBhdGFuMihmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGF0YW4yKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4yKHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGF0YW4yKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGF0YW4yKHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBv
cGVyYXRvci55eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0Mngz
IGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLXVpbnQzIG9wZXJhdG9yLnl4eSh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OworZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFu
Mih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4
WzJdWzJdLCB5WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iu
eXh5KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDR4MyBhdGFuMihm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4yKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4yKHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4y
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4yKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGF0YW4yKHhb
M11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55
eHkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0Mng0IGF0YW4yKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRh
bjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueXh5KGludDIgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQy
IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgb3BlcmF0b3IueXh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
K2Zsb2F0M3g0IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsy
XSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQ0eDQgYXRhbjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBh
dGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bM10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgY291bnRfYml0cyAqLworLyogRnVuY3Rp
b25zIG5hbWVkIERldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jICovCituYXRpdmUgdm9p
ZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOwogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXl6ICovCi1ib29sMyBvcGVyYXRvci55eXooYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iu
eXl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eih1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXoodWludDQgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBv
cGVyYXRvci55eXooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl6KGludDQgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl6KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnl5eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBuYW1lZCBmbW9kICovCiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eCAqLwotYm9vbDIgb3BlcmF0b3Iud3goYm9vbDQg
dikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3Iud3godWludDQg
dikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci53eChpbnQ0IHYp
IHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgZm1vZChmbG9hdCB4LCBmbG9hdCB5KSB7
CisgICAgdWludCB3aG9sZSA9IHVpbnQoeCAvIHkpOworICAgIGZsb2F0IG11bHRpcGxlID0gZmxv
YXQod2hvbGUpICogeTsKKyAgICByZXR1cm4geCAtIG11bHRpcGxlOwogfQotZmxvYXQyIG9wZXJh
dG9yLnd4KGZsb2F0NCB2KSB7CitmbG9hdDIgZm1vZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKICAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eHd6PSAqLwotYm9vbDQgb3BlcmF0b3IueXh3ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4d3o9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4d3o9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55Owot
ICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh3ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4ICovCi1ib29sMiBv
cGVyYXRvci54eChib29sMiB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBv
cGVyYXRvci54eChib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBv
cGVyYXRvci54eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBv
cGVyYXRvci54eCh1aW50MiB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBv
cGVyYXRvci54eCh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OworICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwgeVsw
XSk7CisgICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDIgb3BlcmF0b3IueHgodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MyBmbW9kKGZsb2F0
MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1v
ZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0pOworICAgIHJl
c3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIg
b3BlcmF0b3IueHgoaW50MiB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDQgZm1vZChmbG9hdDQgeCwgZmxvYXQ0IHkp
IHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwgeVswXSk7
CisgICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmbW9k
KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IGZtb2QoeFszXSwgeVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IueHgoaW50MyB2KSB7Ci0gICAgaW50MiByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDJ4MiBm
bW9kKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVyYXRvci54eChpbnQ0IHYpIHsKLSAgICBp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zs
b2F0M3gyIGZtb2QoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQyIG9wZXJhdG9yLnh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0NHgyIGZtb2Qo
ZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDMgdikgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7CitmbG9hdDJ4MyBmbW9kKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDQgdikgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDN4
MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1v
ZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXcgKi8K
LWJvb2w0IG9wZXJhdG9yLnd6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIGZtb2QoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2Qo
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Zm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3Iud3p5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgZm1vZChmbG9hdDJ4NCB4LCBm
bG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZt
b2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4LCBm
bG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZt
b2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2Qo
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p5dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCBmbW9kKGZs
b2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9k
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhb
Ml1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGZt
b2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iuenh6eSAqLwotYm9vbDQgb3BlcmF0b3Iuenh6eShib29sMyB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sNCBvcGVyYXRvci56eHp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp4enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6eSh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4enkoaW50MyB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iuenh6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnp4enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3ItICovCituYXRpdmUgaW50IG9wZXJhdG9yLShpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVy
YXRvci0odWludCwgdWludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdCk7
CituYXRpdmUgaW50IG9wZXJhdG9yLShpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9h
dCk7CituYXRpdmUgdWludDIgb3BlcmF0b3ItKHVpbnQyLCB1aW50Mik7CituYXRpdmUgdWludDIg
b3BlcmF0b3ItKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvci0odWludDIsIHVp
bnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yLSh1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQz
IG9wZXJhdG9yLSh1aW50LCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3ItKHVpbnQzLCB1
aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvci0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50
NCBvcGVyYXRvci0odWludCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLSh1aW50NCwg
dWludCk7CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50MiwgaW50Mik7CituYXRpdmUgaW50MiBv
cGVyYXRvci0oaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yLShpbnQyLCBpbnQpOwor
bmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMsIGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3It
KGludCwgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvci0oaW50MywgaW50KTsKK25hdGl2ZSBp
bnQ0IG9wZXJhdG9yLShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQsIGlu
dDQpOworbmF0aXZlIGludDQgb3BlcmF0b3ItKGludDQsIGludCk7CituYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yLShmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLShmbG9hdCwg
ZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3ItKGZsb2F0MiwgZmxvYXQpOworbmF0aXZl
IGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRv
ci0oZmxvYXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yLShmbG9hdDMsIGZsb2F0
KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9h
dDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvci0oZmxv
YXQ0LCBmbG9hdCk7CituYXRpdmUgaW50MiBvcGVyYXRvci0oaW50Mik7CituYXRpdmUgaW50MyBv
cGVyYXRvci0oaW50Myk7CituYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCk7CituYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLShmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzKTsK
K25hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0
b3ItKGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0
MngyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Mik7
CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3ItKGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDN4MiBv
cGVyYXRvci0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0o
ZmxvYXQsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLShmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yLShmbG9hdCwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4
MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4Mik7CituYXRpdmUg
ZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZs
b2F0MngzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzKTsKK25h
dGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9h
dDN4MyBvcGVyYXRvci0oZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRv
ci0oZmxvYXQzeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMp
OworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZl
IGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0NHgzIG9w
ZXJhdG9yLShmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9h
dDR4Myk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Citu
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3ItKGZsb2F0Mng0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3It
KGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0M3g0
KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0M3g0KTsKK25hdGl2ZSBm
bG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVy
YXRvci0oZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxv
YXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDQpOworbmF0
aXZlIGZsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHg0
IG9wZXJhdG9yLShmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtaW4gKi8KK3VpbnQg
bWluKHVpbnQgeCwgdWludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7CiB9Ci1mbG9h
dDQgb3BlcmF0b3Iuenh6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Cit1aW50MiBtaW4odWludDIgeCwgdWludDIgeSkgeworICAgIHVp
bnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0
WzFdID0gbWluKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56d3h4ICovCi1ib29sNCBvcGVyYXRvci56d3h4KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Cit1aW50MyBt
aW4odWludDMgeCwgdWludDMgeSkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAg
IHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iuend4eCh1aW50NCB2KSB7Cit1aW50NCBtaW4odWludDQgeCwgdWludDQgeSkg
ewogICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1
bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBtaW4o
eFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuend4eChp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2lu
dCBtaW4oaW50IHgsIGludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Cit9CitpbnQy
IG1pbihpbnQyIHgsIGludDIgeSkgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56d3h4KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2ludDMgbWluKGludDMg
eCwgaW50MyB5KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBtaW4oeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIHJzcXJ0ICovCi1mbG9hdCByc3FydChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIDEgLyBz
cXJ0KHgpOworaW50NCBtaW4oaW50NCB4LCBpbnQ0IHkpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10g
PSBtaW4oeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiByc3FydChm
bG9hdDIgeCkgeworZmxvYXQgbWluKGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAgICByZXR1cm4geCA+
IHkgPyB5IDogeDsKK30KK2Zsb2F0MiBtaW4oZmxvYXQyIHgsIGZsb2F0MiB5KSB7CiAgICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVz
dWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMg
cnNxcnQoZmxvYXQzIHgpIHsKK2Zsb2F0MyBtaW4oZmxvYXQzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSByc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByc3FydCh4WzJdKTsKKyAgICByZXN1
bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IHJzcXJ0KGZsb2F0NCB4KSB7CitmbG9hdDQgbWluKGZsb2F0NCB4LCBmbG9hdDQg
eSkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7
Ci0gICAgcmVzdWx0WzNdID0gcnNxcnQoeFszXSk7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBtaW4oeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4
MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewogICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3Fy
dCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MngzIHJzcXJ0KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CitmbG9hdDN4MiBtaW4oZmxvYXQzeDIg
eCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFd
LCB5WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgcnNxcnQoZmxvYXQy
eDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKK2Zsb2F0NHgyIG1pbihmbG9hdDR4MiB4
LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gyIHJzcXJ0KGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CitmbG9hdDJ4MyBt
aW4oZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMg
cnNxcnQoZmxvYXQzeDMgeCkgeworZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkp
IHsKICAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNx
cnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcnNxcnQoeFsy
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHJzcXJ0KGZsb2F0M3g0IHgp
IHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNx
cnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gcnNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcnNxcnQoeFsyXVszXSk7
CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NHgyIHJzcXJ0KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
cnNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcnNxcnQo
eFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHJzcXJ0KGZsb2F0NHgz
IHgpIHsKK2Zsb2F0NHgzIG1pbihmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CiAgICAgZmxvYXQ0
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJl
c3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDR4NCByc3FydChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwotICAgIHJlc3VsdFszXVsw
XSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHJz
cXJ0KHhbM11bM10pOworZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWlu
KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IG1p
bih4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueiAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3Iueihib29sMyk7Ci1u
YXRpdmUgYm9vbCBvcGVyYXRvci56KGJvb2w0KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnoodWlu
dDMpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3Iueih1aW50NCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9y
LnooaW50Myk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yLnooaW50NCk7Ci1uYXRpdmUgZmxvYXQgb3Bl
cmF0b3IueihmbG9hdDMpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnooZmxvYXQ0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXg9ICovCi1ib29sNCBvcGVyYXRvci53enl4PShi
b29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1
bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p5eD0o
dWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lncg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVz
dWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eD0o
aW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enl4PShm
bG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXN1bHQueCA9IGMudzsKK2Zsb2F0M3g0IG1pbihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
aW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlb
Ml1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
bWluKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eXh3ICovCi1ib29sNCBvcGVyYXRvci55eXh3KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4
NCBtaW4oZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1b
Ml0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJd
WzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBtaW4oeFszXVszXSwgeVszXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eHcodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKKworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkWG9yICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRYb3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJl
YWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhy
ZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJl
YWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKKworLyogRnVuY3Rp
b25zIG5hbWVkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KK25hdGl2ZSB2b2lk
IEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKKworLyogRnVuY3Rpb25zIG5hbWVk
IHRydW5jICovCituYXRpdmUgZmxvYXQgdHJ1bmMoZmxvYXQpOworZmxvYXQyIHRydW5jKGZsb2F0
MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci55eXh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OworZmxvYXQzIHRydW5jKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSB0cnVuYyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0cnVuYyh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0cnVuYyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnl5eHcoZmxvYXQ0IHYpIHsKK2Zsb2F0NCB0cnVuYyhmbG9hdDQg
eCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAg
cmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gdHJ1bmMoeFszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3
eiAqLwotYm9vbDMgb3BlcmF0b3Iuend6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CitmbG9hdDJ4MiB0cnVuYyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRy
dW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
MyBvcGVyYXRvci56d3oodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0
M3gyIHRydW5jKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDMgb3BlcmF0b3Iuend6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OworZmxv
YXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0
cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnp3eihmbG9hdDQgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
eXd6ICovCi1ib29sNCBvcGVyYXRvci56eXd6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5j
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXd6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4
MyB0cnVuYyhmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHRydW5jKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5j
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IHRydW5jKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnp5d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7CitmbG9hdDJ4NCB0cnVuYyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRy
dW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl3eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4
NCB0cnVuYyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5j
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHRydW5jKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56eXd3ICovCi1ib29sNCBvcGVyYXRvci56eXd3KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCB0
cnVuYyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHRy
dW5jKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5j
KHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHRydW5jKHhbM11bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKwor
LyogRnVuY3Rpb25zIG5hbWVkIG1heCAqLwordWludCBtYXgodWludCB4LCB1aW50IHkpIHsKKyAg
ICByZXR1cm4geCA+IHkgPyB4IDogeTsKIH0KLWludDQgb3BlcmF0b3Iuenl3dyhpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKK3VpbnQyIG1heCh1
aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1h
eCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eXd3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKK3VpbnQzIG1heCh1aW50MyB4
LCB1aW50MyB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gbWF4KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54d3o9ICovCi1ib29sNCBvcGVyYXRvci54d3o9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54d3o9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3
ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3o9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwordWludDQgbWF4KHVpbnQ0IHgsIHVpbnQ0
IHkpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgo
eFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXh3ICovCi1ib29s
NCBvcGVyYXRvci54eXh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworCitpbnQgbWF4KGludCB4LCBp
bnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHggOiB5OwogfQotdWludDQgb3BlcmF0b3IueHl4
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OworaW50MiBtYXgoaW50MiB4LCBpbnQyIHkpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eHcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitpbnQzIG1heChpbnQz
IHgsIGludDMgeSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gbWF4KHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueHl4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7CitpbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgeworICAgIGludDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsx
XSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFsz
XSA9IG1heCh4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3p5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3p5PShib29sNCB2LCBi
b29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OworCitmbG9hdCBtYXgoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHgg
OiB5OwogfQotdWludDQgb3BlcmF0b3Iud3p5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0MiBtYXgoZmxvYXQyIHgsIGZsb2F0MiB5KSB7Cisg
ICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnd6eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBj
Lno7CitmbG9hdDMgbWF4KGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4
WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53enk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0
IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4
KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6eCAqLwotYm9v
bDQgb3BlcmF0b3IueHh6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bWF4KHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVy
YXRvci54eHp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4MiBtYXgoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZs
b2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHh6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDIgbWF4KGZsb2F0NHgyIHgs
IGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHh6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDMgbWF4KGZsb2F0MngzIHgsIGZsb2F0
MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4
WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHh6eChpbnQzIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gzIG1h
eChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBt
YXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMg
eSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IG1heCh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnh4engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgbWF4KGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkp
IHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnh4engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQzeDQgbWF4KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsK
KyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHogKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0
NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1b
MF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsy
XVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhb
Ml1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXd4eih1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7CisKKworLyogRnVuY3Rpb25zIG5hbWVkIGFzaW50ICovCitpbnQgYXNpbnQoaW50
IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWludDQgb3BlcmF0b3IueXd4eihpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworaW50MiBhc2ludChpbnQyIHgpIHsKKyAgICByZXR1cm4geDsKIH0KLWZsb2F0NCBvcGVy
YXRvci55d3h6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworaW50MyBhc2ludChpbnQzIHgpIHsKKyAg
ICByZXR1cm4geDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eHogKi8KLWJv
b2w0IG9wZXJhdG9yLnh5eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworaW50NCBhc2ludChpbnQ0IHgp
IHsKKyAgICByZXR1cm4geDsKIH0KLWJvb2w0IG9wZXJhdG9yLnh5eHooYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OworaW50IGFzaW50KHVpbnQgeCkgeworICAgIHJldHVybiBpbnQoeCk7CiB9Ci11aW50NCBv
cGVyYXRvci54eXh6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7CitpbnQyIGFzaW50KHVpbnQyIHgpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl4eih1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworaW50MyBhc2ludCh1
aW50MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNpbnQoeFsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHl4eihpbnQzIHYpIHsK
K2ludDQgYXNpbnQodWludDQgeCkgewogICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OworICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGFzaW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGFzaW50KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5
eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
CituYXRpdmUgaW50IGFzaW50KGZsb2F0KTsKK2ludDIgYXNpbnQoZmxvYXQyIHgpIHsKKyAgICBp
bnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBhc2ludCh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5
eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OworaW50MyBhc2ludChmbG9hdDMgeCkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGFzaW50KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3IueHl4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7CitpbnQ0IGFzaW50KGZsb2F0NCB4KSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXNpbnQoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIHNxcnQgKi8K
LWZsb2F0IHNxcnQoZmxvYXQgeCkgewotICAgIHJldHVybiBwb3coeCwgMC41KTsKLX0KLWZsb2F0
MiBzcXJ0KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBz
cXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBzcXJ0KGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gc3FydCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHNx
cnQoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNxcnQo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzcXJ0
KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngyIHNxcnQoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBz
cXJ0KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHNxcnQoeFsxXVsyXSk7CisvKiBGdW5jdGlvbnMgbmFtZWQgY2xhbXAgKi8KK25hdGl2
ZSB1aW50IGNsYW1wKHVpbnQsIHVpbnQsIHVpbnQpOworbmF0aXZlIHVpbnQyIGNsYW1wKHVpbnQy
LCB1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQzIGNsYW1wKHVpbnQzLCB1aW50MywgdWludDMp
OworbmF0aXZlIHVpbnQ0IGNsYW1wKHVpbnQ0LCB1aW50NCwgdWludDQpOworbmF0aXZlIGludCBj
bGFtcChpbnQsIGludCwgaW50KTsKK25hdGl2ZSBpbnQyIGNsYW1wKGludDIsIGludDIsIGludDIp
OworbmF0aXZlIGludDMgY2xhbXAoaW50MywgaW50MywgaW50Myk7CituYXRpdmUgaW50NCBjbGFt
cChpbnQ0LCBpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBmbG9hdCBjbGFtcChmbG9hdCwgZmxvYXQsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDIgY2xhbXAoZmxvYXQyLCBmbG9hdDIsIGZsb2F0Mik7CituYXRp
dmUgZmxvYXQzIGNsYW1wKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBj
bGFtcChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDJ4MiBjbGFtcChmbG9h
dDJ4MiwgZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDN4MiBjbGFtcChmbG9hdDN4
MiwgZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDR4MiBjbGFtcChmbG9hdDR4Miwg
ZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDJ4MyBjbGFtcChmbG9hdDJ4MywgZmxv
YXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDN4MyBjbGFtcChmbG9hdDN4MywgZmxvYXQz
eDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDR4MyBjbGFtcChmbG9hdDR4MywgZmxvYXQ0eDMs
IGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDJ4NCBjbGFtcChmbG9hdDJ4NCwgZmxvYXQyeDQsIGZs
b2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4NCBjbGFtcChmbG9hdDN4NCwgZmxvYXQzeDQsIGZsb2F0
M3g0KTsKK25hdGl2ZSBmbG9hdDR4NCBjbGFtcChmbG9hdDR4NCwgZmxvYXQ0eDQsIGZsb2F0NHg0
KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPCAqLworbmF0aXZlIGJvb2wgb3BlcmF0
b3I8KGludCwgaW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPCh1aW50LCB1aW50KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPChmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPCh1
aW50MiwgdWludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPCh1aW50MywgdWludDMpOworbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPCh1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9y
PChpbnQyLCBpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcjwoaW50MywgaW50Myk7CituYXRp
dmUgYm9vbDQgb3BlcmF0b3I8KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPChm
bG9hdDIsIGZsb2F0Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I8KGZsb2F0MywgZmxvYXQzKTsK
K25hdGl2ZSBib29sNCBvcGVyYXRvcjwoZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIg
b3BlcmF0b3I8KGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcjwo
ZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPChmbG9hdDR4Miwg
ZmxvYXQ0eDIpOworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I8KGZsb2F0MngzLCBmbG9hdDJ4Myk7
CituYXRpdmUgYm9vbDN4MyBvcGVyYXRvcjwoZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBi
b29sNHgzIG9wZXJhdG9yPChmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3Bl
cmF0b3I8KGZsb2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgYm9vbDN4NCBvcGVyYXRvcjwoZmxv
YXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPChmbG9hdDR4NCwgZmxv
YXQ0eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgaXNuYW4gKi8KK25hdGl2ZSBib29sIGlzbmFu
KGZsb2F0KTsKKworYm9vbDIgaXNuYW4oZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IHNxcnQoZmxvYXQyeDQgeCkgewotICAg
IGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3FydCh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNx
cnQoeFsxXVszXSk7Citib29sMyBpc25hbihmbG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBpc25hbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc25hbih4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBpc25hbih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQzeDIgc3FydChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworYm9vbDQgaXNuYW4oZmxvYXQ0IHgpIHsK
KyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7CisgICAgcmVz
dWx0WzFdID0gaXNuYW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gaXNuYW4oeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gz
IHNxcnQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
c3FydCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQg
QWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KK25hdGl2ZSB2b2lkIEFsbE1lbW9yeUJh
cnJpZXJXaXRoR3JvdXBTeW5jKCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcl4gKi8K
K2Jvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBiKSB7CisgICAgaWYgKGEpCisgICAgICAgIHJl
dHVybiAhYjsKKyAgICByZXR1cm4gYjsKIH0KLWZsb2F0M3g0IHNxcnQoZmxvYXQzeDQgeCkgewot
ICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc3Fy
dCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IHNxcnQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKK25hdGl2ZSBpbnQgb3Bl
cmF0b3JeKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9yXih1aW50LCB1aW50KTsKKwor
LyogRnVuY3Rpb25zIG5hbWVkIGlzaW5mICovCituYXRpdmUgYm9vbCBpc2luZihmbG9hdCk7Citi
b29sMiBpc2luZihmbG9hdDIgeCkgeworICAgIGJvb2wyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0eDIgc3FydChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IHNxcnQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsK
K2Jvb2wzIGlzaW5mKGZsb2F0MyB4KSB7CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGlzaW5mKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBzcXJ0
KGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
c3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBzcXJ0KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFszXVsyXSk7
Citib29sNCBpc2luZihmbG9hdDQgeCkgeworICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBpc2luZih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBpc2luZih4WzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
c3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHNxcnQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBzcXJ0KHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfCAqLwor
Ym9vbCBvcGVyYXRvcnwoYm9vbCBhLCBib29sIGIpIHsKKyAgICByZXR1cm4gYSB8fCBiOwogfQor
bmF0aXZlIGludCBvcGVyYXRvcnwoaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3J8KHVp
bnQsIHVpbnQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgYWNvcyAqLwotbmF0aXZlIGZsb2F0IGFj
b3MoZmxvYXQpOwotZmxvYXQyIGFjb3MoZmxvYXQyIHgpIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBk
ZWdyZWVzICovCitmbG9hdCBkZWdyZWVzKGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAqIDE4MCAv
IDMuMTQxNTk7Cit9CitmbG9hdDIgZGVncmVlcyhmbG9hdDIgeCkgewogICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhY29zKHhb
MV0pOworICAgIHJlc3VsdFswXSA9IGRlZ3JlZXMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVn
cmVlcyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIGFjb3MoZmxvYXQzIHgp
IHsKK2Zsb2F0MyBkZWdyZWVzKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBhY29zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gYWNvcyh4WzJdKTsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGVncmVlcyh4
WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGFjb3MoZmxvYXQ0IHgpIHsKK2Zs
b2F0NCBkZWdyZWVzKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBhY29zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gYWNvcyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhY29zKHhbM10pOworICAgIHJlc3Vs
dFswXSA9IGRlZ3JlZXMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBkZWdyZWVzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRlZ3JlZXMoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGFjb3MoZmxvYXQyeDIgeCkgewor
ZmxvYXQyeDIgZGVncmVlcyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgYWNvcyhmbG9hdDJ4MyB4KSB7Ci0g
ICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29z
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0p
OworZmxvYXQzeDIgZGVncmVlcyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBhY29zKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhY29z
KHhbMV1bM10pOworZmxvYXQ0eDIgZGVncmVlcyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQz
eDIgYWNvcyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFj
b3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworZmxvYXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZWdyZWVzKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MyBh
Y29zKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIGRlZ3JlZXMoZmxvYXQzeDMgeCkgewogICAgIGZs
b2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgYWNvcyhmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFj
b3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
MiBhY29zKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11bMV0pOworICAgIHJlc3VsdFswXVswXSA9
IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDR4MyBhY29zKGZsb2F0NHgzIHgpIHsKK2Zsb2F0NHgzIGRlZ3JlZXMoZmxvYXQ0
eDMgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGFjb3MoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgYWNvcyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
YWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGFjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGFjb3Mo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBhY29zKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGFjb3MoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5
d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnh5d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5d3co
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXd3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I+ICovCi1uYXRpdmUgYm9v
bCBvcGVyYXRvcj4oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KHVpbnQsIHVpbnQp
OwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I+KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I+KHVpbnQzLCB1aW50
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+KHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgYm9vbDIg
b3BlcmF0b3I+KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPihpbnQzLCBpbnQz
KTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj4oaW50NCwgaW50NCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I+KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj4oZmxvYXQzLCBm
bG9hdDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPihmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUg
Ym9vbDJ4MiBvcGVyYXRvcj4oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9w
ZXJhdG9yPihmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+KGZs
b2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj4oZmxvYXQzeDIsIGZs
b2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPihmbG9hdDN4MywgZmxvYXQzeDMpOwot
bmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I+KGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgYm9v
bDR4MiBvcGVyYXRvcj4oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJh
dG9yPihmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I+KGZsb2F0
NHg0LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvciYgKi8KLWJvb2wg
b3BlcmF0b3ImKGJvb2wgYSwgYm9vbCBiKSB7Ci0gICAgcmV0dXJuIGEgJiYgYjsKLX0KLW5hdGl2
ZSBpbnQgb3BlcmF0b3ImKGludCwgaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yJih1aW50LCB1
aW50KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXogKi8KLWJvb2w0IG9wZXJh
dG9yLnp4eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh5eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl6KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci56eHl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXp5ICovCi1ib29sNCBvcGVyYXRvci56eXp5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp5enkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56eXp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enl6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRlZ3JlZXMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eXp5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQgZGVn
cmVlcyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5enkoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQz
eDQgZGVncmVlcyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl6eShmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBkZWdyZWVzKGZs
b2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVn
cmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAg
IHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGVn
cmVlcyh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXh5dyAqLwotYm9vbDQgb3BlcmF0b3IueXh5dyhib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisvKiBGdW5jdGlvbnMgbmFtZWQgU2FtcGxlICov
CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdCBsb2Nh
dGlvbik7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludD4sIHNhbXBsZXIs
IGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVpbnQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUyRDx1
aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgdWlu
dCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
CituYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludD4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUzRDx1
aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50IFNhbXBsZShUZXh0
dXJlM0Q8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0
aXZlIHVpbnQgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMUQ8dWludDI+LCBzYW1wbGVyLCBmbG9h
dCBsb2NhdGlvbik7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUxREFycmF5PHVpbnQyPiwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJE
PHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUo
VGV4dHVyZTJEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7
CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQyPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50MiBT
YW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2
ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
LCBpbnQzIG9mZnNldCk7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQyPiwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTFE
PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUg
dWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7
CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgU2FtcGxl
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUzRDx1aW50Mz4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUzRDx1aW50Mz4sIHNh
bXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIHVpbnQzIFNhbXBs
ZShUZXh0dXJlQ3ViZTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUg
dWludDQgU2FtcGxlKFRleHR1cmUxRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsK
K25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkQ8dWludDQ+LCBzYW1w
bGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkQ8dWlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50
NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJl
M0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBs
ZShUZXh0dXJlM0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKK25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEPGludD4sIHNhbXBsZXIs
IGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUxREFycmF5PGludD4s
IHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkQ8
aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1
cmUyRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2
ZSBpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUzRDxp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVy
ZTNEPGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZl
IGludCBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMUQ8aW50Mj4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0
aW9uKTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQyPiwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50Mj4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTJEPGlu
dDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQy
IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQyPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTNEPGlu
dDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDIgU2FtcGxlKFRleHR1
cmUzRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRp
dmUgaW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFEPGludDM+LCBzYW1wbGVyLCBmbG9hdCBs
b2NhdGlvbik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEPGludDM+
LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUy
RDxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
aW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7CituYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUz
RDxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQzIFNhbXBsZShU
ZXh0dXJlM0Q8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwor
bmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmVDdWJlPGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUxRDxpbnQ0Piwgc2FtcGxlciwgZmxv
YXQgbG9jYXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGludDQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyRDxp
bnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0
dXJlMkQ8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0
aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24pOworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0
dXJlM0Q8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50NCBTYW1w
bGUoVGV4dHVyZTNEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQ0Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMURBcnJheTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRl
eHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyREFycmF5
PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
ZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlQ3ViZTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBsZShU
ZXh0dXJlMUQ8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0
MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9u
KTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0MiBTYW1w
bGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTNE
PGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBs
ZShUZXh0dXJlM0Q8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNl
dCk7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlQ3ViZTxmbG9hdDI+LCBzYW1wbGVyLCBm
bG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0Mz4s
IHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUx
REFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQz
IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9j
YXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQzIFNhbXBs
ZShUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIg
b2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDM+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0
Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0
MyBTYW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdCBs
b2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJE
PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBs
ZShUZXh0dXJlMkQ8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNl
dCk7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUg
ZmxvYXQ0IFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmVD
dWJlPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2Ft
cGxlKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25h
dGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoQ3ViZTxm
bG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBz
aW5oICovCituYXRpdmUgZmxvYXQgc2luaChmbG9hdCk7CitmbG9hdDIgc2luaChmbG9hdDIgeCkg
eworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBzaW5oKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnl4eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7CitmbG9hdDMgc2luaChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci55eHl3KGZsb2F0NCB2KSB7CitmbG9hdDQgc2luaChmbG9hdDQgeCkgewogICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eHogKi8KLWJvb2w0IG9wZXJh
dG9yLnp3eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNp
bmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2luaCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBz
aW5oKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3h6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Citm
bG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc2luaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56
d3h6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56
OworZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuend4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MiBzaW5oKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBz
aW5oKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53d3h5ICovCi1ib29sNCBvcGVyYXRvci53d3h5KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBzaW5oKGZs
b2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lu
aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNpbmgoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd3
eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Zsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBv
cGVyYXRvci53d3h5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OworZmxvYXQ0eDMgc2luaChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNp
bmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3Iud3d4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4NCBzaW5oKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eCAqLwotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDIgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0M3g0IHNpbmgo
ZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBz
aW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDMgdikgewotICAg
IGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
K2Zsb2F0NHg0IHNpbmgoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5o
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
c2luaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBzaW5oKHhbM11bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1ib29sMiBvcGVyYXRvci55eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OworCisvKiBGdW5jdGlvbnMg
bmFtZWQgZGR5ICovCituYXRpdmUgZmxvYXQgZGR5KGZsb2F0KTsKK2Zsb2F0MiBkZHkoZmxvYXQy
IHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9w
ZXJhdG9yLnl4KHVpbnQyIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDMgZGR5KGZsb2F0MyB4KSB7CisgICAgZmxv
YXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
ZGR5KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDIgb3BlcmF0b3IueXgodWludDMgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0NCBkZHkoZmxvYXQ0
IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5KHhbMl0pOworICAg
IHJlc3VsdFszXSA9IGRkeSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3Bl
cmF0b3IueXgodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MngyIGRkeShmbG9hdDJ4MiB4KSB7CisgICAg
ZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MiBvcGVyYXRvci55eChpbnQyIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0M3gyIGRkeShmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnl4KGludDMgdikgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OworZmxvYXQ0eDIgZGR5KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZGR5KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MiBvcGVyYXRvci55eChpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0MngzIGRkeShmbG9hdDJ4
MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueXgoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OworZmxvYXQzeDMgZGR5KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRk
eSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBkZHkoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVy
YXRvci55eChmbG9hdDMgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgeworICAg
IGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQy
IG9wZXJhdG9yLnl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7
CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHko
eFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGRkeShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR5KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4NCBkZHkoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHkoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bM10gPSBkZHkoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIHRhbmggKi8KLW5hdGl2ZSBmbG9hdCB0YW5oKGZsb2F0KTsKLWZsb2F0MiB0
YW5oKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0YW5o
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CisvKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3I+PSAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShpbnQsIGludCk7CituYXRpdmUg
Ym9vbCBvcGVyYXRvcj49KHVpbnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShmbG9h
dCwgZmxvYXQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0odWludDIsIHVpbnQyKTsKK25hdGl2
ZSBib29sMyBvcGVyYXRvcj49KHVpbnQzLCB1aW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I+
PSh1aW50NCwgdWludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0oaW50MiwgaW50Mik7Citu
YXRpdmUgYm9vbDMgb3BlcmF0b3I+PShpbnQzLCBpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRv
cj49KGludDQsIGludDQpOworbmF0aXZlIGJvb2wyIG9wZXJhdG9yPj0oZmxvYXQyLCBmbG9hdDIp
OworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0oZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPj0oZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I+PShm
bG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3I+PShmbG9hdDN4Miwg
ZmxvYXQzeDIpOworbmF0aXZlIGJvb2w0eDIgb3BlcmF0b3I+PShmbG9hdDR4MiwgZmxvYXQ0eDIp
OworbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I+PShmbG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZl
IGJvb2wzeDMgb3BlcmF0b3I+PShmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGJvb2w0eDMg
b3BlcmF0b3I+PShmbG9hdDR4MywgZmxvYXQ0eDMpOworbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3I+
PShmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I+PShmbG9hdDN4
NCwgZmxvYXQzeDQpOworbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I+PShmbG9hdDR4NCwgZmxvYXQ0
eDQpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgZHN0ICovCit1aW50NCBkc3QodWludDQgc3JjMCwg
dWludDQgc3JjMSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IDE7CisgICAg
cmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7CisgICAgcmVzdWx0LnogPSBzcmMwLno7CisgICAg
cmVzdWx0LncgPSBzcmMxLnc7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyB0YW5oKGZs
b2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gdGFuaCh4WzJd
KTsKK2ludDQgZHN0KGludDQgc3JjMCwgaW50NCBzcmMxKSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0LnggPSAxOworICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJl
c3VsdC56ID0gc3JjMC56OworICAgIHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgdGFuaChmbG9hdDQgeCkgeworZmxvYXQ0IGRzdChmbG9hdDQgc3JjMCwg
ZmxvYXQ0IHNyYzEpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbmgo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0YW5o
KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHRhbmgoeFszXSk7CisgICAgcmVzdWx0LnggPSAxOwor
ICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJlc3VsdC56ID0gc3JjMC56Owor
ICAgIHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiB0
YW5oKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAg
IHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4
WzFdWzFdKTsKKworCisvKiBGdW5jdGlvbnMgbmFtZWQgZG90ICovCit1aW50IGRvdCh1aW50IGEs
IHVpbnQgYikgeworICAgIHJldHVybiBhICogYjsKK30KK3VpbnQgZG90KHVpbnQyIGEsIHVpbnQy
IGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAq
IGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0MngzIHRhbmgoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKK3VpbnQgZG90KHVpbnQz
IGEsIHVpbnQzIGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0Mng0IHRhbmgoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7Cit1aW50IGRvdCh1aW50
NCBhLCB1aW50NCBiKSB7CisgICAgdWludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
M10gKiBiWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiB0YW5oKGZsb2F0M3gy
IHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgo
eFsyXVsxXSk7CitpbnQgZG90KGludCBhLCBpbnQgYikgeworICAgIHJldHVybiBhICogYjsKK30K
K2ludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKKyAgICBpbnQgcmVzdWx0ID0gMDsKKyAgICByZXN1
bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICog
YlsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgdGFuaChmbG9hdDN4MyB4KSB7
Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0
YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOworaW50
IGRvdChpbnQzIGEsIGludDMgYikgeworICAgIGludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFd
OworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDN4NCB0YW5oKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW5o
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
dGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IHRhbmgoeFsyXVszXSk7CitpbnQgZG90KGludDQgYSwgaW50NCBiKSB7CisgICAgaW50IHJl
c3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJb
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJbM107CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NHgyIHRhbmgoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRh
bmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSB0YW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CitmbG9h
dCBkb3QoZmxvYXQgYSwgZmxvYXQgYikgeworICAgIHJldHVybiBhICogYjsKK30KK2Zsb2F0IGRv
dChmbG9hdDIgYSwgZmxvYXQyIGIpIHsKKyAgICBmbG9hdCByZXN1bHQgPSAwOworICAgIHJlc3Vs
dCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBi
WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyB0YW5oKGZsb2F0NHgzIHgpIHsK
LSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW5oKHhb
M11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CitmbG9hdCBkb3QoZmxv
YXQzIGEsIGZsb2F0MyBiKSB7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHRhbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRh
bmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10g
PSB0YW5oKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhb
M11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHRhbmgoeFszXVszXSk7CitmbG9hdCBkb3QoZmxv
YXQ0IGEsIGZsb2F0NCBiKSB7CisgICAgZmxvYXQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzNdICogYlszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueXh6PSAqLwotYm9vbDMgb3BlcmF0b3IueXh6PShib29sMyB2LCBib29sMyBj
KSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc2Zs
b2F0ICovCituYXRpdmUgZmxvYXQgYXNmbG9hdChpbnQpOworZmxvYXQyIGFzZmxvYXQoaW50MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2w0IG9wZXJhdG9yLnl4ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7CitmbG9hdDMgYXNmbG9hdChpbnQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50MyBvcGVyYXRvci55eHo9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OworZmxvYXQ0IGFzZmxvYXQoaW50NCB4KSB7CisgICAgZmxvYXQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFz
ZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKKyAgICByZXN1bHRb
M10gPSBhc2Zsb2F0KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55eHo9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owor
bmF0aXZlIGZsb2F0IGFzZmxvYXQodWludCk7CitmbG9hdDIgYXNmbG9hdCh1aW50MiB4KSB7Cisg
ICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3Bl
cmF0b3IueXh6PShpbnQzIHYsIGludDMgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
K2Zsb2F0MyBhc2Zsb2F0KHVpbnQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnl4ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7CitmbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2Zsb2F0
KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXh6PShmbG9h
dDMgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0OworZmxvYXQgYXNmbG9hdChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1m
bG9hdDQgb3BlcmF0b3IueXh6PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyIGFzZmxvYXQoZmxvYXQy
IHgpIHsKKyAgICByZXR1cm4geDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4
enk9ICovCi1ib29sNCBvcGVyYXRvci53eHp5PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OworZmxvYXQzIGFzZmxvYXQoZmxvYXQzIHgpIHsKKyAgICByZXR1cm4geDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnd4enk9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56
ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdDQg
YXNmbG9hdChmbG9hdDQgeCkgeworICAgIHJldHVybiB4OwogfQotaW50NCBvcGVyYXRvci53eHp5
PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1
bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQyeDIgYXNmbG9hdChmbG9hdDJ4
MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3h6eT0oZmxvYXQ0IHYs
IGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0Lnkg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0M3gyIGFzZmxvYXQoZmxvYXQzeDIgeCkg
eworICAgIHJldHVybiB4OworfQorZmxvYXQ0eDIgYXNmbG9hdChmbG9hdDR4MiB4KSB7CisgICAg
cmV0dXJuIHg7Cit9CitmbG9hdDJ4MyBhc2Zsb2F0KGZsb2F0MngzIHgpIHsKKyAgICByZXR1cm4g
eDsKK30KK2Zsb2F0M3gzIGFzZmxvYXQoZmxvYXQzeDMgeCkgeworICAgIHJldHVybiB4OworfQor
ZmxvYXQ0eDMgYXNmbG9hdChmbG9hdDR4MyB4KSB7CisgICAgcmV0dXJuIHg7Cit9CitmbG9hdDJ4
NCBhc2Zsb2F0KGZsb2F0Mng0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0M3g0IGFzZmxv
YXQoZmxvYXQzeDQgeCkgeworICAgIHJldHVybiB4OworfQorZmxvYXQ0eDQgYXNmbG9hdChmbG9h
dDR4NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ciogKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3IqKGludCwgaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJh
dG9yKih1aW50LCB1aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvciooZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MiBvcGVy
YXRvcioodWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50LCB1aW50Mik7
Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgdWludDMgb3Bl
cmF0b3IqKHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvcioodWludCwgdWludDMp
OwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludDQpOwotbmF0aXZlIHVpbnQ0IG9w
ZXJhdG9yKih1aW50NCwgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IqKHVpbnQsIHVpbnQ0
KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQyIG9wZXJh
dG9yKihpbnQyLCBpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IqKGludCwgaW50Mik7Ci1uYXRp
dmUgaW50MyBvcGVyYXRvciooaW50MywgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvciooaW50
MywgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQsIGludDMpOwotbmF0aXZlIGludDQg
b3BlcmF0b3IqKGludDQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IqKGludDQsIGludCk7
Ci1uYXRpdmUgaW50NCBvcGVyYXRvciooaW50LCBpbnQ0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0
b3IqKGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZsb2F0MiwgZmxv
YXQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxv
YXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yKihm
bG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDMpOwot
bmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0NCBv
cGVyYXRvciooZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKihmbG9hdCwg
ZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0MngyKTsK
LW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9h
dDJ4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRv
ciooZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQy
eDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngzKTsK
LW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVy
YXRvciooZmxvYXQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQz
eDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQzeDIsIGZsb2F0
KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3gyKTsKLW5hdGl2ZSBm
bG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4MyBv
cGVyYXRvciooZmxvYXQzeDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxv
YXQsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0
M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0KTsKLW5hdGl2
ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBv
cGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvcioo
ZmxvYXQ0eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0
NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5h
dGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4
MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcioo
ZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQ0eDQs
IGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHg0KTsKKy8q
IEZ1bmN0aW9ucyBuYW1lZCBpc25vcm1hbCAqLworbmF0aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQp
OwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgY29zICovCi1uYXRpdmUgZmxvYXQgY29zKGZsb2F0KTsK
LWZsb2F0MiBjb3MoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBjb3MoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gY29zKHhbMl0pOworYm9vbDIgaXNub3JtYWwoZmxvYXQyIHgpIHsKKyAgICBi
b29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gaXNub3JtYWwoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBjb3Mo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGNvcyh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zKHhbMl0p
OwotICAgIHJlc3VsdFszXSA9IGNvcyh4WzNdKTsKK2Jvb2wzIGlzbm9ybWFsKGZsb2F0MyB4KSB7
CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGlzbm9ybWFsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhb
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBjb3MoZmxvYXQyeDIgeCkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBj
b3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4NCBjb3MoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBjb3MoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4MiBjb3MoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDMgY29zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3Mo
eFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGNvcyhmbG9hdDN4NCB4
KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
Y29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBj
b3MoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IGNvcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGNvcyh4WzNd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zKGZsb2F0NHg0IHgpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3Mo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29zKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBjb3MoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10pOworYm9v
bDQgaXNub3JtYWwoZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gaXNub3JtYWwoeFsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp6encgKi8KLWJvb2w0IG9wZXJhdG9yLnp6encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenp6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl3eSAqLwotYm9v
bDQgb3BlcmF0b3IueXl3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55
eXd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl3eShpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
CisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRFeGNoYW5nZSAqLworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCos
IGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZp
Y2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0
aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmlj
ZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdl
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2
aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54end5PSAqLwotYm9vbDQgb3Bl
cmF0b3IueHp3eT0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBj
Lno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh6d3k9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0g
Yy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnh6d3k9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHp3eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lncg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1
bmN0aW9ucyBuYW1lZCBHZXREaW1lbnNpb25zICovCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3p6ICovCi1ib29sNCBvcGVyYXRv
ci55d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3enoodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3p6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXd6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenc9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29s
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56dz0odWludDQgdiwgdWludDIg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LncgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenc9KGlu
dDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3Iuenc9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enh6ICovCi1ib29sNCBvcGVyYXRv
ci54enh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eHooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHp4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp4eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I9PSAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShi
b29sLCBib29sKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0oaW50LCBpbnQpOwotbmF0aXZlIGJv
b2wgb3BlcmF0b3I9PSh1aW50LCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0oZmxvYXQs
IGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGJvb2wyLCBib29sMik7Ci1uYXRpdmUg
Ym9vbDMgb3BlcmF0b3I9PShib29sMywgYm9vbDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0o
Ym9vbDQsIGJvb2w0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KHVpbnQyLCB1aW50Mik7Ci1u
YXRpdmUgYm9vbDMgb3BlcmF0b3I9PSh1aW50MywgdWludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJh
dG9yPT0odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGludDIsIGludDIp
OwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPT0oaW50MywgaW50Myk7Ci1uYXRpdmUgYm9vbDQgb3Bl
cmF0b3I9PShpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj09KGZsb2F0MiwgZmxv
YXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj09KGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBi
b29sNCBvcGVyYXRvcj09KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9y
PT0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9wZXJhdG9yPT0oZmxvYXQy
eDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBib29sMng0IG9wZXJhdG9yPT0oZmxvYXQyeDQsIGZsb2F0
Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5h
dGl2ZSBib29sM3gzIG9wZXJhdG9yPT0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBib29s
M3g0IG9wZXJhdG9yPT0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJh
dG9yPT0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJhdG9yPT0oZmxv
YXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29sNHg0IG9wZXJhdG9yPT0oZmxvYXQ0eDQsIGZs
b2F0NHg0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPT0oYm9vbDJ4MiwgYm9vbDJ4Mik7Ci1u
YXRpdmUgYm9vbDJ4MyBvcGVyYXRvcj09KGJvb2wyeDMsIGJvb2wyeDMpOwotbmF0aXZlIGJvb2wy
eDQgb3BlcmF0b3I9PShib29sMng0LCBib29sMng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9y
PT0oYm9vbDN4MiwgYm9vbDN4Mik7Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj09KGJvb2wzeDMs
IGJvb2wzeDMpOwotbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I9PShib29sM3g0LCBib29sM3g0KTsK
LW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPT0oYm9vbDR4MiwgYm9vbDR4Mik7Ci1uYXRpdmUgYm9v
bDR4MyBvcGVyYXRvcj09KGJvb2w0eDMsIGJvb2w0eDMpOwotbmF0aXZlIGJvb2w0eDQgb3BlcmF0
b3I9PShib29sNHg0LCBib29sNHg0KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj4gKi8KLW5hdGl2ZSBpbnQgb3BlcmF0
b3I+PihpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3I+Pih1aW50LCB1aW50KTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVu
Y3Rpb25zIG5hbWVkIHJlZmxlY3QgKi8KLWZsb2F0IHJlZmxlY3QoZmxvYXQgaSwgZmxvYXQgbikg
ewotICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19Ci1mbG9hdDIgcmVmbGVjdChm
bG9hdDIgaSwgZmxvYXQyIG4pIHsKLSAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4pOwot
fQotZmxvYXQzIHJlZmxlY3QoZmxvYXQzIGksIGZsb2F0MyBuKSB7Ci0gICAgcmV0dXJuIGkgLSAy
ICogbiAqIGRvdChpLCBuKTsKLX0KLWZsb2F0NCByZWZsZWN0KGZsb2F0NCBpLCBmbG9hdDQgbikg
ewotICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19CiAKIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd3eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd3eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd3eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53
d3h3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueHp5eiAqLwotYm9vbDQgb3BlcmF0b3IueHp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1i
b29sNCBvcGVyYXRvci54enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh6eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXooaW50MyB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHp5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh6eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eihmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGxpdCAqLwotZmxvYXQ0
IGxpdChmbG9hdCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7Ci0gICAgZmxvYXQg
YW1iaWVudCA9IDE7Ci0gICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKLSAgICBm
bG9hdCBzcGVjdWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90X2gg
KiBtOwotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSBhbWJpZW50OwotICAgIHJl
c3VsdC55ID0gZGlmZnVzZTsKLSAgICByZXN1bHQueiA9IHNwZWN1bGFyOwotICAgIHJlc3VsdC53
ID0gMTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1
aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHd4ICovCi1ib29s
NCBvcGVyYXRvci55eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4
d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd4KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGxvZzIgKi8KLWZsb2F0IGxvZzIoZmxvYXQgeCkg
ewotICAgIHJldHVybiBsb2coeCkgLyBsb2coZmxvYXQoMikpOwotfQotZmxvYXQyIGxvZzIoZmxv
YXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZzIoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIGxvZzIoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGxvZzIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBsb2cyKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbG9nMihmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nMih4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gbG9nMih4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgbG9nMihmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzIoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGxvZzIoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
Mih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMihmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
bG9nMihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBs
b2cyKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMih4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxv
ZzIoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGxvZzIoZmxvYXQz
eDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9n
Mih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGxvZzIoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxvZzIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbG9nMihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
bG9nMih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbG9nMihmbG9hdDR4MyB4KSB7
Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4NCBsb2cyKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsb2cyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gbG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9n
Mih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGxvZzIoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cyKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGxvZzIoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbG9nMih4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgbm9ybWFsaXplICovCi1mbG9hdCBub3JtYWxpemUoZmxvYXQgeCkgewotICAgIHJldHVy
biB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQyIG5vcm1hbGl6ZShmbG9hdDIgeCkgewotICAgIHJl
dHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQzIG5vcm1hbGl6ZShmbG9hdDMgeCkgewotICAg
IHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQotZmxvYXQ0IG5vcm1hbGl6ZShmbG9hdDQgeCkgewot
ICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBsZGV4cCAqLwotZmxvYXQgbGRleHAoZmxvYXQgeCwgZmxv
YXQgZSkgewotICAgIHJldHVybiB4ICogcG93KDIsIGUpOwotfQotZmxvYXQyIGxkZXhwKGZsb2F0
MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbGRl
eHAoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBsZGV4cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGxkZXhwKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhb
Ml0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbGRleHAoZmxvYXQ0IHgs
IGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsZGV4cCh4
WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBsZGV4cCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBsZGV4cCh4WzNdLCB5
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbGRleHAoZmxvYXQyeDIgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBs
ZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDMgbGRleHAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAg
IGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFd
WzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbGRleHAoZmxvYXQyeDQgeCwgZmxv
YXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4
cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFd
WzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbGRleHAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkg
ewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4
cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbGRleHAoZmxvYXQzeDMg
eCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBs
ZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBd
LCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgbGRleHAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAg
IGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBs
ZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDIgbGRleHAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAg
IGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFd
KTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDMgbGRleHAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJd
WzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDQgbGRleHAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4
WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1
bHRbMl1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBs
ZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFd
LCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsK
LSAgICByZXN1bHRbM11bM10gPSBsZGV4cCh4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHp3eiAqLwotYm9vbDQgb3BlcmF0b3IueHp3eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54end6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHp3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3ooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl4ICov
Ci1ib29sNCBvcGVyYXRvci53eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd4eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHl4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHcgKi8KLWJvb2w0IG9wZXJh
dG9yLnl3eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd4dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eHcoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci55d3h3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl5eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl5eihib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXl6KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenl5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXoo
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl5eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iuenl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIGFicyAqLwotdWludCBhYnModWludCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1pbnQg
YWJzKGludCB4KSB7Ci0gICAgaWYgKHggPCAwKQotICAgICAgICByZXR1cm4gLXg7Ci0gICAgcmV0
dXJuIHg7Ci19Ci1mbG9hdCBhYnMoZmxvYXQgeCkgewotICAgIGlmICh4IDwgMCkKLSAgICAgICAg
cmV0dXJuIC14OwotICAgIHJldHVybiB4OwotfQotdWludDIgYWJzKHVpbnQyIHgpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGFicyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgYWJzKHVpbnQzIHgpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IGFicyh1aW50NCB4KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MiBhYnMoaW50MiB4KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBhYnMoaW50MyB4KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
YWJzKGludDQgeCkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0p
OwotICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyIGFicyhmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzIGFicyhmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYWJzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBhYnMoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBhYnMoZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgYWJzKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBhYnMoZmxvYXQyeDMgeCkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFi
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGFicyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYWJzKGZsb2F0M3gyIHgpIHsKLSAg
ICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQz
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBhYnMoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBh
YnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGFi
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKLSAgICBm
bG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKLSAg
ICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYWJzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IGFicyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWJzKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhYnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOwotICAg
IHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhYnMoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVsz
XSA9IGFicyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53
d3l5ICovCi1ib29sNCBvcGVyYXRvci53d3l5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnd3eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3l5
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eShmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIHJvdW5kICovCi1uYXRpdmUg
ZmxvYXQgcm91bmQoZmxvYXQpOwotZmxvYXQyIHJvdW5kKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBy
b3VuZCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHJvdW5kKGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHJvdW5kKGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByb3VuZCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSByb3VuZCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByb3VuZCh4WzJdKTsKLSAgICByZXN1bHRb
M10gPSByb3VuZCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcm91bmQo
ZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
b3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4
WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgcm91bmQoZmxvYXQyeDMg
eCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
b3VuZCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcm91bmQoZmxv
YXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3Vu
ZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgcm91bmQoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDMgcm91bmQoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3Vu
ZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDQgcm91bmQoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3Vu
ZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByb3VuZCh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgcm91bmQoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByb3Vu
ZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcm91bmQoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3Vu
ZCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBy
b3VuZCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcm91bmQoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0
NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByb3VuZCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSByb3VuZCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByb3VuZCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByb3VuZCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSByb3VuZCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByb3VuZCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByb3VuZCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBy
b3VuZCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByb3VuZCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByb3VuZCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByb3VuZCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByb3VuZCh4WzJdWzNdKTsKLSAgICByZXN1bHRb
M11bMF0gPSByb3VuZCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByb3VuZCh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSByb3VuZCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10g
PSByb3VuZCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgbXVsICovCi11aW50IG11bCh1aW50IHgsIHVp
bnQgeSkgewotICAgIHJldHVybiB4ICogeTsKLX0KLWludCBtdWwoaW50IHgsIGludCB5KSB7Ci0g
ICAgcmV0dXJuIHggKiB5OwotfQotZmxvYXQgbXVsKGZsb2F0IHgsIGZsb2F0IHkpIHsKLSAgICBy
ZXR1cm4geCAqIHk7Ci19Ci11aW50MiBtdWwodWludCB4LCB1aW50MiB5KSB7Ci0gICAgdWludDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5
WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7
Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3Vs
dFsxXSA9IHhbMV0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBtdWwodWludCB4
LCB1aW50MyB5KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9
IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBtdWwodWludCB4LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJl
c3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBtdWwodWludDQgeCwgdWludCB5KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5
OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG11bChpbnQgeCwgaW50MiB5KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAq
IHlbMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgbXVsKGludDIgeCwgaW50IHkpIHsK
LSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRb
MV0gPSB4WzFdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBtdWwoaW50IHgsIGlu
dDMgeSkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAg
IHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQzIG11bChpbnQzIHgsIGludCB5KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0geFswXSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7
Ci0gICAgcmVzdWx0WzJdID0geFsyXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
bXVsKGludCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4
ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXN1bHRbMl0gPSB4ICog
eVsyXTsKLSAgICByZXN1bHRbM10gPSB4ICogeVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBtdWwoaW50NCB4LCBpbnQgeSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9
IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDIgbXVsKGZsb2F0IHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQgeSkgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geFswXSAqIHk7Ci0gICAgcmVzdWx0WzFd
ID0geFsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQgeCwg
ZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0MyB4LCBmbG9hdCB5KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRb
MV0gPSB4WzFdICogeTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG11bChmbG9hdCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAqIHlbMV07
Ci0gICAgcmVzdWx0WzJdID0geCAqIHlbMl07Ci0gICAgcmVzdWx0WzNdID0geCAqIHlbM107Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0IHgsIGZsb2F0IHkpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJlc3VsdFsx
XSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJlc3VsdFszXSA9
IHhbM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsK
LSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVsw
XSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4
WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRb
MV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAg
ICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDQgbXVsKGZsb2F0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNd
ID0geCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhb
MF1bMV0gKiB5OwotICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFsw
XVszXSA9IHhbMF1bM10gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAg
IHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0g
KiB5OwotICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0g
PSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3gzIG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9
IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5
WzJdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwg
ZmxvYXQgeSkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBd
WzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICog
eTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4
WzJdWzFdICogeTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9h
dDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJd
ID0geCAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzJdWzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0geCAq
IHlbMl1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4NCB4
LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsw
XVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9
IHhbMV1bM10gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5Owot
ICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDR4MiBtdWwoZmxvYXQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1b
MV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVsw
XTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDR4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVsw
XSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgzIG11bChmbG9hdCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQ0eDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IHgg
KiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsy
XVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAg
IHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNd
WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxv
YXQgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
ICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0g
PSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
LSAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJd
WzFdICogeTsKLSAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbM11b
MF0gPSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKLSAgICBy
ZXN1bHRbM11bMl0gPSB4WzNdWzJdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
eDQgbXVsKGZsb2F0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0geCAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJd
ID0geCAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107Ci0gICAgcmVz
dWx0WzNdWzBdID0geCAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07
Ci0gICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0geCAq
IHlbM11bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdDR4NCB4
LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsw
XVsyXSA9IHhbMF1bMl0gKiB5OwotICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OwotICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OwotICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OwotICAgIHJlc3VsdFsxXVszXSA9
IHhbMV1bM10gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3Vs
dFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5Owot
ICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OwotICAgIHJlc3VsdFszXVswXSA9IHhbM11b
MF0gKiB5OwotICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OwotICAgIHJlc3VsdFszXVsy
XSA9IHhbM11bMl0gKiB5OwotICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50IG11bCh1aW50MiB4LCB1aW50MiB5KSB7Ci0gICAgcmV0dXJu
IGRvdCh4LCB5KTsKLX0KLXVpbnQgbXVsKHVpbnQzIHgsIHVpbnQzIHkpIHsKLSAgICByZXR1cm4g
ZG90KHgsIHkpOwotfQotdWludCBtdWwodWludDQgeCwgdWludDQgeSkgewotICAgIHJldHVybiBk
b3QoeCwgeSk7Ci19Ci1pbnQgbXVsKGludDIgeCwgaW50MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4
LCB5KTsKLX0KLWludCBtdWwoaW50MyB4LCBpbnQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkp
OwotfQotaW50IG11bChpbnQ0IHgsIGludDQgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19
Ci1mbG9hdCBtdWwoZmxvYXQyIHgsIGZsb2F0MiB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsK
LX0KLWZsb2F0IG11bChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkp
OwotfQotZmxvYXQgbXVsKGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIHJldHVybiBkb3QoeCwg
eSk7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MiB5KSB7Ci0gICAgZmxvYXQyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsK
LSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0g
KiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MngyIHgs
IGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAg
IHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAq
IHlbMV07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyIG11bChmbG9hdDJ4MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07
Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBd
WzJdICogeVsyXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFd
ICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVsKGZs
b2F0MiB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XSArPSB4WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSAr
PSB4WzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0MyB4LCBmbG9hdDN4MiB5KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9
IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhb
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBt
dWwoZmxvYXQzeDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAg
cmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
bXVsKGZsb2F0MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwot
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlb
Ml1bMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4
WzJdICogeVsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9hdDN4
MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsK
LSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1b
MV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKLSAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0g
Kz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAg
IHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJl
c3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlb
Ml07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0
IHkpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAg
ICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl0g
PSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0g
eFsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFszXSArPSB4WzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
ICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10g
KiB5WzNdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5
WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsxXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJl
c3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3Vs
dFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDIgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG11bChmbG9hdDR4MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0
WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFd
ICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICBy
ZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1
bHRbM10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFd
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MyB5
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKLSAgICBy
ZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1
bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG11bChmbG9hdDR4MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0g
ICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzJd
ICogeVsyXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICog
eVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdICs9
IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhb
Ml1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRb
M10gKz0geFszXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOwot
ICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG11bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsy
XVswXTsKLSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdID0g
MDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhb
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMV0gKz0geFszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRb
Ml0gKz0geFswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAq
IHlbM11bMl07Ci0gICAgcmVzdWx0WzNdID0gMDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlb
MF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXSAr
PSB4WzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1
bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOwotICAgIHJlc3VsdFsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSAr
PSB4WzJdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07Ci0gICAg
cmVzdWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOwotICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVz
dWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzFdICogeVsx
XTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzNdICs9IHhb
M11bM10gKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MyB5
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMV0gKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtdWwoZmxv
YXQyeDIgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAw
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1
bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQy
eDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFd
WzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZs
b2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbXVsKGZs
b2F0MngzIHgsIGZsb2F0M3g0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1b
M10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5
WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1
bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVz
dWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRb
MV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNd
ICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbXVsKGZsb2F0Mng0
IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFd
WzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5
KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1b
M10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5
WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwg
ZmxvYXQyeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAw
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1b
MF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MngzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4
MiB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFd
WzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBt
dWwoZmxvYXQzeDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAg
cmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkp
IHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBd
WzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4MyB4LCBmbG9hdDN4
NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVsw
XTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1b
Ml07Ci0gICAgcmVzdWx0WzFdWzNdID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAq
IHlbMF1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwot
ICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsK
LSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsy
XVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBd
ICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAg
cmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MiBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBd
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV1b
MV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAg
ICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbXVs
KGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFsw
XVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRb
MF1bMl0gKz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsK
LSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFd
ID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAg
cmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlb
M11bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsy
XTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJl
c3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNd
WzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVsz
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3Vs
dFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsy
XSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAg
IHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1b
MF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5
WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1b
MF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAg
ICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJd
WzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1b
M107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZs
b2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSAr
PSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJl
c3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0g
Kz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5
WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1
bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0g
MDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJd
WzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1b
M107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMl0g
PSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
M11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdWzNdID0gMDsKLSAgICBy
ZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxv
YXQ0eDMgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNd
WzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7Ci0g
ICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAg
cmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAg
IHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBd
OwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbM11b
MF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1
bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11b
MV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAg
ICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsy
XTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
NCBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBd
WzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0g
ICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwot
ICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAg
IHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFd
OwotICAgIHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAg
ICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsz
XTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bM10gPSAwOwot
ICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10g
Kz0geFszXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJd
WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtdWwoZmxvYXQ0eDQgeCwgZmxv
YXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsK
LSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsw
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0
WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNd
ICogeVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsx
XSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9
IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVsw
XTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICog
eVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzNdWzFdICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzNdICogeVszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbXVsKGZsb2F0
NHg0IHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsw
XVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAq
IHlbM11bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwot
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsK
LSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0
WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4
WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVszXSAqIHlbM11bMl07
Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3Vs
dFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsz
XSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0g
eFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1
bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVszXSAqIHlbM11bMl07Ci0gICAgcmVzdWx0WzNdWzBdID0g
MDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNd
WzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICog
eVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVz
dWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSAr
PSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11b
MV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJl
c3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFsz
XVszXSAqIHlbM11bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9h
dDR4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bM10gKiB5WzNdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
MF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bM10g
KiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFd
ICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlb
Ml1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1
bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
M10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwotICAgIHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0g
KiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bM10gKiB5WzNdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBd
ICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAg
cmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsy
XSA9IDA7Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsy
XSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOwotICAg
IHJlc3VsdFszXVszXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbM11b
M10gKz0geFszXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5
WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh6eXc9ICovCi1ib29sNCBvcGVyYXRvci54enl3PShib29sNCB2LCBib29sNCBjKSB7
Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
eiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5dz0odWludDQgdiwgdWludDQgYykg
ewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0
LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5dz0oaW50NCB2LCBpbnQ0IGMpIHsK
LSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0Lnog
PSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enl3PShmbG9hdDQgdiwgZmxvYXQ0IGMp
IHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1
bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4dyAq
LwotYm9vbDQgb3BlcmF0b3Iud3l4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci53eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4dyhpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eHcoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh6ICovCi1ib29sNCBvcGVy
YXRvci56eHh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4eHooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh4eih1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iuenh4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4eihmbG9hdDMgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4eCAqLwotYm9vbDQgb3BlcmF0b3IueXl4
eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXh4KGJvb2wzIHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl5eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueXl4eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci55eXh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eHgodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh4KGludDIgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnl5eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXl4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHgoZmxvYXQyIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eChmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d3ICovCi1ib29sMyBvcGVyYXRvci53d3coYm9v
bDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDMgb3BlcmF0b3Iud3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3d3KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcmFkaWFucyAqLwotZmxvYXQgcmFkaWFucyhm
bG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggKiAzLjE0MTU5IC8gMTgwOwotfQotZmxvYXQyIHJhZGlh
bnMoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJhZGlh
bnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIHJhZGlhbnMoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmFkaWFucyh4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSByYWRpYW5zKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgcmFkaWFucyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcmFkaWFu
cyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgcmFkaWFucyhmbG9hdDJ4
MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHJhZGlhbnMoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5z
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5z
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDQgcmFkaWFucyhmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFu
cyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmFkaWFu
cyh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgcmFkaWFucyhmbG9h
dDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlh
bnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlh
bnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MyByYWRpYW5zKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRp
YW5zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRp
YW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRp
YW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgewotICAgIGZs
b2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFk
aWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFk
aWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgcmFkaWFucyhm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJh
ZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJh
ZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJh
ZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcmFkaWFucyhmbG9hdDR4MyB4KSB7Ci0gICAg
ZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBy
YWRpYW5zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
YWRpYW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBy
YWRpYW5zKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBy
YWRpYW5zKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCByYWRpYW5z
KGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
cmFkaWFucyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
cmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
cmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
cmFkaWFucyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
cmFkaWFucyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuend5PSAqLwotYm9vbDQgb3BlcmF0b3Iuend5PShib29sNCB2LCBib29s
MyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3Iuend5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICBy
ZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3k9
KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0g
Yy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsK
LSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgY2VpbCAqLwotbmF0aXZlIGZsb2F0IGNlaWwoZmxvYXQpOwotZmxv
YXQyIGNlaWwoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGNlaWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIGNlaWwoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGNlaWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
Y2VpbChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gY2Vp
bCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNl
aWwoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gY2VpbCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDIgY2VpbChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2Vp
bCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mngz
IGNlaWwoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWls
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQg
Y2VpbChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgY2VpbChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MyBjZWlsKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0
IGNlaWwoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjZWls
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
Y2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY2VpbCh4WzJd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgY2VpbChmbG9hdDR4MiB4KSB7
Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBj
ZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1b
MV0pOwotICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gY2VpbCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgY2VpbChm
bG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhb
Ml1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gY2VpbCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBjZWlsKGZsb2F0NHg0IHgpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWls
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGNlaWwoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
Y2VpbCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gY2VpbCh4WzNd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iuenl3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp5d3g9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAg
ICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXd4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0g
ICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXd4PShpbnQ0IHYsIGludDQgYykgewotICAg
IGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5d3g9KGZsb2F0NCB2LCBmbG9hdDQgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55ej0gKi8KLWJv
b2wzIG9wZXJhdG9yLnl6PShib29sMyB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXo9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55ej0odWludDMgdiwgdWlu
dDIgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6
PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci55ej0oaW50MyB2LCBpbnQyIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXo9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXo9KGZsb2F0MyB2LCBmbG9hdDIgYykg
ewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXo9KGZs
b2F0NCB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55
ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBhc2luICovCi1uYXRpdmUgZmxvYXQgYXNpbihmbG9hdCk7Ci1mbG9h
dDIgYXNpbihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
YXNpbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgYXNpbihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gYXNpbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGFzaW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBh
c2luKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2lu
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNp
bih4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhc2luKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDJ4MiBhc2luKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2lu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMg
YXNpbihmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBh
c2luKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MiBhc2luKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3gzIGFzaW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhc2lu
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQg
YXNpbihmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFzaW4o
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
c2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBhc2luKGZsb2F0NHgyIHgpIHsK
LSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFz
aW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSBhc2luKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBhc2luKGZs
b2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11b
MV0gPSBhc2luKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkgewotICAgIGZs
b2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFzaW4o
eFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBh
c2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFzaW4oeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBhc2luKHhbM11b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci54d3p3ICovCi1ib29sNCBvcGVyYXRvci54d3p3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnh3encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54
d3p3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6dyhmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3encgKi8KLWJv
b2w0IG9wZXJhdG9yLnl3encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXd6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3encoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp5eiAqLwotYm9vbDQgb3BlcmF0b3Iu
enp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enl6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXoodWludDMgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3Iuenp5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnp6eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eihpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXooZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6enkoYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp6eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp6enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp6enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBhc3VpbnQgKi8KLXVpbnQgYXN1aW50KGludCB4KSB7Ci0gICAgcmV0dXJuIHVpbnQo
eCk7Ci19Ci11aW50MiBhc3VpbnQoaW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIGFzdWludChpbnQzIHgpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFz
dWludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IGFzdWludChpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhb
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGFzdWludCh1aW50IHgpIHsKLSAgICBy
ZXR1cm4geDsKLX0KLXVpbnQyIGFzdWludCh1aW50MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci11
aW50MyBhc3VpbnQodWludDMgeCkgewotICAgIHJldHVybiB4OwotfQotdWludDQgYXN1aW50KHVp
bnQ0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLW5hdGl2ZSB1aW50IGFzdWludChmbG9hdCk7Ci11
aW50MiBhc3VpbnQoZmxvYXQyIHgpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgYXN1aW50KGZsb2F0MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3VpbnQo
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBhc3VpbnQoZmxvYXQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gYXN1aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKLSAg
ICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
enh5ICovCi1ib29sNCBvcGVyYXRvci55enh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnl6eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4
eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh5KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci55enh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4
eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh5KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcG93ICovCi1uYXRpdmUgZmxv
YXQgcG93KGZsb2F0LCBmbG9hdCk7Ci1mbG9hdDIgcG93KGZsb2F0MiB4LCBmbG9hdDIgeSkgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOwotICAg
IHJlc3VsdFsxXSA9IHBvdyh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIHBvdyhmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgcG93KGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gcG93KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IHBvdyh4
WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBwb3coeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gcG93KHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBw
b3coZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHBvdyhmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7
Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBwb3coZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkg
ewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBwb3coeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0s
IHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4
MiBwb3coZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgcG93KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsy
XSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1b
MF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3g0IHBvdyhmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBd
WzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBwb3coeFsx
XVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhb
Ml1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBwb3coZmxv
YXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhb
MF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4
WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBwb3coZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3co
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcG93
KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJd
WzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHBv
dyh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgcG93
KGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBw
b3coeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
cG93KHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVszXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwg
eVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gcG93KHhbM11bM10sIHlbM11bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh3ICov
Ci1ib29sNCBvcGVyYXRvci56eHh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHh3KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4dyhmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6enogKi8KLWJvb2w0IG9wZXJh
dG9yLnh6enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp6KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci54enp6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6enooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enp6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHkgKi8KLWJvb2wzIG9wZXJhdG9yLnp4eShi
b29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBvcGVyYXRvci56eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenh5KHVpbnQzIHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnp4eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHkoaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci56eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3h5eSAqLwotYm9vbDQgb3BlcmF0b3Iud3h5eShib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3h5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4
eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56eXp4ICovCi1ib29sNCBvcGVyYXRvci56eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnp5engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXp4KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eXp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enl6eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXp4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4dyAq
LwotYm9vbDQgb3BlcmF0b3IueHp4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci54enh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp4dyhpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHcoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enc9ICovCi1ib29sNCBvcGVy
YXRvci54enc9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enc9KHVpbnQ0IHYsIHVp
bnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVz
dWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enc9
KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCB0YW4gKi8KLW5hdGl2ZSBm
bG9hdCB0YW4oZmxvYXQpOwotZmxvYXQyIHRhbihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbih4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHRhbihmbG9hdDMgeCkgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IHRhbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0YW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCB0YW4oZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHRhbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7Ci0gICAgcmVz
dWx0WzJdID0gdGFuKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHRhbih4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgdGFuKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MyB0YW4oZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4o
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgdGFu
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10p
OwotICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHRhbih4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
dGFuKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSB0YW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIHRhbihmbG9h
dDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCB0YW4oZmxvYXQzeDQgeCkgewotICAgIGZsb2F0
M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFu
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4o
eFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsy
XVszXSA9IHRhbih4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgdGFu
KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0
YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IHRhbih4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
dGFuKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IHRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IHRhbihmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gdGFuKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFuKHhbM11b
Ml0pOwotICAgIHJlc3VsdFszXVszXSA9IHRhbih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZm1hICovCi1mbG9hdCBmbWEoZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgeikgewotICAgIHJldHVybiB4ICogeSArIHo7Ci19Ci1mbG9hdDIgZm1hKGZs
b2F0MiB4LCBmbG9hdDIgeSwgZmxvYXQyIHopIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGZtYSh4WzBdLCB5WzBdLCB6WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbWEoeFsx
XSwgeVsxXSwgelsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBmbWEoZmxvYXQz
IHgsIGZsb2F0MyB5LCBmbG9hdDMgeikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gZm1hKHhbMF0sIHlbMF0sIHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5
WzFdLCB6WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBmbWEoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQg
eikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZm1hKHhbMF0sIHlbMF0s
IHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZm1hKHhbM10s
IHlbM10sIHpbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbWEoZmxvYXQy
eDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MngzIGZtYShmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5LCBmbG9hdDJ4MyB6KSB7Ci0gICAg
ZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmbWEoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQg
eikgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelsw
XVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MiBmbWEoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIg
eikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZm1hKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHks
IGZsb2F0M3gzIHopIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
Zm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZtYShmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9h
dDN4NCB6KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNd
LCB6WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1h
KHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1h
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MyBmbWEoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1h
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwg
eVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZtYSh4WzNdWzJdLCB5WzNdWzJdLCB6
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZm1hKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1h
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1b
Ml0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBm
bWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZm1hKHhb
M11bM10sIHlbM11bM10sIHpbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBkZXRlcm1pbmFudCAqLwotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQgeCkg
ewotICAgIHJldHVybiB4OwotfQotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgewotICAg
IHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOwotfQotZmxvYXQg
ZGV0ZXJtaW5hbnQoZmxvYXQzeDMgeCkgewotICAgIHJldHVybiB4WzBdWzBdICogeFsxXVsxXSAq
IHhbMl1bMl0gKwotICAgICAgICAgICB4WzBdWzFdICogeFsxXVsyXSAqIHhbMl1bMF0gKwotICAg
ICAgICAgICB4WzBdWzJdICogeFsxXVswXSAqIHhbMl1bMV0gLQotICAgICAgICAgICB4WzJdWzBd
ICogeFsxXVsxXSAqIHhbMF1bMl0gLQotICAgICAgICAgICB4WzJdWzFdICogeFsxXVsyXSAqIHhb
MF1bMF0gLQotICAgICAgICAgICB4WzJdWzJdICogeFsxXVswXSAqIHhbMF1bMV07Ci19Ci1mbG9h
dCBkZXRlcm1pbmFudChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQgcmVzdWx0OwotICAgIGZsb2F0
M3gzIG1pbm9yOwotICAgIG1pbm9yWzBdWzBdID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsxXSA9
IHhbMV1bMl07Ci0gICAgbWlub3JbMF1bMl0gPSB4WzFdWzNdOwotICAgIG1pbm9yWzFdWzBdID0g
eFsyXVsxXTsKLSAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4
WzJdWzNdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKLSAgICBtaW5vclsyXVsxXSA9IHhb
M11bMl07Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAr
IHhbMF1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBd
OwotICAgIG1pbm9yWzBdWzFdID0geFsxXVsyXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107
Ci0gICAgbWlub3JbMV1bMF0gPSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsK
LSAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwot
ICAgIG1pbm9yWzJdWzFdID0geFszXVsyXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBt
aW5vclswXVswXSA9IHhbMV1bMF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1p
bm9yWzBdWzJdID0geFsxXVszXTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlu
b3JbMV1bMV0gPSB4WzJdWzFdOwotICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKLSAgICBtaW5v
clsyXVswXSA9IHhbM11bMF07Ci0gICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9y
WzJdWzJdID0geFszXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyB4WzBdWzJdICogZGV0ZXJt
aW5hbnQobWlub3IpOwotICAgIG1pbm9yWzBdWzBdID0geFsxXVswXTsKLSAgICBtaW5vclswXVsx
XSA9IHhbMV1bMV07Ci0gICAgbWlub3JbMF1bMl0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzFdWzBd
ID0geFsyXVswXTsKLSAgICBtaW5vclsxXVsxXSA9IHhbMl1bMV07Ci0gICAgbWlub3JbMV1bMl0g
PSB4WzJdWzJdOwotICAgIG1pbm9yWzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9
IHhbM11bMV07Ci0gICAgbWlub3JbMl1bMl0gPSB4WzNdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAtIHhbMF1bM10gKiBkZXRlcm1pbmFudChtaW5vcik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd4eSAqLwotYm9vbDQgb3BlcmF0b3Iu
eXd4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55d3h5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl3eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBmbG9vciAqLwotbmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KTsKLWZsb2F0MiBm
bG9vcihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmxv
b3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBmbG9vcihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZmxvb3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBmbG9vcihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
Zmxvb3IoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmxvb3IoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gZmxvb3IoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZmxvb3IoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGZsb29yKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngzIGZsb29yKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxv
b3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0Mng0IGZsb29yKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxv
b3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGZsb29yKGZsb2F0M3gyIHgp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGZsb29yKGZsb2F0
M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxv
b3IoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZsb29yKGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3Io
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsy
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGZsb29yKGZsb2F0NHgyIHgp
IHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIGZsb29yKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZmxv
b3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gZmxvb3IoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZs
b29yKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZmxvb3IoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZmxv
b3IoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZmxvb3IoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
Zmxvb3IoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZmxvb3Io
eFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZmxvb3IoeFszXVszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGNyb3NzICovCi1mbG9hdDMgY3Jvc3Mo
ZmxvYXQzIHUsIGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHUueSAqIHYueiAtIHUueiAqIHYueTsKLSAgICByZXN1bHQueSA9IHUueiAqIHYueCAtIHUueCAq
IHYuejsKLSAgICByZXN1bHQueiA9IHUueCAqIHYueSAtIHUueSAqIHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3l6ICovCi1ib29s
NCBvcGVyYXRvci54d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3
eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3l6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnh4
eXkoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHh5eShib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHl5KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh4eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHh5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eShpbnQyIHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eHl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh4eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl5KGZsb2F0MiB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQzIHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIGlzZmluaXRlICovCi1uYXRpdmUgYm9vbCBpc2Zpbml0ZShmbG9h
dCk7Ci1ib29sMiBpc2Zpbml0ZShmbG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBpc2Zpbml0ZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc2Zpbml0ZSh4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgaXNmaW5pdGUoZmxvYXQzIHgpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IGlzZmluaXRlKGZsb2F0NCB4KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGlzZmluaXRlKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzZmluaXRlKHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGlzZmluaXRlKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHk9ICovCi1ib29sMyBvcGVyYXRvci56eHk9
KGJvb2wzIHYsIGJvb2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eHk9KGJvb2w0IHYsIGJvb2wzIGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci56eHk9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHk9KHVpbnQ0
IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eT0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQz
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enh5PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eT0oZmxvYXQzIHYsIGZsb2F0MyBj
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56eHk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBJbnRlcmxvY2tlZE9yICovCi1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2Ug
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0
aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAg
dWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp4encgKi8KLWJvb2w0IG9wZXJhdG9yLnp4encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iuenh6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4
encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXRhbjIgKi8KLW5hdGl2ZSBmbG9h
dCBhdGFuMihmbG9hdCwgZmxvYXQpOwotZmxvYXQyIGF0YW4yKGZsb2F0MiB4LCBmbG9hdDIgeSkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7
Ci0gICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBhdGFuMihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGF0YW4yKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0
YW4yKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGF0YW4yKHhbMl0sIHlbMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgYXRhbjIoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFuMih4
WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBhdGFuMih4WzNdLCB5WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgYXRhbjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDMgYXRhbjIoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDQgYXRhbjIoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAg
IGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBhdGFuMih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMV1bM10gPSBhdGFuMih4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgYXRhbjIoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgYXRhbjIoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkg
ewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFu
Mih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5
WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDQgYXRhbjIoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBh
dGFuMih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNd
LCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFu
Mih4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhdGFuMih4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgYXRhbjIoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBh
dGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFu
Mih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgYXRh
bjIoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
dGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFu
Mih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgYXRh
bjIoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhdGFuMih4WzBdWzNdLCB5WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBh
dGFuMih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuMih4WzFdWzNd
LCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhdGFu
Mih4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSBhdGFuMih4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55end5ICovCi1ib29sNCBvcGVyYXRvci55end5
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6d3kodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55end5KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXp3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnp6eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp6eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56
enh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3l3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3l3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53eXd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
d3l3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3ooZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l6ICovCi1i
b29sNCBvcGVyYXRvci55d3l6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl3eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3l6KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd5eihmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eCAqLwotYm9vbDMgb3BlcmF0b3Iu
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl6eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55engodWludDMgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMg
b3BlcmF0b3IueXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXp4KGludDMgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eChpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnl6eChmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55engoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eiAqLwotYm9vbDIgb3BlcmF0b3IueXooYm9vbDMgdikgewot
ICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXooYm9vbDQgdikgewot
ICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDMgdikgewot
ICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueXoodWludDQgdikgewot
ICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eihpbnQzIHYpIHsKLSAg
ICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci55eihpbnQ0IHYpIHsKLSAgICBp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3h4eiAqLwotYm9vbDQgb3BlcmF0b3Iud3h4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53eHh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h4
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4eHooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54dz0gKi8KLWJvb2w0
IG9wZXJhdG9yLnh3PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3PShpbnQ0IHYsIGludDIgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl4eSAqLwotYm9vbDQgb3BlcmF0b3IueHl4eShib29s
MiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXh5KGJvb2wzIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl4eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh5
KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXh5KGludDIgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh5eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHkoZmxvYXQyIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eXh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXl5eCAqLwotYm9vbDQgb3BlcmF0b3IueXl5eChib29sMiB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXl4KGJvb2wzIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnl5eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXl5eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXl4KHVp
bnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eXgodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci55eXl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnl5eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl5eChpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXgoZmxvYXQyIHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci55eXl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXp6eCAqLwotYm9vbDQgb3BlcmF0b3IueXp6eChib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55enp4KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl6engodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXp6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6engoaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh6eiAqLwotYm9vbDMgb3BlcmF0b3IueHp6KGJvb2wzIHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnh6
eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci54enoodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHp6KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3IueHp6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eihmbG9hdDMg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyBvcGVyYXRvci54enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHl6
ICovCi1ib29sNCBvcGVyYXRvci55eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnl4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eih1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl6KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci55eHl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5eihm
bG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHl6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp4eCAqLwotYm9v
bDQgb3BlcmF0b3Iuenp4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56
enh4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHgodWludDMgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp4eCh1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp6eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enp4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHgoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6d3ggKi8KLWJvb2w0IG9wZXJh
dG9yLnp6d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3eCh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6d3goaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci56end4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4ICovCi1ib29sMyBvcGVyYXRvci55eHgoYm9vbDIg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDMgb3BlcmF0b3IueXh4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl4eChib29sNCB2KSB7Ci0gICAgYm9v
bDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55
eHgodWludDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDMgb3BlcmF0b3IueXh4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eCh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl4eChpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh4KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueXh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4eChmbG9hdDMgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRv
ci55eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdy
b3VwU3luYyAqLwotbmF0aXZlIHZvaWQgRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMo
KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3cgKi8KLWJvb2w0IG9wZXJhdG9y
Lnp3d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3dyh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3d3coaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci56d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6ICovCi1ib29sMyBvcGVyYXRvci53enooYm9vbDQgdikg
ewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMg
b3BlcmF0b3Iud3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3p6KGludDQgdikgewotICAgIGludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3p6KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZm1vZCAqLwotCi1mbG9hdCBmbW9kKGZsb2F0IHgsIGZs
b2F0IHkpIHsKLSAgICB1aW50IHdob2xlID0gdWludCh4IC8geSk7Ci0gICAgZmxvYXQgbXVsdGlw
bGUgPSBmbG9hdCh3aG9sZSkgKiB5OwotICAgIHJldHVybiB4IC0gbXVsdGlwbGU7Ci19Ci1mbG9h
dDIgZm1vZChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IGZtb2QoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGZtb2QoZmxvYXQzIHgsIGZsb2F0
MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
Zm1vZCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGZtb2QoZmxv
YXQ0IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBm
bW9kKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gZm1vZCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBmbW9kKHhbM10s
IHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbW9kKGZsb2F0MngyIHgs
IGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDMgZm1vZChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxv
YXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2Qo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmbW9kKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsK
LSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1b
MF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MiBmbW9kKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZt
b2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0M3gzIGZtb2QoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0
M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZt
b2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZm1vZChmbG9hdDN4NCB4
LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZt
b2QoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBmbW9kKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkp
IHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBd
LCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhb
Ml1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MyBmbW9kKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhb
Ml1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZt
b2QoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGZt
b2QoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJd
LCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhb
MV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZt
b2QoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5
WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmbW9kKHhbM11bMF0sIHlbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGZtb2QoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gZm1vZCh4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBmbW9kKHhbM11b
M10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh6enggKi8KLWJvb2w0IG9wZXJhdG9yLnh6engoYm9vbDMgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci54enp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6
engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enp4KGludDMgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54enp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh6engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci55eXp5ICovCi1ib29sNCBvcGVyYXRvci55eXp5KGJvb2wzIHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2w0IG9wZXJhdG9yLnl5enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXl6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXp5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl6eShpbnQzIHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eXp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueXl6eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXp5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5
ICovCi1ib29sMyBvcGVyYXRvci53eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iud3l5KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3Iud3l5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iud3l5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXp5eCAqLwotYm9vbDQgb3BlcmF0b3IueXp5eChib29sMyB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55enl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnl6eXgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eCh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eXgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXp5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5
eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl3eng9ICovCi1ib29sNCBvcGVyYXRvci55d3p4PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAg
Ym9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMu
eTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6eD0odWludDQgdiwgdWludDQgYykgewotICAg
IHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd6eD0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7
Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3p4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6dyAqLwotYm9v
bDQgb3BlcmF0b3IueHh6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
eHp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh6dyhpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXh4ICovCi1ib29sNCBvcGVyYXRvci54
eXh4KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHgoYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl4eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXh4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnh5eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl4eCh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eHgoaW50MiB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueHl4eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci54eXh4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eChmbG9hdDIg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXh4KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXc9ICovCi1ib29sNCBvcGVyYXRvci56eXc9
KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp5dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXc9KGZsb2F0NCB2
LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enh5ICovCi1ib29sNCBv
cGVyYXRvci53enh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6eHko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53enh5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eCAqLwotYm9vbDMgb3BlcmF0b3Iuend4KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQzIG9wZXJhdG9yLnp3eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp3eChpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnp3eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLSAqLwotbmF0aXZlIGludCBv
cGVyYXRvci0oaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3ItKHVpbnQsIHVpbnQpOwot
bmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQpOwotbmF0aXZlIGludCBvcGVyYXRv
ci0oaW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci0oZmxvYXQpOwotbmF0aXZlIHVpbnQyIG9w
ZXJhdG9yLSh1aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50LCB1aW50
Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3ItKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBv
cGVyYXRvci0odWludDMsIHVpbnQzKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludCwgdWlu
dDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQg
b3BlcmF0b3ItKHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQsIHVp
bnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci0odWludDQsIHVpbnQpOwotbmF0aXZlIGludDIg
b3BlcmF0b3ItKGludDIsIGludDIpOwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludCwgaW50Mik7
Ci1uYXRpdmUgaW50MiBvcGVyYXRvci0oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9y
LShpbnQzLCBpbnQzKTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQsIGludDMpOwotbmF0aXZl
IGludDMgb3BlcmF0b3ItKGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCwg
aW50NCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yLShpbnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyLCBmbG9h
dDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLShmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZs
b2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDMpOwot
bmF0aXZlIGZsb2F0MyBvcGVyYXRvci0oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9w
ZXJhdG9yLShmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdCwg
ZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZl
IGludDIgb3BlcmF0b3ItKGludDIpOwotbmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMpOwotbmF0
aXZlIGludDQgb3BlcmF0b3ItKGludDQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQy
KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJh
dG9yLShmbG9hdDQpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQy
eDIpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQpOwotbmF0aXZl
IGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngyIG9w
ZXJhdG9yLShmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBm
bG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDJ4Myk7Ci1u
YXRpdmUgZmxvYXQyeDMgb3BlcmF0b3ItKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQy
eDMgb3BlcmF0b3ItKGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQy
eDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mng0
KTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQsIGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShm
bG9hdDN4MiwgZmxvYXQzeDIpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdCwgZmxv
YXQzeDIpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4MiwgZmxvYXQpOwotbmF0
aXZlIGZsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3ItKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0
LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBv
cGVyYXRvci0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0o
ZmxvYXQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQsIGZs
b2F0KTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvci0oZmxvYXQzeDQpOwotbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLShmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJh
dG9yLShmbG9hdCwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4
MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4Mik7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3ItKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZs
b2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3ItKGZsb2F0NHgzKTsKLW5h
dGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9h
dDR4NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHg0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRv
ci0oZmxvYXQ0eDQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQp
OwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgbWluICovCi11aW50IG1pbih1aW50IHgsIHVpbnQgeSkg
ewotICAgIHJldHVybiB4ID4geSA/IHkgOiB4OwotfQotdWludDIgbWluKHVpbnQyIHgsIHVpbnQy
IHkpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgbWluKHVpbnQzIHgsIHVpbnQzIHkpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG1pbih1aW50NCB4LCB1aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsx
XSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFsz
XSA9IG1pbih4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50IG1pbihpbnQg
eCwgaW50IHkpIHsKLSAgICByZXR1cm4geCA+IHkgPyB5IDogeDsKLX0KLWludDIgbWluKGludDIg
eCwgaW50MiB5KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBtaW4oaW50MyB4LCBpbnQzIHkpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBtaW4oaW50NCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0s
IHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10g
PSBtaW4oeFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IG1pbihmbG9h
dCB4LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Ci19Ci1mbG9hdDIgbWlu
KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG1pbihmbG9hdDMgeCwgZmxvYXQzIHkpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbWluKGZsb2F0NCB4LCBmbG9hdDQg
eSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4o
eFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtaW4oZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4o
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIG1pbihm
bG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4o
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWlu
KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtaW4o
ZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWlu
KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1p
bih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtaW4oZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBt
aW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbWluKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsK
LSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
bWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG1pbihmbG9hdDN4NCB4
LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwg
eVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFd
LCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MiBtaW4oZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgewotICAgIGZsb2F0
NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11b
MV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtaW4oZmxvYXQ0
eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtaW4oeFsz
XVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbWluKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhb
MF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4
WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBtaW4o
eFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbWlu
KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXogKi8KLWJvb2wzIG9wZXJhdG9yLnh5eihib29sMyB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVy
YXRvci54eXooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHl6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5eih1aW50
NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQzIG9wZXJhdG9yLnh5eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54eXooaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54eXoo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3o9ICovCi1ib29sNCBvcGVyYXRvci53ej0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6PSh1aW50NCB2LCB1aW50
MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53ej0o
aW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci53ej0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXkgKi8KLWJvb2w0IG9w
ZXJhdG9yLnp5eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl5eShi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl5KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56eXl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXko
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl5KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZFhvciAqLwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQg
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1
aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0
b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9y
KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsK
LW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQs
IGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eng9ICovCi1ib29sNCBvcGVyYXRvci53
eng9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eng9KHVpbnQ0IHYsIHVpbnQzIGMp
IHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd6eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eng9KGZsb2F0
NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3p5ICovCi1ib29s
NCBvcGVyYXRvci56d3p5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3
enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3p5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8K
LW5hdGl2ZSB2b2lkIEdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6eSAqLwotYm9vbDQgb3BlcmF0b3IueHl6eShib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXp5KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHl6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5enko
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueHl6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIHRydW5jICovCi1uYXRpdmUgZmxvYXQgdHJ1bmMoZmxvYXQpOwotZmxvYXQyIHRydW5j
KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVuYyh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzIHRydW5jKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSB0cnVuYyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICBy
ZXN1bHRbMl0gPSB0cnVuYyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHRy
dW5jKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0cnVu
Yyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0cnVuYyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSB0
cnVuYyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSB0cnVuYyh4WzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDIgdHJ1bmMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDMgdHJ1bmMoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgdHJ1bmMoZmxvYXQzeDIgeCkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgdHJ1bmMoZmxvYXQzeDMg
eCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0
cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4
WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQg
eCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgdHJ1bmMoZmxvYXQ0eDIgeCkgewot
ICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
dHJ1bmMoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSB0cnVuYyh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgdHJ1bmMo
ZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0
cnVuYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSB0cnVuYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0cnVu
Yyh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSB0cnVuYyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNd
WzJdKTsKLSAgICByZXN1bHRbM11bM10gPSB0cnVuYyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IubGVuZ3RoICovCi11aW50IG9w
ZXJhdG9yLmxlbmd0aChib29sMikgewotICAgIHJldHVybiAyOwotfQotdWludCBvcGVyYXRvci5s
ZW5ndGgoYm9vbDMpIHsKLSAgICByZXR1cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGJv
b2w0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50Mikgewot
ICAgIHJldHVybiAyOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgodWludDMpIHsKLSAgICByZXR1
cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKHVpbnQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19
Ci11aW50IG9wZXJhdG9yLmxlbmd0aChpbnQyKSB7Ci0gICAgcmV0dXJuIDI7Ci19Ci11aW50IG9w
ZXJhdG9yLmxlbmd0aChpbnQzKSB7Ci0gICAgcmV0dXJuIDM7Ci19Ci11aW50IG9wZXJhdG9yLmxl
bmd0aChpbnQ0KSB7Ci0gICAgcmV0dXJuIDQ7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aChmbG9h
dDIpIHsKLSAgICByZXR1cm4gMjsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGZsb2F0Mykgewot
ICAgIHJldHVybiAzOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgoZmxvYXQ0KSB7Ci0gICAgcmV0
dXJuIDQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3d3ggKi8KLWJvb2w0
IG9wZXJhdG9yLnp3d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuend3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3d3goaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l4
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXh4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd5eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55d3o9ICovCi1ib29sNCBvcGVyYXRvci55d3o9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55d3o9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAg
IHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3
ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnkg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3o9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enl5ICovCi1ib29sNCBvcGVyYXRvci54enl5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eXkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54enl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eHp5eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enl5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54enl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueHh4eiAqLwotYm9vbDQgb3BlcmF0b3IueHh4eihib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHh6KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHh4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHooaW50
MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnh4eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueHh4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnd4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd4d3koYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnd4d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHd5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXh3eiAqLwotYm9vbDQgb3BlcmF0b3IueXh3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci55eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3ooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3d3ICovCi1ib29s
NCBvcGVyYXRvci55d3d3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3
d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3d3KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6dyAqLwotYm9vbDMgb3BlcmF0b3IueHp3
KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQzIG9wZXJhdG9yLnh6dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6dyhpbnQ0IHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJh
dG9yLnh6dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3d3ggKi8KLWJvb2w0
IG9wZXJhdG9yLnd3d3goYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3d3goaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d4
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3h4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd3eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXc9ICovCi1ib29sNCBvcGVyYXRvci54eXc9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54eXc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXc9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enkgKi8KLWJvb2wzIG9wZXJhdG9yLnh6eShi
b29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBvcGVyYXRvci54enkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHp5KHVpbnQzIHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnh6eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6eShpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54enkoaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci54enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenp6eiAqLwotYm9vbDQgb3BlcmF0b3Iuenp6eihib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp6enoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enp6eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enooaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp6enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenp6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6enggKi8KLWJvb2w0IG9wZXJhdG9yLnp6engoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3Iuenp6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci56enp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6engodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp4KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56enp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6engo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
dyAqLwotYm9vbDIgb3BlcmF0b3IueHcoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueHcodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MiBvcGVyYXRvci54dyhpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyIG9wZXJhdG9yLnh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5dyAqLwotYm9vbDQgb3BlcmF0
b3Iud3h5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl3KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd4eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55end3ICovCi1ib29sNCBvcGVyYXRvci55end3KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6d3codWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55end3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd4dyAqLwotYm9vbDMgb3BlcmF0b3Iud3h3KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4
dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnd4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4dyhmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3koYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci54d3d5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3p6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3p6dyhib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53enp3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3p6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6encoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd3
ICovCi1ib29sNCBvcGVyYXRvci53eHd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd4d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHd3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG1heCAqLwotCi0KLXVpbnQgbWF4KHVpbnQg
eCwgdWludCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geCA6IHk7Ci19Ci11aW50MiBtYXgodWlu
dDIgeCwgdWludDIgeSkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgo
eFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50MyBtYXgodWludDMgeCwgdWludDMgeSkgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0g
bWF4KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgbWF4KHVpbnQ0IHgsIHVpbnQ0IHkpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsx
XSA9IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LQotCi1pbnQgbWF4KGludCB4LCBpbnQgeSkgewotICAgIHJldHVybiB4ID4geSA/IHggOiB5Owot
fQotaW50MiBtYXgoaW50MiB4LCBpbnQyIHkpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG1heChpbnQzIHgsIGludDMgeSkgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG1heChpbnQ0IHgsIGludDQgeSkgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0p
OwotICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0KLWZsb2F0IG1heChmbG9hdCB4LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8g
eCA6IHk7Ci19Ci1mbG9hdDIgbWF4KGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9
IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG1heChmbG9h
dDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1h
eCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVz
dWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
bWF4KGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gbWF4KHhb
M10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBtYXgoZmxvYXQyeDIg
eCwgZmxvYXQyeDIgeSkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0s
IHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MngzIG1heChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAgZmxvYXQy
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBd
LCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDJ4NCBtYXgoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0
Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVsz
XSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1b
M10sIHlbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBtYXgoZmxvYXQz
eDIgeCwgZmxvYXQzeDIgeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJd
WzFdLCB5WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgbWF4KGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0M3g0IG1heChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhb
MF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4
WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVsz
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBtYXgoZmxvYXQ0eDIgeCwgZmxv
YXQ0eDIgeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgo
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MyBtYXgoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0NHgzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1h
eCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBt
YXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBtYXgoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bWF4KHhbM11bMV0sIHlbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IG1heCh4WzNdWzJdLCB5
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbWF4KGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBtYXgoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0s
IHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFd
LCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzNdID0gbWF4KHhbM11bM10sIHlbM11bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eiAqLwotYm9vbDMgb3Bl
cmF0b3Iud3d6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd3eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3eihpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnd3eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5ej0g
Ki8KLWJvb2w0IG9wZXJhdG9yLnd5ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAg
cmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5
ej0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l6PShpbnQ0IHYsIGludDMgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnd5ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl3eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnl3eXkoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueXd5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl3eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3l5KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXNpbnQgKi8KLWludCBh
c2ludChpbnQgeCkgewotICAgIHJldHVybiB4OwotfQotaW50MiBhc2ludChpbnQyIHgpIHsKLSAg
ICByZXR1cm4geDsKLX0KLWludDMgYXNpbnQoaW50MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1p
bnQ0IGFzaW50KGludDQgeCkgewotICAgIHJldHVybiB4OwotfQotaW50IGFzaW50KHVpbnQgeCkg
ewotICAgIHJldHVybiBpbnQoeCk7Ci19Ci1pbnQyIGFzaW50KHVpbnQyIHgpIHsKLSAgICBpbnQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBh
c2ludCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBhc2ludCh1aW50MyB4KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNpbnQoeFsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgYXNpbnQodWludDQgeCkgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFzaW50
KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1uYXRpdmUgaW50IGFzaW50KGZsb2F0KTsK
LWludDIgYXNpbnQoZmxvYXQyIHgpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBhc2ludChmbG9hdDMgeCkgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IGFzaW50KGZsb2F0NCB4KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNp
bnQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
YXNpbnQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNpbnQoeFszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6d3ogKi8KLWJvb2w0IG9w
ZXJhdG9yLnl6d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp3eih1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6d3ooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55end6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6eSAqLwotYm9vbDQgb3BlcmF0b3IueXh6eShi
b29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHp5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXh6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4
enkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh6eShpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueXh6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnl6eHogKi8KLWJvb2w0IG9wZXJhdG9yLnl6eHooYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp4eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55enh6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl6eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh6KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHooaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55enh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53enp4ICovCi1ib29sNCBvcGVyYXRvci53enp4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd6engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci53enp4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p6eChm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6
eHc9ICovCi1ib29sNCBvcGVyYXRvci55enh3PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVp
bnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4dz0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0g
ICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl4eCAqLwotYm9vbDQg
b3BlcmF0b3Iuenl4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXh4
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHgodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp5eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl4
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHgoZmxvYXQzIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5d3ogKi8KLWJvb2w0IG9wZXJhdG9y
Lnh5d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl3eih1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5d3ooaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eXd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p3eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p3eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53end6KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iud3p3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnd6d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eHh5ICovCi1ib29sNCBvcGVyYXRvci54eHh5KGJvb2wyIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnh4eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3IueHh4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHh5KHVp
bnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHkodWludDMgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHh4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh4eHkoaW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHh5KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh4eShmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh4eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56d3h5PSAqLwotYm9vbDQgb3BlcmF0b3Iuend4eT0oYm9vbDQgdiwgYm9vbDQgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eHk9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eHk9KGludDQgdiwgaW50NCBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend4eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3encgKi8K
LWJvb2w0IG9wZXJhdG9yLnp3encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iuend6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3encoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d3eSAqLwotYm9vbDQgb3BlcmF0
b3Iud3d3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3d5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d3eShpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd3d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3ggKi8KLWJvb2wzIG9wZXJhdG9yLnl3eChib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55d3godWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3goaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3go
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHp6ICovCi1ib29sNCBvcGVyYXRv
ci54eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4enooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh6eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh6eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXo9
KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
c3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3l6
PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3l6
PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1
bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXo9
KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eXggKi8KLWJvb2wzIG9wZXJhdG9yLnl5eChib29sMiB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRv
ci55eXgoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXl4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eCh1aW50MiB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55eXgodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl4KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl4
KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnl5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eXgoaW50NCB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55
eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5eChmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnp6
d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3eSh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56end5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3g9ICovCi1ib29sNCBvcGVyYXRvci53eD0oYm9vbDQgdiwgYm9v
bDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4
PSh1aW50NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eD0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eD0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6
dyAqLwotYm9vbDMgb3BlcmF0b3Iuenp3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp6dyh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnp6dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp6dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnh4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnh4enkoYm9vbDMgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDQgb3BlcmF0b3IueHh6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54eHp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4enko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp5KGludDMgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci54eHp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4
enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eHogKi8KLWJvb2wzIG9wZXJhdG9yLnl4eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eHooYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3IueXh6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eih1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4
eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci55eHooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHooZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3IueXh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5ICovCi1ib29s
MyBvcGVyYXRvci55enkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXp5KGJvb2w0IHYpIHsKLSAgICBib29s
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl6
eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci55enkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55enkoaW50MyB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0
b3IueXp5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eShmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnk9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0
b3IueT0oYm9vbDIsIGJvb2wpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yLnk9KGJvb2wzLCBib29s
KTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvci55PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDIg
b3BlcmF0b3IueT0odWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLnk9KHVpbnQz
LCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci55PSh1aW50NCwgdWludCk7Ci1uYXRpdmUg
aW50MiBvcGVyYXRvci55PShpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IueT0oaW50
MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnk9KGludDQsIGludCk7Ci1uYXRpdmUgZmxv
YXQyIG9wZXJhdG9yLnk9KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci55
PShmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IueT0oZmxvYXQ0LCBmbG9h
dCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHp6ICovCi1ib29sNCBvcGVyYXRv
ci56eHp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp4enooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6eih1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci56eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenh6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHp6KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh6eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6dyAqLwotYm9vbDQgb3BlcmF0b3IueHl6dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56d3l3ICovCi1ib29sNCBvcGVyYXRvci56d3l3KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56d3l3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5
dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnh5dyAqLwotYm9vbDMgb3BlcmF0b3IueHl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5dyh1aW50NCB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQz
IG9wZXJhdG9yLnh5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh5dyhmbG9hdDQgdikgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp6d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp6d3coYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnp6d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56end3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enl3ICovCi1ib29sMyBvcGVyYXRvci56eXcoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenl3KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3Iuenl3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgY2xhbXAgKi8KLW5hdGl2ZSB1aW50IGNsYW1wKHVpbnQsIHVpbnQsIHVpbnQpOwotbmF0aXZl
IHVpbnQyIGNsYW1wKHVpbnQyLCB1aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQzIGNsYW1wKHVp
bnQzLCB1aW50MywgdWludDMpOwotbmF0aXZlIHVpbnQ0IGNsYW1wKHVpbnQ0LCB1aW50NCwgdWlu
dDQpOwotbmF0aXZlIGludCBjbGFtcChpbnQsIGludCwgaW50KTsKLW5hdGl2ZSBpbnQyIGNsYW1w
KGludDIsIGludDIsIGludDIpOwotbmF0aXZlIGludDMgY2xhbXAoaW50MywgaW50MywgaW50Myk7
Ci1uYXRpdmUgaW50NCBjbGFtcChpbnQ0LCBpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBmbG9hdCBjbGFt
cChmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDIgY2xhbXAoZmxvYXQyLCBmbG9h
dDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzIGNsYW1wKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMp
OwotbmF0aXZlIGZsb2F0NCBjbGFtcChmbG9hdDQsIGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBm
bG9hdDJ4MiBjbGFtcChmbG9hdDJ4MiwgZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9h
dDJ4MyBjbGFtcChmbG9hdDJ4MywgZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4
NCBjbGFtcChmbG9hdDJ4NCwgZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBmbG9hdDN4MiBj
bGFtcChmbG9hdDN4MiwgZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MyBjbGFt
cChmbG9hdDN4MywgZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBjbGFtcChm
bG9hdDN4NCwgZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBjbGFtcChmbG9h
dDR4MiwgZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBjbGFtcChmbG9hdDR4
MywgZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBjbGFtcChmbG9hdDR4NCwg
ZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd4eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3h4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh3eSAqLwotYm9vbDQgb3Bl
cmF0b3IueXh3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd5KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3kgKi8KLWJvb2wzIG9wZXJhdG9yLnh3eShib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci54d3kodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54d3koaW50NCB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54
d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcjwgKi8KLW5hdGl2ZSBib29sIG9w
ZXJhdG9yPChpbnQsIGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjwodWludCwgdWludCk7Ci1u
YXRpdmUgYm9vbCBvcGVyYXRvcjwoZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cjwodWludDIsIHVpbnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjwodWludDMsIHVpbnQzKTsK
LW5hdGl2ZSBib29sNCBvcGVyYXRvcjwodWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVy
YXRvcjwoaW50MiwgaW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8KGludDMsIGludDMpOwot
bmF0aXZlIGJvb2w0IG9wZXJhdG9yPChpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRv
cjwoZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPChmbG9hdDMsIGZsb2F0
Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I8KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29s
MngyIG9wZXJhdG9yPChmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0
b3I8KGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcjwoZmxvYXQy
eDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPChmbG9hdDN4MiwgZmxvYXQz
eDIpOwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8KGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRp
dmUgYm9vbDN4NCBvcGVyYXRvcjwoZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgy
IG9wZXJhdG9yPChmbG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I8
KGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcjwoZmxvYXQ0eDQs
IGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5dyAqLwotYm9vbDMg
b3BlcmF0b3Iud3l3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd5dyh1aW50NCB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5dyhp
bnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnd5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6
eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenp5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXco
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enl3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh6ICovCi1ib29sMyBv
cGVyYXRvci56eHooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iuenh6KGJvb2w0IHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eih1
aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBvcGVyYXRvci56eHoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHooaW50MyB2KSB7Ci0gICAg
aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iu
enh6KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eihmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3enggKi8KLWJvb2w0IG9wZXJhdG9yLnl3engo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3p4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenh4eSAqLwotYm9vbDQgb3BlcmF0b3Iuenh4eShib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eHh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp4eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enh4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHkoaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp4eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenh4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGlz
bmFuICovCi1uYXRpdmUgYm9vbCBpc25hbihmbG9hdCk7Ci0KLWJvb2wyIGlzbmFuKGZsb2F0MiB4
KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOwotICAg
IHJlc3VsdFsxXSA9IGlzbmFuKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBp
c25hbihmbG9hdDMgeCkgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc25h
bih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc25hbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBp
c25hbih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgaXNuYW4oZmxvYXQ0IHgp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gaXNuYW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh3dyAqLwotYm9vbDQgb3BlcmF0b3IueHh3dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHd3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh4d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54d3k9ICovCi1ib29sNCBvcGVyYXRvci54d3k9KGJvb2w0IHYsIGJvb2wz
IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJl
c3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54d3k9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJl
c3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eT0o
aW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3k9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBBbGxNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyAqLwotbmF0aXZl
IHZvaWQgQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnl4PSAqLwotYm9vbDIgb3BlcmF0b3IueXg9KGJvb2wyIHYsIGJvb2wyIGMp
IHsKLSAgICBib29sMiByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eD0oYm9v
bDMgdiwgYm9vbDIgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnl4PShib29sNCB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDIgb3BlcmF0b3IueXg9KHVpbnQyIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MiBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eD0odWludDMgdiwgdWludDIgYykg
ewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0
LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4PSh1aW50
NCB2LCB1aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVy
YXRvci55eD0oaW50MiB2LCBpbnQyIGMpIHsKLSAgICBpbnQyIHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgb3BlcmF0b3IueXg9KGludDMgdiwgaW50MiBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnl4PShmbG9hdDIgdiwgZmxvYXQy
IGMpIHsKLSAgICBmbG9hdDIgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4
PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl4PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3JeICovCi1ib29s
IG9wZXJhdG9yXihib29sIGEsIGJvb2wgYikgewotICAgIGlmIChhKQotICAgICAgICByZXR1cm4g
IWI7Ci0gICAgcmV0dXJuIGI7Ci19Ci1uYXRpdmUgaW50IG9wZXJhdG9yXihpbnQsIGludCk7Ci1u
YXRpdmUgdWludCBvcGVyYXRvcl4odWludCwgdWludCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55enl3ICovCi1ib29sNCBvcGVyYXRvci55enl3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl6eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55enl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3og
Ki8KLWJvb2w0IG9wZXJhdG9yLnh3d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHd3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3ooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3d6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgaXNpbmYgKi8KLW5hdGl2ZSBib29sIGlzaW5m
KGZsb2F0KTsKLWJvb2wyIGlzaW5mKGZsb2F0MiB4KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBpc2luZihmbG9hdDMgeCkgewotICAgIGJvb2wz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc2luZih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBp
c2luZih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc2luZih4WzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgaXNpbmYoZmxvYXQ0IHgpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gaXNpbmYoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNpbmYoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gaXNpbmYoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gaXNpbmYoeFszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yfCAq
LwotYm9vbCBvcGVyYXRvcnwoYm9vbCBhLCBib29sIGIpIHsKLSAgICByZXR1cm4gYSB8fCBiOwot
fQotbmF0aXZlIGludCBvcGVyYXRvcnwoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3J8
KHVpbnQsIHVpbnQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5ICovCi1ib29s
MyBvcGVyYXRvci56d3koYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuend5KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuend5
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgb3BlcmF0b3Iuend5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXp4eCAqLwotYm9vbDQgb3BlcmF0b3IueXp4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci55enh4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6
eHgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4eCh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueXp4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6
eHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXggKi8K
LWJvb2w0IG9wZXJhdG9yLnp5eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0
b3Iuenl5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl4KHVpbnQz
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXgodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci56eXl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnp5eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl4KGZsb2F0
MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXgoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXd5ICovCi1ib29sNCBv
cGVyYXRvci56eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5d3ko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXd5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl3eXgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd5eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci55d3l4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXh4eCAqLwotYm9vbDQgb3BlcmF0b3IueXh4eChib29sMiB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnl4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXh4eCh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh4KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHgodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eHh4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnl4eHgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eChpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXh4eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci55eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IueHl5eiAqLwotYm9vbDQgb3BlcmF0b3IueHl5eihib29sMyB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnh5eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5
eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXooaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh5eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHl5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh4eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnh4eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHh5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh4eXcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl3KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4eCAqLwot
Ym9vbDQgb3BlcmF0b3Iud3p4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53enh4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p4eChpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHd6ICovCi1ib29sNCBvcGVyYXRv
ci56eHd6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4d3oodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHd6KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eXogKi8KLWJvb2w0IG9wZXJhdG9yLnd4eXooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h5eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eXooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci53eHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueHd5eSAqLwotYm9vbDQgb3BlcmF0b3IueHd5eShib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54d3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHd5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXkoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53end3
ICovCi1ib29sNCBvcGVyYXRvci53end3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd6d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53end3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3p3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGRlZ3JlZXMgKi8KLWZsb2F0IGRlZ3JlZXMo
ZmxvYXQgeCkgewotICAgIHJldHVybiB4ICogMTgwIC8gMy4xNDE1OTsKLX0KLWZsb2F0MiBkZWdy
ZWVzKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZWdy
ZWVzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBkZWdyZWVzKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMo
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IGRlZ3JlZXMoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGRlZ3JlZXMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBkZWdyZWVzKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRlZ3Jl
ZXMoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRlZ3JlZXMoZmxvYXQy
eDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVz
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVz
KHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZWdyZWVzKGZsb2F0
MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVl
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVl
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0Mng0IGRlZ3JlZXMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3Jl
ZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRlZ3Jl
ZXMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRlZ3JlZXMoZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdy
ZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdy
ZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgZGVncmVlcyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVn
cmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBkZWdyZWVzKGZsb2F0M3g0IHgpIHsKLSAgICBm
bG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRl
Z3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRl
Z3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRl
Z3JlZXMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRl
Z3JlZXMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGRlZ3JlZXMo
ZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBk
ZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGRlZ3JlZXMoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGVncmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
ZGVncmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZGVncmVlcyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0g
ZGVncmVlcyh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGVncmVl
cyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGRlZ3JlZXMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9
IGRlZ3JlZXMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IGRlZ3JlZXMoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl5eSAqLwotYm9vbDMgb3BlcmF0b3IueXl5KGJvb2wyIHYpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJh
dG9yLnl5eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl5KHVpbnQy
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnl5eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXkodWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55
eXkoaW50MiB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDMgb3BlcmF0b3IueXl5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5eShpbnQ0IHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnl5eShmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6eSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3p6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enp5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnd6enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56end6ICovCi1ib29sNCBvcGVyYXRvci56end6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6d3oodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56end6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenp3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eXkoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3Iuenp5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci56enl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXkodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl5KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56enl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXko
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBTYW1wbGUgKi8K
LW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMUQ8dWludD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0
aW9uKTsKLW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50Piwgc2FtcGxlciwg
ZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkQ8dWludD4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEPHVp
bnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50
IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Piwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTNEPHVp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1
cmUzRDx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRp
dmUgdWludCBTYW1wbGUoVGV4dHVyZUN1YmU8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7Ci1uYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUxRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0
IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkQ8
dWludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShU
ZXh0dXJlMkQ8dWludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsK
LW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQyIFNh
bXBsZShUZXh0dXJlM0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZl
IHVpbnQyIFNhbXBsZShUZXh0dXJlM0Q8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24s
IGludDMgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDI+LCBz
YW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMUQ8
dWludDM+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1
aW50MyBTYW1wbGUoVGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsK
LW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTJEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxv
Y2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zm
c2V0KTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTNEPHVpbnQzPiwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxl
KFRleHR1cmVDdWJlPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1
aW50NCBTYW1wbGUoVGV4dHVyZTFEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwot
bmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50ND4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyRDx1aW50
ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQ0
IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQ0Piwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUz
RDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxl
KFRleHR1cmUzRDx1aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQp
OwotbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlQ3ViZTx1aW50ND4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMUQ8aW50Piwgc2FtcGxlciwg
ZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50Piwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyRDxp
bnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVy
ZTJEPGludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZl
IGludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTNEPGlu
dD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJl
M0Q8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUg
aW50IFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUxRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRp
b24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUxREFycmF5PGludDI+LCBzYW1wbGVyLCBm
bG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyRDxpbnQyPiwgc2Ft
cGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkQ8aW50
Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludDIg
U2FtcGxlKFRleHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDI+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlM0Q8aW50
Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVy
ZTNEPGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2
ZSBpbnQyIFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMUQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMURBcnJheTxpbnQzPiwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkQ8aW50Mz4s
IHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJE
PGludDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBp
bnQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTNE
PGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDMgU2FtcGxlKFRl
eHR1cmUzRDxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1u
YXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTFEPGludDQ+LCBzYW1wbGVyLCBmbG9h
dCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEPGlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1
cmUyRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRp
dmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2Nh
dGlvbik7Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1
cmUzRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IFNhbXBs
ZShUZXh0dXJlM0Q8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQp
OwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmVDdWJlPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQ+LCBzYW1wbGVy
LCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4
dHVyZTJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZTJEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBm
bG9hdCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
LW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVDdWJlPGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRl
eHR1cmUxRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQy
IFNhbXBsZShUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQyPiwgc2Ft
cGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBs
ZShUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlM0Q8
ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxl
KFRleHR1cmUzRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0
KTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQzPiwg
c2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMg
U2FtcGxlKFRleHR1cmUyRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2Nh
dGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxl
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mz4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQz
Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQz
IFNhbXBsZShUZXh0dXJlQ3ViZTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0IGxv
Y2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHNh
bXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkQ8
ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxl
KFRleHR1cmUyRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0
KTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBm
bG9hdDQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OwotbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwotbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZUN1
YmU8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1w
bGUoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0
aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
biwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3eD0oYm9vbDQgdiwgYm9vbDMgYykgewot
ICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp3eD0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend4PShpbnQ0IHYs
IGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7
Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp6eSAqLwotYm9vbDMgb3BlcmF0b3Iuenp5KGJvb2wzIHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9w
ZXJhdG9yLnp6eShib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56enkodWludDMgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenp5KHVp
bnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgb3BlcmF0b3Iuenp5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp6eShpbnQ0IHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp6
eShmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBvcGVyYXRvci56enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXd5ICovCi1ib29sNCBvcGVyYXRvci53eXd5KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd5d3kodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53eXd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eShmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eHggKi8K
LWJvb2w0IG9wZXJhdG9yLnd4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3h4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eHgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgc2luaCAqLwotbmF0aXZlIGZsb2F0IHNpbmgoZmxv
YXQpOwotZmxvYXQyIHNpbmgoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIHNpbmgoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2luaCh4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzaW5oKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgc2luaChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gc2luaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IHNpbmgoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc2luaCh4WzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgc2luaChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MngzIHNpbmgoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDQgc2luaChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IHNpbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDIgc2luaChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3g0IHNpbmgoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBzaW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0g
c2luaCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgc2luaChmbG9h
dDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBz
aW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
eDMgc2luaChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBzaW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW5oKHhb
M11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBzaW5oKGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHNpbmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBzaW5oKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5o
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0g
c2luaCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgZGR5ICovCi1uYXRpdmUgZmxvYXQgZGR5KGZsb2F0KTsKLWZsb2F0MiBkZHkoZmxvYXQyIHgp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBkZHkoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZHko
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeSh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5KHhbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZGR5KGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
ZGR5KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBk
ZHkoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRkeShmbG9hdDJ4MiB4
KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgZGR5KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0Mng0IGRkeShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGRkeSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIGRkeShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MyBkZHkoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRkeSh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGR5KGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGRkeSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgyIGRkeShmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgzIGRkeShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gZGR5KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5
KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHkoZmxvYXQ0eDQg
eCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGRkeSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
ZGR5KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBk
ZHkoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHkoeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj0g
Ki8KLW5hdGl2ZSBib29sIG9wZXJhdG9yPj0oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0
b3I+PSh1aW50LCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPj0oZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3Bl
cmF0b3I+PSh1aW50MywgdWludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPj0odWludDQsIHVp
bnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wz
IG9wZXJhdG9yPj0oaW50MywgaW50Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+PShpbnQ0LCBp
bnQ0KTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvcj49KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBi
b29sMyBvcGVyYXRvcj49KGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj49
KGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPj0oZmxvYXQyeDIsIGZs
b2F0MngyKTsKLW5hdGl2ZSBib29sMngzIG9wZXJhdG9yPj0oZmxvYXQyeDMsIGZsb2F0MngzKTsK
LW5hdGl2ZSBib29sMng0IG9wZXJhdG9yPj0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBi
b29sM3gyIG9wZXJhdG9yPj0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9w
ZXJhdG9yPj0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPj0o
ZmxvYXQzeDQsIGZsb2F0M3g0KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPj0oZmxvYXQ0eDIs
IGZsb2F0NHgyKTsKLW5hdGl2ZSBib29sNHgzIG9wZXJhdG9yPj0oZmxvYXQ0eDMsIGZsb2F0NHgz
KTsKLW5hdGl2ZSBib29sNHg0IG9wZXJhdG9yPj0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIGRzdCAqLwotdWludDQgZHN0KHVpbnQ0IHNyYzAsIHVpbnQ0IHNyYzEp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSAxOwotICAgIHJlc3VsdC55ID0g
c3JjMC55ICogc3JjMS55OwotICAgIHJlc3VsdC56ID0gc3JjMC56OwotICAgIHJlc3VsdC53ID0g
c3JjMS53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IGRzdChpbnQ0IHNyYzAsIGludDQg
c3JjMSkgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gMTsKLSAgICByZXN1bHQu
eSA9IHNyYzAueSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAuejsKLSAgICByZXN1bHQu
dyA9IHNyYzEudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRzdChmbG9hdDQgc3Jj
MCwgZmxvYXQ0IHNyYzEpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gMTsK
LSAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAuejsK
LSAgICByZXN1bHQudyA9IHNyYzEudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXo9ICovCi1ib29sMyBvcGVyYXRvci54eXo9KGJvb2wz
IHYsIGJvb2wzIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXo9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci54eXo9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXo9KHVpbnQ0IHYsIHVp
bnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnh5ej0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVz
dWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6PShp
bnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh5ej0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0Lnkg
PSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54eXo9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55eHh3ICovCi1ib29sNCBvcGVyYXRvci55eHh3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55eHh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh4dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eSAq
LwotYm9vbDMgb3BlcmF0b3Iud3h5KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4eSh1aW50NCB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJh
dG9yLnd4eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGRv
dCAqLwotdWludCBkb3QodWludCBhLCB1aW50IGIpIHsKLSAgICByZXR1cm4gYSAqIGI7Ci19Ci11
aW50IGRvdCh1aW50MiBhLCB1aW50MiBiKSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJl
c3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0g
KiBiWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50MyBhLCB1aW50MyBi
KSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBi
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50IGRvdCh1aW50
NCBhLCB1aW50NCBiKSB7Ci0gICAgdWludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
M10gKiBiWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQgZG90KGludCBhLCBpbnQgYikg
ewotICAgIHJldHVybiBhICogYjsKLX0KLWludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKLSAgICBp
bnQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
IGRvdChpbnQzIGEsIGludDMgYikgewotICAgIGludCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQgZG90KGludDQgYSwgaW50NCBiKSB7Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsx
XSAqIGJbMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVszXSAqIGJbM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IGRv
dChmbG9hdCBhLCBmbG9hdCBiKSB7Ci0gICAgcmV0dXJuIGEgKiBiOwotfQotZmxvYXQgZG90KGZs
b2F0MiBhLCBmbG9hdDIgYikgewotICAgIGZsb2F0IHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICsgYVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0IGRvdChmbG9hdDMgYSwgZmxvYXQzIGIpIHsK
LSAgICBmbG9hdCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMl0gKiBiWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBkb3QoZmxvYXQ0
IGEsIGZsb2F0NCBiKSB7Ci0gICAgZmxvYXQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1
bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzNdICogYlszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56eHl3PSAqLwotYm9vbDQgb3BlcmF0b3Iuenh5dz0oYm9vbDQgdiwgYm9vbDQg
YykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4eXc9KHVpbnQ0IHYsIHVpbnQ0
IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJl
c3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXc9KGludDQgdiwgaW50NCBj
KSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh5dz0oZmxvYXQ0IHYsIGZsb2F0
NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5
dyAqLwotYm9vbDMgb3BlcmF0b3IueXl3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5dyh1aW50NCB2KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnl3eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnl3eD0oYm9vbDQgdiwgYm9vbDMgYykg
ewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0
LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl3eD0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd4PShpbnQ0
IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnh6eHgoYm9vbDMg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp4eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh6eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh4KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eHgoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci55eHp3PSAqLwotYm9vbDQgb3BlcmF0b3IueXh6dz0oYm9vbDQgdiwgYm9v
bDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4enc9KHVpbnQ0IHYsIHVp
bnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4enc9KGludDQgdiwgaW50
NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJl
c3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6dz0oZmxvYXQ0IHYsIGZs
b2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBj
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd4eiAqLwotYm9vbDMgb3BlcmF0b3Iud3h6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd4eih1aW50NCB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQz
IG9wZXJhdG9yLnd4eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd4eihmbG9hdDQgdikgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnd3enkgKi8KLWJvb2w0IG9wZXJhdG9yLnd3enkoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnd3enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3p5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHd4eiAqLwotYm9vbDQgb3BlcmF0b3IueHd4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci54d3h6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd4
eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eHooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3p6ICovCi1ib29s
NCBvcGVyYXRvci53d3p6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3
enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3p6KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eHggKi8KLWJvb2w0IG9wZXJhdG9yLnp4
eHgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh4eChib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnp4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci56eHh4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHgoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnp4eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBhc2Zsb2F0ICovCi1uYXRpdmUgZmxvYXQgYXNmbG9hdChpbnQpOwotZmxv
YXQyIGFzZmxvYXQoaW50MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhc2Zsb2F0KGludDMgeCkgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zs
b2F0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBhc2Zsb2F0KGludDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNm
bG9hdCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotbmF0aXZlIGZsb2F0IGFzZmxvYXQo
dWludCk7Ci1mbG9hdDIgYXNmbG9hdCh1aW50MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhc2Zsb2F0KHVpbnQzIHgpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgYXNmbG9hdCh1aW50NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKLSAgICBy
ZXN1bHRbM10gPSBhc2Zsb2F0KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBh
c2Zsb2F0KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0MiBhc2Zsb2F0KGZsb2F0
MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDMgYXNmbG9hdChmbG9hdDMgeCkgewotICAg
IHJldHVybiB4OwotfQotZmxvYXQ0IGFzZmxvYXQoZmxvYXQ0IHgpIHsKLSAgICByZXR1cm4geDsK
LX0KLWZsb2F0MngyIGFzZmxvYXQoZmxvYXQyeDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxv
YXQyeDMgYXNmbG9hdChmbG9hdDJ4MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDJ4NCBh
c2Zsb2F0KGZsb2F0Mng0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0M3gyIGFzZmxvYXQo
ZmxvYXQzeDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQzeDMgYXNmbG9hdChmbG9hdDN4
MyB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDN4NCBhc2Zsb2F0KGZsb2F0M3g0IHgpIHsK
LSAgICByZXR1cm4geDsKLX0KLWZsb2F0NHgyIGFzZmxvYXQoZmxvYXQ0eDIgeCkgewotICAgIHJl
dHVybiB4OwotfQotZmxvYXQ0eDMgYXNmbG9hdChmbG9hdDR4MyB4KSB7Ci0gICAgcmV0dXJuIHg7
Ci19Ci1mbG9hdDR4NCBhc2Zsb2F0KGZsb2F0NHg0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5eCAqLwotYm9vbDQgb3BlcmF0b3Iuend5
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3l4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnp3eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBpc25vcm1hbCAqLwotbmF0aXZlIGJvb2wgaXNub3JtYWwoZmxvYXQpOwotCi1ib29s
MiBpc25vcm1hbChmbG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBpc25vcm1hbCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc25vcm1hbCh4WzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgaXNub3JtYWwoZmxvYXQzIHgpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
aXNub3JtYWwoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2w0IGlzbm9ybWFsKGZsb2F0NCB4KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlz
bm9ybWFsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGlzbm9ybWFsKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIEludGVybG9ja2VkRXhjaGFuZ2UgKi8KLW5hdGl2ZSB2b2lkIEludGVybG9j
a2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhj
aGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lk
IEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3Jv
dXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGlu
dCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRn
cm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3Vp
bnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4ICovCi1ib29sMyBvcGVyYXRvci54engo
Ym9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDMgb3BlcmF0b3IueHp4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh6eCh1aW50MyB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci54engodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54engoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHp4KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueHp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eChmbG9hdDQgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIEdldERpbWVuc2lvbnMgKi8KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4s
IHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJl
YWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQy
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1
aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRl
dmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQy
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBkZXZp
Y2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgZGV2
aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGlu
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsK
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50
KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCBk
ZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxm
bG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4s
IGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0
aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQot
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXcgKi8KLWJvb2w0
IG9wZXJhdG9yLnh3eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd5
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3l3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IrICovCi1uYXRpdmUgaW50IG9wZXJhdG9yKyhp
bnQsIGludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcisodWludCwgdWludCk7Ci1uYXRpdmUgZmxv
YXQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQy
LCB1aW50Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSB1
aW50MiBvcGVyYXRvcisodWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50
MywgdWludDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50LCB1aW50Myk7Ci1uYXRpdmUg
dWludDMgb3BlcmF0b3IrKHVpbnQzLCB1aW50KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWlu
dDQsIHVpbnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludCwgdWludDQpOwotbmF0aXZl
IHVpbnQ0IG9wZXJhdG9yKyh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50
MiwgaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50LCBpbnQyKTsKLW5hdGl2ZSBpbnQy
IG9wZXJhdG9yKyhpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludDMp
OwotbmF0aXZlIGludDMgb3BlcmF0b3IrKGludCwgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRv
cisoaW50MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQ0KTsKLW5hdGl2
ZSBpbnQ0IG9wZXJhdG9yKyhpbnQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IrKGludDQs
IGludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUg
ZmxvYXQyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3Ir
KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdDMp
OwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQz
IG9wZXJhdG9yKyhmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0
NCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDQpOwotbmF0
aXZlIGZsb2F0NCBvcGVyYXRvcisoZmxvYXQ0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3Bl
cmF0b3IrKGZsb2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZs
b2F0LCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBmbG9h
dCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRp
dmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZs
b2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9h
dDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQz
eDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Ir
KGZsb2F0M3gyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBm
bG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Myk7Ci1u
YXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQz
eDQgb3BlcmF0b3IrKGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0
b3IrKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdDR4Mik7
Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0
b3IrKGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0
LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzLCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUg
ZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3IrKGZsb2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyKTsK
LW5hdGl2ZSB1aW50MyBvcGVyYXRvcisodWludDMpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1
aW50NCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRv
cisoaW50Myk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvcisoaW50NCk7Ci1uYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yKyhmbG9hdDIpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzKTsKLW5hdGl2
ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZs
b2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMpOwotbmF0aXZlIGZs
b2F0Mng0IG9wZXJhdG9yKyhmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZs
b2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvcisoZmxvYXQzeDMpOwotbmF0aXZlIGZs
b2F0M3g0IG9wZXJhdG9yKyhmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZs
b2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQ0eDMpOwotbmF0aXZlIGZs
b2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56eHggKi8KLWJvb2wzIG9wZXJhdG9yLnp4eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56eHgoYm9vbDQg
dikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDMgb3BlcmF0b3Iuenh4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4
eChpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci56eHgoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eHgoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3Iuenh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh5eCAqLwotYm9v
bDQgb3BlcmF0b3IueHh5eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54
eHl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eCh1aW50MiB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eHl4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnh4eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHl4KGludDIg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXgoaW50MyB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHh5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnh4eXgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh5eChmbG9h
dDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp6dyAqLwotYm9vbDQg
b3BlcmF0b3IueHp6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp3
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp6dyhpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXd6PSAqLwotYm9vbDQgb3BlcmF0b3IueHl3
ej0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAg
cmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5
d3o9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
d3o9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
c3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3
ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0g
ICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd4eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd4eHcoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd4eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53
eHh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p5eCAqLwotYm9vbDQgb3BlcmF0b3Iud3p5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
d3p5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eXgoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBmcmFjICovCi1mbG9hdCBmcmFj
KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geCAtIGZsb29yKHgpOwotfQotZmxvYXQyIGZyYWMoZmxv
YXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIGZyYWMoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGZyYWMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBmcmFjKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZnJhYyhmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7Ci0g
ICAgcmVzdWx0WzNdID0gZnJhYyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgZnJhYyhmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZy
YWMoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZyYWMoZmxvYXQy
eDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZnJh
Yyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZnJhYyhmbG9hdDJ4
NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIg
ZnJhYyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBm
cmFjKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZy
YWMoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGZyYWMoZmxvYXQz
eDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJh
Yyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGZyYWMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGZyYWMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZnJhYyhmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0
eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZnJhYyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOwotICAgIHJl
c3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7
Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBm
cmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAg
IHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDR4NCBmcmFjKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGZyYWMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBmcmFjKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9
IGZyYWMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZnJhYyh4WzNdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgc3RvcmUgKi8KLW5hdGl2ZSB2
b2lkIHN0b3JlKGRldmljZSBhdG9taWNfaW50KiwgaW50KTsKLW5hdGl2ZSB2b2lkIHN0b3JlKGRl
dmljZSBhdG9taWNfdWludCosIHVpbnQpOwotbmF0aXZlIHZvaWQgc3RvcmUodGhyZWFkZ3JvdXAg
YXRvbWljX2ludCosIGludCk7Ci1uYXRpdmUgdm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNf
dWludCosIHVpbnQpOwotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3cgKi8KLWJv
b2wzIG9wZXJhdG9yLnp3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56d3codWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56
d3coaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBvcGVyYXRvci56d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55enp6ICovCi1ib29sNCBvcGVyYXRvci55enp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnl6enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXp6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci55enp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eXp6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgcmVmcmFjdCAqLwotZmxv
YXQgcmVmcmFjdChmbG9hdCBpLCBmbG9hdCBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdCByZXN1
bHQ7Ci0gICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChu
LCBpKSk7Ci0gICAgaWYgKGsgPCAwKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVy
biBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykpICogbjsKLX0KLWZsb2F0MiBy
ZWZyYWN0KGZsb2F0MiBpLCBmbG9hdDIgbiwgZmxvYXQgZXRhKSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4s
IGkpKTsKLSAgICBpZiAoayA8IDApCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgcmV0dXJu
IGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBuOwotfQotZmxvYXQzIHJl
ZnJhY3QoZmxvYXQzIGksIGZsb2F0MyBuLCBmbG9hdCBldGEpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3Qobiwg
aSkpOwotICAgIGlmIChrIDwgMCkKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICByZXR1cm4g
ZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGspKSAqIG47Ci19Ci1mbG9hdDQgcmVm
cmFjdChmbG9hdDQgaSwgZmxvYXQ0IG4sIGZsb2F0IGV0YSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBp
KSk7Ci0gICAgaWYgKGsgPCAwKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHJldHVybiBl
dGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykpICogbjsKLX0KLQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5dyAqLwotYm9vbDQgb3BlcmF0b3Iuenh5dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl3KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3Iuenh5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnp4eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci53encgKi8KLWJvb2wzIG9wZXJhdG9yLnd6dyhib29sNCB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53enco
dWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci53encoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53encoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56d3p6ICovCi1ib29sNCBvcGVyYXRvci56d3p6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56d3p6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuend6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGxv
ZzEwICovCi1mbG9hdCBsb2cxMChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGxvZyh4KSAvIGxvZyhm
bG9hdCgxMCkpOwotfQotZmxvYXQyIGxvZzEwKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cxMCh4
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGxvZzEwKGZsb2F0MyB4KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBsb2cxMCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGxvZzEwKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsb2cx
MCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBs
b2cxMCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbG9nMTAoZmxvYXQy
eDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbG9nMTAoZmxvYXQyeDMgeCkgewot
ICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4
WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbG9nMTAoZmxvYXQyeDQg
eCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBs
b2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzeDIgbG9nMTAoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDMgbG9nMTAoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cx
MCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cx
MCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDIgbG9nMTAoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBs
b2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbG9nMTAoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0
NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBs
b2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBsb2cxMCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBsb2cxMCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBsb2cx
MCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IvICovCi1uYXRpdmUgaW50IG9wZXJhdG9yLyhpbnQsIGludCk7Ci1uYXRpdmUgdWlu
dCBvcGVyYXRvci8odWludCwgdWludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBm
bG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvci8odWludCwg
dWludDIpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50MywgdWludDMpOwotbmF0aXZlIHVp
bnQzIG9wZXJhdG9yLyh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IvKHVpbnQs
IHVpbnQzKTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSB1
aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLyh1aW50
LCB1aW50NCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci8oaW50MiwgaW50Mik7Ci1uYXRpdmUgaW50
MiBvcGVyYXRvci8oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLyhpbnQsIGludDIp
OwotbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMsIGludDMpOwotbmF0aXZlIGludDMgb3BlcmF0
b3IvKGludDMsIGludCk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvci8oaW50LCBpbnQzKTsKLW5hdGl2
ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0
LCBpbnQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IvKGludCwgaW50NCk7Ci1uYXRpdmUgZmxvYXQy
IG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9h
dDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDIpOwotbmF0
aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0MyBvcGVy
YXRvci8oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLyhmbG9hdCwgZmxv
YXQzKTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQ0KTsKLW5hdGl2ZSBm
bG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci8o
ZmxvYXQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9h
dDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdCk7Ci1uYXRp
dmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMg
b3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3Iv
KGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9h
dDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1u
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3Iv
KGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gy
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Mik7Ci1u
YXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxv
YXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0
b3IvKGZsb2F0LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0
LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdCk7
Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IvKGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDIgb3Bl
cmF0b3IvKGZsb2F0NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0
LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdDR4
Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdCk7Ci1uYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3Bl
cmF0b3IvKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZs
b2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4
NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3p4ICovCi1ib29sNCBvcGVyYXRv
ci54d3p4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3engodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p4KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueHd6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3coYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh3dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56eHd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iud3l6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l6eChib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iud3l6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5engoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eSAq
LwotYm9vbDIgb3BlcmF0b3Iud3koYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDIgb3BlcmF0b3Iud3kodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MiBvcGVyYXRvci53eShpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG9wZXJhdG9yLnd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p5eiAqLwotYm9vbDQgb3BlcmF0b3Iu
d3p5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnd6eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBkZHlfZmluZSAqLwotZmxvYXQgZGR5X2ZpbmUoZmxvYXQgeCkgewotICAgIHJl
dHVybiBkZHkoeCk7Ci19Ci1mbG9hdDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGRkeV9maW5lKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR5X2ZpbmUo
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5l
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGRkeV9maW5lKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZGR5X2ZpbmUo
ZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9maW5l
KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGRkeV9maW5lKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeV9maW5lKHhbM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7Ci0gICAgZmxv
YXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7Ci0g
ICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4
NCBkZHlfZmluZShmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9m
aW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eV9maW5lKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBkZHlfZmlu
ZShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4MyBkZHlfZmluZShmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5l
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9m
aW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRk
eV9maW5lKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBkZHlfZmlu
ZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhb
MV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5l
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhb
MF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5l
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9m
aW5lKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRk
eV9maW5lKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBkZHlfZmlu
ZShmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGRkeV9maW5lKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeV9maW5lKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhb
MV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5l
KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOwotICAgIHJl
c3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9m
aW5lKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOwotICAg
IHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXp4ICovCi1ib29sNCBvcGVyYXRvci54
eXp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl6eCh1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHl6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl6eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l4PSAqLwotYm9vbDQgb3BlcmF0b3Iud3l4PShib29s
NCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l4PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci53eXg9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l4PShmbG9hdDQgdiwgZmxv
YXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p5eSAqLwotYm9vbDQgb3BlcmF0
b3Iud3p5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enl5KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p5eShpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd6eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3ogKi8KLWJvb2wzIG9wZXJhdG9yLnl3eihib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci55d3oodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55d3ooaW50NCB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55d3oo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhbnkgKi8KLWJvb2wgYW55KGJvb2wgeCkgewotICAg
IHJldHVybiB4OwotfQotYm9vbCBhbnkoYm9vbDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShib29sMyB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0pOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDQgeCkgewotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkodWludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYW55KHVpbnQy
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KHVpbnQzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDAp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueSh1aW50NCB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0K
LWJvb2wgYW55KGludDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAh
PSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoaW50MyB4KSB7Ci0gICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoaW50NCB4KSB7
Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0g
MCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0IHgpIHsKLSAgICByZXR1
cm4geCAhPSAwOwotfQotYm9vbCBhbnkoZmxvYXQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZs
b2F0MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkoZmxvYXQ0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnko
ZmxvYXQyeDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
IGFueShmbG9hdDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQyeDQgeCkgewotICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQzeDIgeCkgewotICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZs
b2F0M3gzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShmbG9hdDN4NCB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbCBhbnkoZmxvYXQ0eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbCBhbnkoZmxvYXQ0eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM11bMl0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NHg0
IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1b
M10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbM11bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAhPSAwKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9v
bDJ4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDJ4NCB4KSB7Ci0gICAg
Ym9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDN4MiB4KSB7Ci0gICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbCBhbnkoYm9vbDN4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDN4NCB4KSB7
Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnko
Ym9vbDR4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoYm9vbDR4
MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsy
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bCBhbnkoYm9vbDR4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsw
XVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsz
XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK
KworCisKKworCisKKworCisKKworCisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCBkZXZp
Y2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCitu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKwor
CisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQy
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisK
KworCisKKworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGlu
dDM+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
CisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Piwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
CisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwg
dGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQy
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAK
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHd3ICovCi1ib29sNCBvcGVyYXRvci55eHd3
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4d3codWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXh3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp5PSAqLwotYm9vbDMgb3BlcmF0b3Iuenk9KGJvb2wzIHYsIGJvb2wyIGMpIHsKLSAg
ICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0g
Yy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eT0oYm9vbDQgdiwg
Ym9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9y
Lnp5PSh1aW50MyB2LCB1aW50MiBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3Iuenk9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5PShpbnQzIHYsIGludDIgYykgewotICAgIGlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eT0oaW50NCB2LCBpbnQyIGMp
IHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0
LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eT0oZmxv
YXQzIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnog
PSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56eT0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eiAqLwotYm9vbDMg
b3BlcmF0b3Iud3l6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd5eih1aW50NCB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5eihp
bnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzIG9wZXJhdG9yLnd5eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4
dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnl4dz0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl4dz0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3PShpbnQ0IHYsIGludDMgYykg
ewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQu
eCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl4dz0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd5eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd5eHooYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iud3l4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnd5eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh6KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2NvYXJzZSAq
LwotZmxvYXQgZGR5X2NvYXJzZShmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGRkeSh4KTsKLX0KLWZs
b2F0MiBkZHlfY29hcnNlKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBkZHlfY29hcnNlKGZsb2F0MyB4KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5X2Nv
YXJzZSh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRkeV9jb2Fyc2UoZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeV9jb2Fyc2Uo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBkZHlfY29hcnNlKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGRkeV9jb2Fyc2UoeFszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgewot
ICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHlfY29hcnNl
KGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGRkeV9jb2Fyc2UoZmxvYXQyeDQgeCkgewot
ICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfY29h
cnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsx
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGRkeV9jb2Fyc2UoZmxvYXQz
eDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4KSB7Ci0gICAgZmxv
YXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9j
b2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDN4NCBkZHlfY29hcnNlKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9j
b2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5
X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeV9jb2Fyc2UoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgyIGRkeV9jb2Fyc2UoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5
X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNl
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGRkeV9jb2Fyc2UoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNl
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fy
c2UoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGR5X2NvYXJzZShmbG9hdDR4NCB4KSB7Ci0g
ICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fy
c2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFd
WzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHlfY29hcnNlKHhb
M11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGRkeV9jb2Fyc2UoeFszXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5enogKi8KLWJv
b2w0IG9wZXJhdG9yLnh5enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iu
eHl6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp6KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enoodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eXp6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh5enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp6KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5enooZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIGRldmljZSB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IrKyAqLwotdWludCBvcGVyYXRvcisrKHVpbnQgdmFsdWUpIHsKLSAg
ICByZXR1cm4gdmFsdWUgKyAxOwotfQotaW50IG9wZXJhdG9yKysoaW50IHZhbHVlKSB7Ci0gICAg
cmV0dXJuIHZhbHVlICsgMTsKLX0KLWZsb2F0IG9wZXJhdG9yKysoZmxvYXQgdmFsdWUpIHsKLSAg
ICByZXR1cm4gdmFsdWUgKyAxOwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRB
bmQgKi8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRv
bWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQo
ZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRn
cm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2lu
dCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50
Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCos
IHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRn
cm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxv
Y2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5kKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBp
bnQsIHRocmVhZGdyb3VwIGludCopOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6
eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnd5eng9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29s
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55Owot
ICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXp4PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci53eXp4PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAg
ICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5eng9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZs
b2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHd4ICovCi1ib29sNCBv
cGVyYXRvci54eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHd4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3go
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54d3d4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IuenkgKi8KLWJvb2wyIG9wZXJhdG9yLnp5KGJvb2wzIHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJhdG9yLnp5KGJvb2w0IHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQzIHYpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnp5KHVpbnQ0IHYpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuenkoaW50MyB2KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IuenkoaW50NCB2KSB7Ci0gICAgaW50MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eShmbG9hdDMgdikgewotICAgIGZsb2F0
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci56eShmbG9hdDQgdikgewotICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCBkZXZpY2Ug
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXcgKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl5
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5eXcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd6eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnh3enk9KGJvb2w0IHYsIGJvb2w0IGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3p5PSh1aW50NCB2LCB1aW50NCBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
dyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3p5PShpbnQ0IHYsIGludDQgYykgewot
ICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3enk9KGZsb2F0NCB2LCBmbG9hdDQgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcn4gKi8KLWJvb2wgb3Bl
cmF0b3J+KGJvb2wgdmFsdWUpIHsKLSAgICByZXR1cm4gIXZhbHVlOwotfQotbmF0aXZlIGludCBv
cGVyYXRvcn4oaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yfih1aW50KTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVk
IGRkeCAqLwotbmF0aXZlIGZsb2F0IGRkeChmbG9hdCk7Ci1mbG9hdDIgZGR4KGZsb2F0MiB4KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gZGR4KHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR4KGZs
b2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRkeChmbG9hdDQgeCkgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRk
eCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZGR4
KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRk
eCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngzIGRkeChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBkZHgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBk
ZHgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGRkeChmbG9hdDN4
NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZGR4KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10g
PSBkZHgoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJl
c3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4MyBkZHgoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHgo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGRkeCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZGR4KGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRk
eCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gZGR4KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICByZXN1bHRb
M11bMl0gPSBkZHgoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZGR4KHhbM11bM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enl4ICovCi1ib29sNCBvcGVyYXRvci56enl4KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6eXgoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iuenp5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56enl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5eChp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl4KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56enl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd6eiAqLwotYm9vbDQgb3BlcmF0b3IueHd6eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54d3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHd6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3enooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXd4ICov
Ci1ib29sNCBvcGVyYXRvci53eXd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd5d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXd4KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l3eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkTWF4ICovCi1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCop
OwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfdWlu
dCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZp
Y2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRNYXgoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdy
b3VwIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgo
dGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3Jv
dXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE1heCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBp
bnQqKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvc2ggKi8KLW5hdGl2ZSBmbG9hdCBjb3NoKGZs
b2F0KTsKLWZsb2F0MiBjb3NoKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBjb3NoKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNvc2go
eFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGNvc2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY29zaCh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBjb3NoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGNvc2goeFszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGNvc2goZmxvYXQyeDIgeCkgewotICAgIGZsb2F0Mngy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDJ4MyBjb3NoKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSBjb3NoKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3gyIGNvc2goZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2go
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDMgY29zaChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gY29zaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29z
aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGNvc2goeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGNvc2goZmxv
YXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3No
KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
Y29zaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHgzIGNvc2goZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBj
b3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gY29zaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY29zaCh4
WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY29zaChmbG9hdDR4NCB4
KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBjb3NoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gY29zaCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY29z
aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwotICAgIHJlc3Vs
dFszXVswXSA9IGNvc2goeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY29zaCh4WzNdWzFd
KTsKLSAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IGNvc2goeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5h
bWVkIGRkeF9jb2Fyc2UgKi8KLWZsb2F0IGRkeF9jb2Fyc2UoZmxvYXQgeCkgewotICAgIHJldHVy
biBkZHgoeCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
KworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
Q3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJl
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcisgKi8KK25h
dGl2ZSBpbnQgb3BlcmF0b3IrKGludCwgaW50KTsKK25hdGl2ZSB1aW50IG9wZXJhdG9yKyh1aW50
LCB1aW50KTsKK25hdGl2ZSBmbG9hdCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSB1
aW50MiBvcGVyYXRvcisodWludDIsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvcisodWlu
dCwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKyh1aW50MiwgdWludCk7CituYXRpdmUg
dWludDMgb3BlcmF0b3IrKHVpbnQzLCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3IrKHVp
bnQsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvcisodWludDMsIHVpbnQpOworbmF0aXZl
IHVpbnQ0IG9wZXJhdG9yKyh1aW50NCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1
aW50LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3IrKHVpbnQ0LCB1aW50KTsKK25hdGl2
ZSBpbnQyIG9wZXJhdG9yKyhpbnQyLCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQs
IGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3IrKGludDIsIGludCk7CituYXRpdmUgaW50MyBv
cGVyYXRvcisoaW50MywgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvcisoaW50LCBpbnQzKTsK
K25hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQzLCBpbnQpOworbmF0aXZlIGludDQgb3BlcmF0b3Ir
KGludDQsIGludDQpOworbmF0aXZlIGludDQgb3BlcmF0b3IrKGludCwgaW50NCk7CituYXRpdmUg
aW50NCBvcGVyYXRvcisoaW50NCwgaW50KTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0
MiwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDIpOworbmF0
aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQzIG9wZXJh
dG9yKyhmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yKyhmbG9hdCwgZmxv
YXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IrKGZsb2F0MywgZmxvYXQpOworbmF0aXZlIGZs
b2F0NCBvcGVyYXRvcisoZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvciso
ZmxvYXQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQsIGZsb2F0KTsK
K25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBm
bG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVy
YXRvcisoZmxvYXQyeDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQz
eDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0M3gy
KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcisoZmxvYXQzeDIsIGZsb2F0KTsKK25hdGl2ZSBm
bG9hdDR4MiBvcGVyYXRvcisoZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4MiBv
cGVyYXRvcisoZmxvYXQsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvcisoZmxv
YXQ0eDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMsIGZsb2F0
MngzKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0MngzKTsKK25hdGl2
ZSBmbG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBv
cGVyYXRvcisoZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvciso
ZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRvcisoZmxvYXQzeDMsIGZs
b2F0KTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25h
dGl2ZSBmbG9hdDR4MyBvcGVyYXRvcisoZmxvYXQsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4
MyBvcGVyYXRvcisoZmxvYXQ0eDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciso
ZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQsIGZs
b2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQsIGZsb2F0KTsKK25h
dGl2ZSBmbG9hdDN4NCBvcGVyYXRvcisoZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9h
dDN4NCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRv
cisoZmxvYXQzeDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQs
IGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQsIGZsb2F0NHg0KTsK
K25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQsIGZsb2F0KTsKK25hdGl2ZSB1aW50
MiBvcGVyYXRvcisodWludDIpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50Myk7CituYXRp
dmUgdWludDQgb3BlcmF0b3IrKHVpbnQ0KTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQyKTsK
K25hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQzKTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0
KTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0Mik7CituYXRpdmUgZmxvYXQzIG9wZXJh
dG9yKyhmbG9hdDMpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvcisoZmxvYXQ0KTsKK25hdGl2ZSBm
bG9hdDJ4MiBvcGVyYXRvcisoZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhm
bG9hdDN4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyKTsKK25hdGl2ZSBm
bG9hdDJ4MyBvcGVyYXRvcisoZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKyhm
bG9hdDN4Myk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzKTsKK25hdGl2ZSBm
bG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhm
bG9hdDN4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0KTsKKworLyogRnVu
Y3Rpb25zIG5hbWVkIGZyYWMgKi8KK2Zsb2F0IGZyYWMoZmxvYXQgeCkgeworICAgIHJldHVybiB4
IC0gZmxvb3IoeCk7CiB9Ci1mbG9hdDIgZGR4X2NvYXJzZShmbG9hdDIgeCkgeworZmxvYXQyIGZy
YWMoZmxvYXQyIHgpIHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeF9j
b2Fyc2UoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1
bHRbMF0gPSBmcmFjKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBkZHhfY29hcnNlKGZsb2F0MyB4KSB7CitmbG9hdDMgZnJh
YyhmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR4X2Nv
YXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBkZHhfY29hcnNlKGZsb2F0NCB4KSB7CitmbG9h
dDQgZnJhYyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
ZGR4X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZGR4X2NvYXJz
ZSh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZy
YWMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZnJhYyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBm
cmFjKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBkZHhfY29hcnNlKGZs
b2F0MngyIHgpIHsKK2Zsb2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewogICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2Nv
YXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHhfY29hcnNlKGZsb2F0MngzIHgpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2Nv
YXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzBd
ID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4
WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgZGR4X2NvYXJzZShmbG9h
dDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9j
b2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4
X2NvYXJzZSh4WzFdWzNdKTsKK2Zsb2F0M3gyIGZyYWMoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0
M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZGR4X2NvYXJzZShmbG9hdDN4MiB4KSB7Ci0gICAg
ZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2Uo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworZmxvYXQ0eDIgZnJhYyhmbG9hdDR4
MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMg
ZGR4X2NvYXJzZShmbG9hdDN4MyB4KSB7CitmbG9hdDJ4MyBmcmFjKGZsb2F0MngzIHgpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGZyYWMoZmxvYXQzeDMgeCkgewogICAg
IGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNl
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgZGR4X2Nv
YXJzZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4
X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNl
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBk
ZHhfY29hcnNlKHhbMl1bM10pOworZmxvYXQ0eDMgZnJhYyhmbG9hdDR4MyB4KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2Uo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOworZmxvYXQyeDQgZnJh
YyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhf
Y29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2Uo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOworZmxvYXQzeDQgZnJhYyhmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFj
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCBkZHhfY29hcnNlKGZsb2F0NHg0IHgpIHsKK2Zsb2F0
NHg0IGZyYWMoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2Nv
YXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhb
M11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHhf
Y29hcnNlKHhbM11bM10pOworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZnJh
Yyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZyYWMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGZyYWMoeFsz
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnd4ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnd4ej0oYm9vbDQgdiwgYm9vbDMgYykgewotICAg
IGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnd4ej0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h6PShpbnQ0IHYsIGlu
dDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd4ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0aW9ucyBu
YW1lZCBzdG9yZSAqLworbmF0aXZlIHZvaWQgc3RvcmUoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQp
OworbmF0aXZlIHZvaWQgc3RvcmUoZGV2aWNlIGF0b21pY191aW50KiwgdWludCk7CituYXRpdmUg
dm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50KTsKK25hdGl2ZSB2b2lkIHN0
b3JlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBmaXJzdGJpdGhpZ2ggKi8KLXVpbnQgZmlyc3RiaXRoaWdoKHVpbnQgeCkgewotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzMSkpICE9IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAzMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyOSkpICE9IDApCi0gICAgICAgIHJldHVybiAyOwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyOCkpICE9IDApCi0gICAgICAgIHJldHVybiAzOwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyNykpICE9IDApCi0gICAgICAgIHJldHVybiA0OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAy
NikpICE9IDApCi0gICAgICAgIHJldHVybiA1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNSkp
ICE9IDApCi0gICAgICAgIHJldHVybiA2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9
IDApCi0gICAgICAgIHJldHVybiA3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDAp
Ci0gICAgICAgIHJldHVybiA4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCi0g
ICAgICAgIHJldHVybiA5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMSkpICE9IDApCi0gICAg
ICAgIHJldHVybiAxMDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQotICAgICAg
ICByZXR1cm4gMTE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKLSAgICAgICAg
cmV0dXJuIDEyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOCkpICE9IDApCi0gICAgICAgIHJl
dHVybiAxMzsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMTQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJu
IDE1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNSkpICE9IDApCi0gICAgICAgIHJldHVybiAx
NjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTc7
Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDE4Owot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMikpICE9IDApCi0gICAgICAgIHJldHVybiAxOTsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjA7Ci0gICAg
aWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIxOwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCA5KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIyOwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCA4KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIzOwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA3KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI0OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI1OwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCA1KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCA0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAz
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI4OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyKSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDI5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0g
MCkKLSAgICAgICAgcmV0dXJuIDMwOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDMxOwotICAgIHJldHVybiAzMjsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBy
ZWZyYWN0ICovCitmbG9hdCByZWZyYWN0KGZsb2F0IGksIGZsb2F0IG4sIGZsb2F0IGV0YSkgewor
ICAgIGZsb2F0IHJlc3VsdDsKKyAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90
KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAoayA8IDApCisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBu
OwogfQotdWludCBmaXJzdGJpdGhpZ2goaW50IHgpIHsKLSAgICByZXR1cm4gZmlyc3RiaXRoaWdo
KHVpbnQoeCkpOworZmxvYXQyIHJlZnJhY3QoZmxvYXQyIGksIGZsb2F0MiBuLCBmbG9hdCBldGEp
IHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEg
LSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGsp
KSAqIG47CiB9Ci11aW50MiBmaXJzdGJpdGhpZ2godWludDIgeCkgewotICAgIHVpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOworZmxvYXQzIHJlZnJhY3QoZmxvYXQzIGksIGZsb2F0MyBuLCBm
bG9hdCBldGEpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0gZXRhICog
ZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkg
KyBzcXJ0KGspKSAqIG47Cit9CitmbG9hdDQgcmVmcmFjdChmbG9hdDQgaSwgZmxvYXQ0IG4sIGZs
b2F0IGV0YSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEgLSBldGEgKiBl
dGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAwKQorICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSAr
IHNxcnQoaykpICogbjsKK30KKworLyogRnVuY3Rpb25zIG5hbWVkIGxvZzEwICovCitmbG9hdCBs
b2cxMChmbG9hdCB4KSB7CisgICAgcmV0dXJuIGxvZyh4KSAvIGxvZyhmbG9hdCgxMCkpOworfQor
ZmxvYXQyIGxvZzEwKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBsb2cxMCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDMgZmlyc3RiaXRoaWdoKHVpbnQzIHgpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsy
XSk7CitmbG9hdDMgbG9nMTAoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzEwKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGxvZzEwKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBm
aXJzdGJpdGhpZ2godWludDQgeCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBm
aXJzdGJpdGhpZ2goeFszXSk7CitmbG9hdDQgbG9nMTAoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxv
ZzEwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzEwKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGxvZzEwKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBmaXJzdGJpdGhpZ2go
aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGln
aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CitmbG9hdDJ4MiBs
b2cxMChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxv
ZzEwKHhbMV1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBmaXJzdGJpdGhpZ2go
aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGln
aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0pOworZmxvYXQzeDIgbG9nMTAoZmxvYXQzeDIgeCkgewor
ICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4
WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRoaWdoKGludDQg
eCkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGZpcnN0Yml0aGlnaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBmaXJzdGJpdGhpZ2goeFszXSk7
CitmbG9hdDR4MiBsb2cxMChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEw
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBsb2cxMChmbG9hdDJ4MyB4KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBsb2cxMChmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEw
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBsb2cxMChmbG9hdDR4MyB4KSB7
CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEw
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhbM11bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBsb2cxMChmbG9hdDJ4NCB4KSB7CisgICAg
ZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBsb2cx
MChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEw
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxv
ZzEwKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBsb2cxMChmbG9h
dDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEw
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxv
ZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzEwKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVszXSA9IGxvZzEwKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enp5ICovCi1ib29sNCBvcGVyYXRv
ci54enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IvICovCituYXRpdmUgaW50IG9wZXJh
dG9yLyhpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRvci8odWludCwgdWludCk7CituYXRp
dmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdCk7CituYXRpdmUgdWludDIgb3BlcmF0b3Iv
KHVpbnQyLCB1aW50Mik7CituYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQyLCB1aW50KTsKK25h
dGl2ZSB1aW50MiBvcGVyYXRvci8odWludCwgdWludDIpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9y
Lyh1aW50MywgdWludDMpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50MywgdWludCk7Citu
YXRpdmUgdWludDMgb3BlcmF0b3IvKHVpbnQsIHVpbnQzKTsKK25hdGl2ZSB1aW50NCBvcGVyYXRv
ci8odWludDQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludDQsIHVpbnQpOwor
bmF0aXZlIHVpbnQ0IG9wZXJhdG9yLyh1aW50LCB1aW50NCk7CituYXRpdmUgaW50MiBvcGVyYXRv
ci8oaW50MiwgaW50Mik7CituYXRpdmUgaW50MiBvcGVyYXRvci8oaW50MiwgaW50KTsKK25hdGl2
ZSBpbnQyIG9wZXJhdG9yLyhpbnQsIGludDIpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMs
IGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludDMsIGludCk7CituYXRpdmUgaW50MyBv
cGVyYXRvci8oaW50LCBpbnQzKTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQ0KTsK
K25hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQ0LCBpbnQpOworbmF0aXZlIGludDQgb3BlcmF0b3Iv
KGludCwgaW50NCk7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0Mik7Citu
YXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDIgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBm
bG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQzLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3Iv
KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0NCwgZmxvYXQp
OworbmF0aXZlIGZsb2F0NCBvcGVyYXRvci8oZmxvYXQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQy
eDIgb3BlcmF0b3IvKGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0
b3IvKGZsb2F0MngyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0LCBm
bG9hdDJ4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdDN4Mik7
CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyLCBmbG9hdCk7CituYXRpdmUgZmxv
YXQzeDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0
b3IvKGZsb2F0NHgyLCBmbG9hdDR4Mik7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0
NHgyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4Mik7
CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUg
ZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDMgb3Bl
cmF0b3IvKGZsb2F0LCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0
M3gzLCBmbG9hdDN4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0M3gzLCBmbG9h
dCk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDN4Myk7CituYXRpdmUg
ZmxvYXQ0eDMgb3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQ0eDMg
b3BlcmF0b3IvKGZsb2F0NHgzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IvKGZs
b2F0LCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9h
dDJ4NCk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0LCBmbG9hdCk7CituYXRp
dmUgZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQzeDQg
b3BlcmF0b3IvKGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3Iv
KGZsb2F0M3g0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9h
dDN4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9hdDR4NCk7Citu
YXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0NHg0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0
eDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBkZHlf
ZmluZSAqLworZmxvYXQgZGR5X2ZpbmUoZmxvYXQgeCkgeworICAgIHJldHVybiBkZHkoeCk7Cit9
CitmbG9hdDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci54enp5KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMgZGR5
X2ZpbmUoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRk
eV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGRkeV9maW5lKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci54enp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDQgZGR5X2ZpbmUoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9m
aW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeV9maW5lKHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGRkeV9maW5lKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci54enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CitmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6enkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MiBkZHlfZmluZShmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5l
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9m
aW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnh6enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp6eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBkZHlfZmluZShmbG9h
dDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRk
eV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBkZHlfZmluZShmbG9hdDN4MyB4
KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5l
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9m
aW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3p4ICovCi1ib29sNCBvcGVyYXRvci56
d3p4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7CitmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5l
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9m
aW5lKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3p4
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4NCBkZHlfZmluZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGRkeV9maW5lKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnp3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4NCBkZHlfZmluZShmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5l
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9m
aW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRk
eV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGRkeV9maW5lKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iuend6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDR4NCBkZHlfZmluZShmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5l
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9m
aW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9
IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9maW5lKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGRkeV9maW5lKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGRkeV9maW5lKHhbM11b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eXp3ICovCi1ib29sNCBvcGVyYXRvci55eXp3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBhbnkgKi8KK2Jvb2wgYW55KGJvb2wgeCkgeworICAgIHJldHVybiB4Owog
fQotdWludDQgb3BlcmF0b3IueXl6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkoYm9vbDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl5encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Citib29sIGFueShib29sMyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnl5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkoYm9vbDQgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4dyAqLwotYm9vbDQgb3BlcmF0b3IueHd4dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Citib29sIGFueSh1aW50IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOwog
fQotdWludDQgb3BlcmF0b3IueHd4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkodWludDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci54d3h3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OworYm9vbCBhbnkodWludDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54d3h3KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55
KHVpbnQ0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgcmNwICovCi1mbG9hdCByY3AoZmxvYXQgeCkgewotICAgIHJldHVybiAxIC8geDsKK2Jvb2wg
YW55KGludCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLWZsb2F0MiByY3AoZmxvYXQyIHgp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSByY3AoeFsxXSk7Citib29sIGFueShpbnQyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MyByY3AoZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJj
cCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSByY3AoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcmNw
KHhbMl0pOworYm9vbCBhbnkoaW50MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHJjcChmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHJjcCh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSByY3AoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcmNwKHhbM10p
OworYm9vbCBhbnkoaW50NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mngy
IHJjcChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFd
WzFdKTsKK2Jvb2wgYW55KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBh
bnkoZmxvYXQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIHJjcChmbG9hdDJ4MyB4KSB7Ci0gICAg
ZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworYm9vbCBh
bnkoZmxvYXQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1b
M10gPSByY3AoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworYm9vbCBhbnkoZmxvYXQ0
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgcmNwKGZsb2F0M3gyIHgp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBy
Y3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7
Citib29sIGFueShmbG9hdDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0M3gzIHJjcChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3Ao
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gcmNwKHhbMl1bMl0pOworYm9vbCBhbnkoZmxvYXQzeDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0
IHJjcChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOworYm9vbCBh
bnkoZmxvYXQ0eDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVsxXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgcmNw
KGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBy
Y3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKK2Jvb2wgYW55KGZsb2F0MngzIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDR4MyByY3AoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3Ao
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4
WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gcmNwKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKK2Jv
b2wgYW55KGZsb2F0M3gzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJd
ICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4NCByY3AoZmxvYXQ0eDQgeCkg
ewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNw
KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSByY3AoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOwotICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7Citi
b29sIGFueShmbG9hdDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsy
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFszXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3h6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eChib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworYm9vbCBhbnkoZmxvYXQy
eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XVszXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3h6eCh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owor
Ym9vbCBhbnkoZmxvYXQzeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3h6
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
K2Jvb2wgYW55KGZsb2F0NHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzNdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVszXSAh
PSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4engoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworYm9v
bCBhbnkoYm9vbDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p5ICovCi1ib29sMyBvcGVyYXRvci53enkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKK2Jvb2wgYW55KGJvb2wzeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQz
IG9wZXJhdG9yLnd6eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OworYm9vbCBh
bnkoYm9vbDR4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRv
ci53enkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Citib29sIGFueShib29sMngz
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iud3p5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKK2Jvb2wgYW55KGJvb2wzeDMgeCkgeworICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
MF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4dyAqLwotYm9vbDMgb3BlcmF0b3Iuenh3KGJv
b2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Citib29sIGFueShib29sNHgzIHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzNdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVy
YXRvci56eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jvb2wgYW55KGJv
b2wyeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3Iuenh3
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworYm9vbCBhbnkoYm9vbDN4NCB4KSB7
CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsx
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVszXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9w
ZXJhdG9yLnp4dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Citib29sIGFu
eShib29sNHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzBd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzNdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHl5
ICovCi1ib29sNCBvcGVyYXRvci56eHl5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9w
ZXJhdG9yLnp4eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh5eSh1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl5KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBkZHlfY29hcnNlICovCitmbG9hdCBkZHlfY29hcnNl
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZGR5KHgpOwogfQotaW50NCBvcGVyYXRvci56eHl5KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQyIGRkeV9jb2Fyc2UoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGRkeV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHl5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGRkeV9j
b2Fyc2UoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRk
eV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBkZHlfY29hcnNlKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDQgb3BlcmF0b3Iuenh5eShmbG9hdDMgdikgeworZmxvYXQ0IGRkeV9jb2Fyc2UoZmxvYXQ0IHgp
IHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworICAgIHJl
c3VsdFswXSA9IGRkeV9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHlfY29hcnNlKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGRkeV9jb2Fyc2UoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci56eHl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0MngyIGRkeV9jb2Fyc2UoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0Mngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
eXl5ICovCi1ib29sNCBvcGVyYXRvci55eXl5KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MiBkZHlfY29hcnNlKGZsb2F0M3gy
IHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJz
ZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGRkeV9jb2Fyc2UoZmxv
YXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlf
Y29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eV9jb2Fyc2UoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9y
Lnl5eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0MngzIGRkeV9jb2Fyc2UoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3IueXl5eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OworZmxvYXQzeDMgZGR5X2NvYXJzZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBk
ZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fy
c2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50NCBvcGVyYXRvci55eXl5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgp
IHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5
X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNl
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHlfY29hcnNlKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFszXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eXkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0Mng0
IGRkeV9jb2Fyc2UoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9j
b2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDQgb3BlcmF0b3IueXl5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRkeV9jb2Fyc2UoZmxvYXQzeDQgeCkgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNl
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fy
c2UoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eXl5KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQgZGR5X2NvYXJz
ZShmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2Nv
YXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHlf
Y29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGRkeV9jb2Fyc2Uo
eFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl5eShpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IrKyAqLwordWludCBv
cGVyYXRvcisrKHVpbnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOwogfQotZmxvYXQ0
IG9wZXJhdG9yLnl5eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQgb3BlcmF0b3IrKyhpbnQg
dmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXko
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBvcGVyYXRvcisrKGZsb2F0IHZhbHVlKSB7Cisg
ICAgcmV0dXJuIHZhbHVlICsgMTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXl5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRBbmQgKi8KK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQW5k
KGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhy
ZWFkZ3JvdXAgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBh
dG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZEFuZCh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CituYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmlj
ZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJl
YWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2
b2lkIEludGVybG9ja2VkQW5kKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdy
b3VwIGludCopOworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3J+ICovCitib29sIG9wZXJh
dG9yfihib29sIHZhbHVlKSB7CisgICAgcmV0dXJuICF2YWx1ZTsKIH0KK25hdGl2ZSBpbnQgb3Bl
cmF0b3J+KGludCk7CituYXRpdmUgdWludCBvcGVyYXRvcn4odWludCk7CiAKLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55end4PSAqLwotYm9vbDQgb3BlcmF0b3IueXp3eD0oYm9vbDQgdiwg
Ym9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBj
Lnc7CisvKiBGdW5jdGlvbnMgbmFtZWQgZGR4ICovCituYXRpdmUgZmxvYXQgZGR4KGZsb2F0KTsK
K2Zsb2F0MiBkZHgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGRkeCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6d3g9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OworZmxvYXQzIGRkeChm
bG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp3eD0oaW50NCB2LCBpbnQ0
IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Citm
bG9hdDQgZGR4KGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBkZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGRkeCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHgoeFszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NCBvcGVyYXRvci55end4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKK2Zsb2F0MngyIGRk
eChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enp4eSAqLwotYm9vbDQgb3BlcmF0b3Iuenp4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIgZGR4KGZsb2F0M3gyIHgpIHsK
KyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnp6eHkoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIGRkeChm
bG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRk
eCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBkZHgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnp6eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0MngzIGRkeChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBk
ZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci11aW50NCBvcGVyYXRvci56enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBkZHgoZmxvYXQzeDMgeCkgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci56enh5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgZGR4KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBkZHgoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3Iuenp4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0Mng0IGRkeChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56enh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRkeChmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRkeCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBkZHgoZmxvYXQ0eDQgeCkgeworICAg
IGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGRkeCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBkZHgoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGZ3aWR0aCAqLworLyogRnVuY3Rp
b25zIG5hbWVkIEludGVybG9ja2VkTWF4ICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChk
ZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1
aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX2ludCosIGlu
dCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJl
YWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhy
ZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heCh0aHJl
YWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKIAotZmxvYXQgZndp
ZHRoKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gYWJzKGRkeCh4KSkgKyBhYnMoZGR5KHgpKTsKLX0K
LWZsb2F0MiBmd2lkdGgoZmxvYXQyIHgpIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBjb3NoICovCitu
YXRpdmUgZmxvYXQgY29zaChmbG9hdCk7CitmbG9hdDIgY29zaChmbG9hdDIgeCkgewogICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZ3aWR0aCh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGNvc2goeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBmd2lkdGgo
ZmxvYXQzIHgpIHsKK2Zsb2F0MyBjb3NoKGZsb2F0MyB4KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZndpZHRoKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKKyAgICByZXN1bHRbMF0gPSBjb3No
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY29z
aCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkg
eworZmxvYXQ0IGNvc2goZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGZ3aWR0aCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gZndpZHRoKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGZ3aWR0aCh4WzNdKTsK
KyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBjb3NoKHhbM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBmd2lkdGgoZmxvYXQyeDIgeCkgewor
ZmxvYXQyeDIgY29zaChmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDMgZndpZHRoKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBd
WzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0Mng0IGZ3aWR0aChmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
d2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lk
dGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzeDIgZndpZHRoKGZsb2F0M3gyIHgpIHsKK2Zsb2F0M3gyIGNvc2goZmxvYXQz
eDIgeCkgewogICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMg
ZndpZHRoKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3g0IGZ3aWR0aChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lk
dGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsx
XVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFswXVsw
XSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2go
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBjb3NoKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBm
d2lkdGgoZmxvYXQ0eDIgeCkgeworZmxvYXQ0eDIgY29zaChmbG9hdDR4MiB4KSB7CiAgICAgZmxv
YXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZndpZHRo
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBjb3NoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBmd2lk
dGgoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
d2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKK2Zsb2F0MngzIGNvc2goZmxvYXQyeDMgeCkgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsK
LSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
d2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgo
eFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFsz
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gZndpZHRoKHhbM11bM10pOworZmxvYXQzeDMgY29z
aChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3No
KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLno9ICovCi1uYXRpdmUgYm9vbDMgb3BlcmF0b3Iuej0oYm9vbDMsIGJvb2wpOwot
bmF0aXZlIGJvb2w0IG9wZXJhdG9yLno9KGJvb2w0LCBib29sKTsKLW5hdGl2ZSB1aW50MyBvcGVy
YXRvci56PSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3Iuej0odWludDQsIHVp
bnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3Iuej0oaW50MywgaW50KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yLno9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLno9KGZsb2F0Mywg
ZmxvYXQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci56PShmbG9hdDQsIGZsb2F0KTsKLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLng9ICovCi1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueD0o
Ym9vbDIsIGJvb2wpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yLng9KGJvb2wzLCBib29sKTsKLW5h
dGl2ZSBib29sNCBvcGVyYXRvci54PShib29sNCwgYm9vbCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0
b3IueD0odWludDIsIHVpbnQpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yLng9KHVpbnQzLCB1aW50
KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci54PSh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50MiBv
cGVyYXRvci54PShpbnQyLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3IueD0oaW50MywgaW50
KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLng9KGludDQsIGludCk7Ci1uYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yLng9KGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvci54PShmbG9h
dDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IueD0oZmxvYXQ0LCBmbG9hdCk7Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eT0gKi8KLW5hdGl2ZSBib29sMiBvcGVyYXRv
ci54eT0oYm9vbDIsIGJvb2wyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvci54eT0oYm9vbDMsIGJv
b2wyKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvci54eT0oYm9vbDQsIGJvb2wyKTsKLW5hdGl2ZSB1
aW50MiBvcGVyYXRvci54eT0odWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci54
eT0odWludDMsIHVpbnQyKTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvci54eT0odWludDQsIHVpbnQy
KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5PShpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQzIG9w
ZXJhdG9yLnh5PShpbnQzLCBpbnQyKTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLnh5PShpbnQ0LCBp
bnQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IueHk9KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2
ZSBmbG9hdDMgb3BlcmF0b3IueHk9KGZsb2F0MywgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDQgb3Bl
cmF0b3IueHk9KGZsb2F0NCwgZmxvYXQyKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl4dyAqLwotYm9vbDMgb3BlcmF0b3IueXh3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7CitmbG9hdDR4MyBjb3NoKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBj
b3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGNvc2goeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJh
dG9yLnl4dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQyeDQgY29z
aChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50MyBvcGVyYXRvci55eHcoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7CitmbG9h
dDN4NCBjb3NoKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGNvc2goeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2go
eFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci55eHcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQ0eDQgY29zaChmbG9hdDR4
NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gY29zaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
Y29zaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsz
XSA9IGNvc2goeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnh4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnh4d3koYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIGRkeF9jb2Fyc2UgKi8KK2Zsb2F0IGRkeF9jb2Fy
c2UoZmxvYXQgeCkgeworICAgIHJldHVybiBkZHgoeCk7CiB9Ci11aW50NCBvcGVyYXRvci54eHd5
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
CitmbG9hdDIgZGR4X2NvYXJzZShmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNl
KHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4d3koaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDMg
ZGR4X2NvYXJzZShmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci54eHd5KGZsb2F0NCB2KSB7CitmbG9hdDQgZGR4X2NvYXJzZShmbG9h
dDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Cisg
ICAgcmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29h
cnNlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gZGR4X2NvYXJzZSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXcgKi8KLWJvb2wyIG9wZXJhdG9yLnl3KGJvb2w0IHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7CitmbG9hdDJ4MiBkZHhfY29hcnNlKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fy
c2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IueXcodWludDQgdikgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKK2Zs
b2F0M3gyIGRkeF9jb2Fyc2UoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2Nv
YXJzZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVyYXRvci55dyhp
bnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKK2Zsb2F0NHgyIGRkeF9jb2Fyc2UoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29h
cnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci55dyhmbG9hdDQgdikgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
CitmbG9hdDJ4MyBkZHhfY29hcnNlKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnp4d3ggKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3goYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gzIGRk
eF9jb2Fyc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fy
c2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2Nv
YXJzZSh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenh3
eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQ0eDMgZGR4X2NvYXJzZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNl
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9jb2Fyc2UoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fy
c2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1pbnQ0IG9wZXJhdG9yLnp4d3goaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsK
KyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2Nv
YXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhb
MV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh3eChmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Citm
bG9hdDN4NCBkZHhfY29hcnNlKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9j
b2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNl
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHhfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRb
M11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enl5ICovCi1ib29sNCBvcGVyYXRvci55enl5KGJv
b2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGZpcnN0Yml0aGlnaCAqLwor
dWludCBmaXJzdGJpdGhpZ2godWludCB4KSB7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMxKSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMwKSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI5KSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI4KSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI3KSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI2KSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI1KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDI0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDg7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDk7Cisg
ICAgaWYgKCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEwOworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAyMCkpICE9IDApCisgICAgICAgIHJldHVybiAxMTsKKyAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMTkpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTI7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDE4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDEzOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAxNykpICE9IDApCisgICAgICAgIHJldHVybiAxNDsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMTYpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTU7CisgICAgaWYgKCh4ICYg
dWludCgxIDw8IDE1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE2OworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAxNCkpICE9IDApCisgICAgICAgIHJldHVybiAxNzsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMTMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTg7CisgICAgaWYgKCh4ICYgdWludCgx
IDw8IDEyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE5OworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAxMSkpICE9IDApCisgICAgICAgIHJldHVybiAyMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MTApKSAhPSAwKQorICAgICAgICByZXR1cm4gMjE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDkp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMjI7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDgpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMjM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDcpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDYpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMjU7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDUpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMjY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDQpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMjc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDMpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMjg7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMjk7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4g
MzA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gMzE7
CisgICAgcmV0dXJuIDMyOworfQordWludCBmaXJzdGJpdGhpZ2goaW50IHgpIHsKKyAgICByZXR1
cm4gZmlyc3RiaXRoaWdoKHVpbnQoeCkpOwogfQotYm9vbDQgb3BlcmF0b3IueXp5eShib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDIg
Zmlyc3RiaXRoaWdoKHVpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXp5eSh1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDMgZmly
c3RiaXRoaWdoKHVpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
Zmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnl6eXkodWludDQgdikgewordWludDQgZmlyc3RiaXRoaWdoKHVp
bnQ0IHgpIHsKICAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp5eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55enl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enl5
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBmaXJzdGJpdGhpZ2goeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eCAqLwotYm9vbDMgb3BlcmF0b3Iu
d3d4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Cit1aW50MiBmaXJzdGJpdGhp
Z2goaW50MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnd3eCh1aW50NCB2KSB7Cit1aW50MyBmaXJz
dGJpdGhpZ2goaW50MyB4KSB7CiAgICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd3eChmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXggKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
KyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmly
c3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHd5eCh1aW50NCB2KSB7Cit1aW50
NCBmaXJzdGJpdGhpZ2goaW50NCB4KSB7CiAgICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXgo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3l4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRb
MF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBmaXJzdGJpdGhpZ2goeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd4eCAqLwotYm9vbDMgb3BlcmF0b3Iud3h4KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnd4eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgcmNwICovCitmbG9hdCByY3AoZmxvYXQgeCkg
eworICAgIHJldHVybiAxIC8geDsKIH0KLWludDMgb3BlcmF0b3Iud3h4KGludDQgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQyIHJjcChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJjcCh4
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJhdG9yLnd4eChmbG9hdDQg
dikgeworZmxvYXQzIHJjcChmbG9hdDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eXgg
Ki8KLWJvb2w0IG9wZXJhdG9yLnh5eXgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3IueHl5eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi54OworICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBy
Y3AoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcmNwKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1ib29sNCBvcGVyYXRvci54eXl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDQgcmNwKGZsb2F0NCB4KSB7CisgICAgZmxv
YXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
cmNwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBy
Y3AoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh5eXgodWlu
dDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zs
b2F0MngyIHJjcChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJj
cCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHl5eCh1
aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owor
ZmxvYXQzeDIgcmNwKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnh5eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKK2Zsb2F0NHgyIHJjcChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHl5eChpbnQyIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngzIHJjcChmbG9hdDJ4MyB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eXgoaW50MyB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4MyByY3Ao
ZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBy
Y3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJj
cCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54eXl4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgcmNwKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNw
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3Ao
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHJjcCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByY3AoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IHJjcChmbG9hdDJ4NCB4
KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBy
Y3AoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl4
KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKK2Zsb2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDR4NCByY3AoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
M10gPSByY3AoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl3eHggKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHgoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnl3eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55
d3h4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorLyogRnVuY3Rpb25zIG5hbWVkIGZ3aWR0aCAq
LwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d5dyAqLwotYm9vbDQgb3BlcmF0b3Iu
d3d5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBmd2lkdGgoZmxvYXQgeCkgeworICAgIHJl
dHVybiBhYnMoZGR4KHgpKSArIGFicyhkZHkoeCkpOwogfQotdWludDQgb3BlcmF0b3Iud3d5dyh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQyIGZ3aWR0aChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZndpZHRoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3l3KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzIGZ3aWR0aChmbG9hdDMg
eCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53d3l3KGZsb2F0NCB2
KSB7CitmbG9hdDQgZndpZHRoKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iuend5eD0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3eXg9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC54ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3l4PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsK
LSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueCA9
IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3l4PShpbnQ0IHYs
IGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueCA9IGMu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eXg9KGZsb2F0NCB2
LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC54
ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54enk9ICovCi1ib29sMyBvcGVyYXRvci54enk9KGJvb2wzIHYsIGJvb2wzIGMpIHsKLSAg
ICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci54enk9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0g
Yy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54enk9KHVpbnQzIHYs
IHVpbnQzIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworICAgIHJlc3VsdFswXSA9
IGZ3aWR0aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gZndpZHRoKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZ3aWR0aCh4WzNdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHp5PSh1aW50NCB2LCB1aW50MyBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
eiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0MngyIGZ3aWR0aChmbG9hdDJ4MiB4
KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54enk9KGludDMgdiwgaW50
MyBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJl
c3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQzeDIgZndpZHRoKGZsb2F0
M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRo
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueHp5PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsK
K2Zsb2F0NHgyIGZ3aWR0aChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lk
dGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFsz
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54enk9KGZsb2F0
MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQyeDMg
ZndpZHRoKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0NCBvcGVyYXRvci54enk9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55Owot
ICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQzeDMgZndpZHRoKGZsb2F0M3gzIHgpIHsKKyAgICBm
bG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh5eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnh5eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgzIGZ3aWR0aChmbG9hdDR4
MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZndpZHRoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54
eXl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7CitmbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndp
ZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRo
KHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eXcoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9h
dDN4NCBmd2lkdGgoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBmd2lkdGgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0IG9wZXJhdG9yLnh5eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBm
d2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lk
dGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgo
eFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZndpZHRoKHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKQEAgLTM3MjQyLDExNyArMTk1ODMsMTE3IEBAIGZsb2F0NCBsZXJwKGZsb2F0
NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHoKIGZsb2F0MngyIGxlcnAoZmxvYXQyeDIgeCwgZmxvYXQy
eDIgeSwgZmxvYXQyeDIgeikgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1b
MF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVy
cCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIGxl
cnAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewotICAgIGZsb2F0MngzIHJl
c3VsdDsKK2Zsb2F0M3gyIGxlcnAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxvYXQzeDIgeikg
eworICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0s
IHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQyeDQgbGVycChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4
NCB6KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OworZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBm
bG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3Vs
dFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxl
cnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwg
eVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGxlcnAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwg
ZmxvYXQzeDIgeikgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIGxlcnAoZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0MngzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9
IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGVy
cCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhb
Ml1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbGVycChm
bG9hdDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxl
cnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBd
WzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsy
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IGxlcnAoZmxvYXQzeDQgeCwg
ZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKK2Zsb2F0NHgz
IGxlcnAoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbGVy
cCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBsZXJwKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0
NHgyIHopIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7CitmbG9hdDJ4NCBsZXJwKGZsb2F0Mng0IHgs
IGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgcmVz
dWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsw
XSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFd
LCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlb
M11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsx
XSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgbGVycChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5
LCBmbG9hdDR4MyB6KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbGVycChmbG9h
dDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owog
ICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3VsdFsx
XVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBs
ZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAo
eFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0NHg0IGxlcnAoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewog
ICAgIGZsb2F0NHg0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1b
M10pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CiAgICAgcmVzdWx0
WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGVy
cCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhb
M11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwg
elszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CiAg
ICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXN1bHRbM11bM10g
PSBsZXJwKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CkBAIC0zNzM3MCwxMjQgKzE5NzExLDMgQEAgZmxvYXQgZGlzdGFuY2UoZmxvYXQzIHgsIGZsb2F0
MyB5KSB7CiBmbG9hdCBkaXN0YW5jZShmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKICAgICByZXR1cm4g
bGVuZ3RoKHggLSB5KTsKIH0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6eiAq
LwotYm9vbDQgb3BlcmF0b3Iuenl6eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci56eXp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5enoodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5enooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuenl6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5enooZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl6eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLncgKi8KLW5hdGl2ZSBi
b29sIG9wZXJhdG9yLncoYm9vbDQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3Iudyh1aW50NCk7Ci1u
YXRpdmUgaW50IG9wZXJhdG9yLncoaW50NCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IudyhmbG9h
dDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eiAqLwotYm9vbDQgb3BlcmF0
b3Iud3d4eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3h6KHVpbnQ0
IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d4eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnd3eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eSAqLwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yLnh5KGJv
b2wyKTsKLW5hdGl2ZSBib29sMiBvcGVyYXRvci54eShib29sMyk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3IueHkoYm9vbDQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLnh5KHVpbnQyKTsKLW5hdGl2
ZSB1aW50MiBvcGVyYXRvci54eSh1aW50Myk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IueHkodWlu
dDQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueHkoaW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRv
ci54eShpbnQzKTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5KGludDQpOwotbmF0aXZlIGZsb2F0
MiBvcGVyYXRvci54eShmbG9hdDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDMp
OwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54eShmbG9hdDQpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRp
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsNiBAQCBwcml2YXRlOgogICAgICAg
ICBWaXNpdG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CiAgICAgfQogCi0gICAgdm9pZCB2aXNp
dChBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
KSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9u
TmFtZXMuYWRkKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5jdGlvbk5hbWUoKSk7
Ci0gICAgICAgIG1fZnVuY3Rpb25OYW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFu
ZGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChwcm9wZXJ0eUFjY2Vz
c0V4cHJlc3Npb24pOwotICAgIH0KLQogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Z1bmN0aW9uTmFt
ZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9y
TGVuZ3RoLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5jcHAJKG5vbmV4
aXN0ZW50KQpAQCAtMSw4MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaCIKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFycmF5VHlwZS5oIgotI2luY2x1ZGUg
IldITFNMUHJvZ3JhbS5oIgotI2luY2x1ZGUgIldITFNMVHlwZVJlZmVyZW5jZS5oIgotI2luY2x1
ZGUgIldITFNMVmlzaXRvci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBX
SExTTCB7Ci0KLWNsYXNzIEZpbmRBcnJheVR5cGVzIDogcHVibGljIFZpc2l0b3IgewotcHVibGlj
OgotICAgIHZpcnR1YWwgfkZpbmRBcnJheVR5cGVzKCkgPSBkZWZhdWx0OwotCi0gICAgdm9pZCB2
aXNpdChBU1Q6OkFycmF5VHlwZSYgYXJyYXlUeXBlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
bV9hcnJheVR5cGVzLmFwcGVuZChhcnJheVR5cGUpOwotICAgICAgICBWaXNpdG9yOjp2aXNpdChh
cnJheVR5cGUpOwotICAgIH0KLQotICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFT
VDo6QXJyYXlUeXBlPj4gdGFrZUFycmF5VHlwZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdU
Rk1vdmUobV9hcnJheVR5cGVzKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgVmVjdG9yPHN0ZDo6
cmVmZXJlbmNlX3dyYXBwZXI8QVNUOjpBcnJheVR5cGU+PiBtX2FycmF5VHlwZXM7Ci19OwotCi1F
eHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgoUHJvZ3Jh
bSYgcHJvZ3JhbSkKLXsKLSAgICBGaW5kQXJyYXlUeXBlcyBmaW5kQXJyYXlUeXBlczsKLSAgICBm
aW5kQXJyYXlUeXBlcy5jaGVja0Vycm9yQW5kVmlzaXQocHJvZ3JhbSk7Ci0gICAgYXV0byBhcnJh
eVR5cGVzID0gZmluZEFycmF5VHlwZXMudGFrZUFycmF5VHlwZXMoKTsKLQotICAgIGJvb2wgaXNP
cGVyYXRvciA9IHRydWU7Ci0KLSAgICBmb3IgKGF1dG8mIGFycmF5VHlwZSA6IGFycmF5VHlwZXMp
IHsKLSAgICAgICAgYXV0byBsb2NhdGlvbiA9IGFycmF5VHlwZS5nZXQoKS5jb2RlTG9jYXRpb24o
KTsKLSAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMoKSwgJmFycmF5
VHlwZS5nZXQoKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAgICAgICBBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgIHBhcmFtZXRlcnMuYXBwZW5k
KFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVj
bGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBB
U1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIHByb2dyYW0uaW50cmluc2ljcygpLnVp
bnRUeXBlKCkpLCAib3BlcmF0b3IubGVuZ3RoIl9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51
bGxwdHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAg
ICAgaWYgKCFwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24p
KSkKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiQ2Fubm90IHN5bnRo
ZXNpemUgb3BlcmF0b3IubGVuZ3RoIGZvciBhcnJheSB0eXBlLiIpKTsKLSAgICB9Ci0gICAgcmV0
dXJuIHsgfTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV0hMU0wKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKClByb3BlcnR5IGNoYW5nZXMgb246IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3Bl
cmF0b3JMZW5ndGguY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSAr
MCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVy
YXRvckxlbmd0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaAkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVz
aXplQXJyYXlPcGVyYXRvckxlbmd0aC5oCShub25leGlzdGVudCkKQEAgLTEsNDUgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1
ZGUgIldITFNMRXJyb3IuaCIKLSNpbmNsdWRlIDx3dGYvRXhwZWN0ZWQuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1jbGFzcyBQcm9ncmFtOwotCi1FeHBl
Y3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgoUHJvZ3JhbSYp
OwotCi19Ci0KLX0KLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3Ro
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2
ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVt
ZXJhdGlvbkZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDE1ICs1Niw2IEBAIEV4
cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplRW51bWVyYXQKICAgICAgICAgICAgIGF1dG8g
dmFyaWFibGVEZWNsYXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0
aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3Jh
cChsb2NhdGlvbiwgZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51
bGxwdHIpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJz
OwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0
aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFT
VDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24t
PnR5cGUoKSwgIm9wZXJhdG9yLnZhbHVlIl9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxw
dHIsIGlzT3BlcmF0b3IsIFBhcnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAg
ICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW5ub3Qg
Y3JlYXRlIG9wZXJhdG9yLnZhbHVlIGZvciBlbnVtIHR5cGUuIikpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1
ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KGxvY2F0aW9uLCBBU1Q6OlF1YWxpZmllcnMo
KSwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBlbnVtZXJhdGlvbkRlZmluaXRp
b24pLCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgICAgICAgICBBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVu
ZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAgICAgICAgICAgIEFTVDo6TmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rp
b25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxv
cHQsIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBX
VEZNb3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3Rh
bmRhcmRMaWJyYXJ5KSk7CiAgICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUo
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpKQogICAgICAgICAgICAgICAgIHJldHVybiBtYWtl
VW5leHBlY3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBjb3B5IGNvbnN0cnVjdG9yIGZvciBlbnVt
IHR5cGUuIikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nl
c3NvcnMuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCShub25leGlz
dGVudCkKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaCIKLQotI2lmIEVO
QUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEFkZHJlc3NTcGFjZS5oIgotI2luY2x1ZGUg
IldITFNMUG9pbnRlclR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFByb2dyYW0uaCIKLSNpbmNsdWRl
ICJXSExTTFJlZmVyZW5jZVR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFR5cGVSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlICJXSExTTFZhcmlhYmxlRGVjbGFyYXRpb24uaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1FeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhl
c2l6ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJiBwcm9ncmFtKQotewotICAgIGJvb2wgaXNP
cGVyYXRvciA9IHRydWU7Ci0gICAgZm9yIChhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uIDogcHJv
Z3JhbS5zdHJ1Y3R1cmVEZWZpbml0aW9ucygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgc3RydWN0
dXJlRWxlbWVudCA6IHN0cnVjdHVyZURlZmluaXRpb24tPnN0cnVjdHVyZUVsZW1lbnRzKCkpIHsK
LSAgICAgICAgICAgIC8vIFRoZSBhbmRlcjogb3BlcmF0b3ImLmZpZWxkCi0gICAgICAgICAgICBh
dXRvIGNyZWF0ZUFuZGVyID0gWyZdKEFTVDo6QWRkcmVzc1NwYWNlIGFkZHJlc3NTcGFjZSkgLT4g
QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIHsKLSAgICAgICAgICAgICAgICBhdXRvIGFy
Z3VtZW50VHlwZSA9IEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShzdHJ1Y3R1cmVFbGVtZW50LmNv
ZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChzdHJ1
Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBzdHJ1Y3R1cmVEZWZpbml0aW9uKSk7Ci0gICAg
ICAgICAgICAgICAgYXV0byB2YXJpYWJsZURlY2xhcmF0aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb24+KHN0cnVjdHVyZUVsZW1lbnQuY29kZUxvY2F0aW9uKCksIEFT
VDo6UXVhbGlmaWVycygpLCBXVEZNb3ZlKGFyZ3VtZW50VHlwZSksIFN0cmluZygpLCBudWxscHRy
LCBudWxscHRyKTsKLSAgICAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBh
cmFtZXRlcnM7Ci0gICAgICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJp
YWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICAgICAgYXV0byByZXR1cm5UeXBlID0gQVNU
OjpQb2ludGVyVHlwZTo6Y3JlYXRlKHN0cnVjdHVyZUVsZW1lbnQuY29kZUxvY2F0aW9uKCksIGFk
ZHJlc3NTcGFjZSwgc3RydWN0dXJlRWxlbWVudC50eXBlKCkpOwotICAgICAgICAgICAgICAgIEFT
VDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFT
VDo6RnVuY3Rpb25EZWNsYXJhdGlvbihzdHJ1Y3R1cmVFbGVtZW50LmNvZGVMb2NhdGlvbigpLCBB
U1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgV1RGTW92ZShyZXR1cm5UeXBlKSwg
bWFrZVN0cmluZygib3BlcmF0b3ImLiIsIHN0cnVjdHVyZUVsZW1lbnQubmFtZSgpKSwgV1RGTW92
ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJk
TGlicmFyeSkpOwotICAgICAgICAgICAgICAgIHJldHVybiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uOwotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoY3Jl
YXRlQW5kZXIoQVNUOjpBZGRyZXNzU3BhY2U6OkNvbnN0YW50KSkKLSAgICAgICAgICAgICAgICB8
fCAhcHJvZ3JhbS5hcHBlbmQoY3JlYXRlQW5kZXIoQVNUOjpBZGRyZXNzU3BhY2U6OkRldmljZSkp
Ci0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRk
cmVzc1NwYWNlOjpUaHJlYWRncm91cCkpCi0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBw
ZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQpKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbiBub3QgY3JlYXRlIGFuZGVyIikp
OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiB7IH07Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdITFNMCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJH
UFUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRo
ZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BV
KQotCi0jaW5jbHVkZSAiV0hMU0xFcnJvci5oIgotI2luY2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBXSExTTCB7Ci0KLWNsYXNzIFByb2dy
YW07Ci0KLUV4cGVjdGVkPHZvaWQsIEVycm9yPiBzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3Jz
KFByb2dyYW0mKTsKLQotfQotCi19Ci0KLSNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJl
QWNjZXNzb3JzLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAg
IyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAJ
KHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMVmlzaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw4ICsxOTIsNiBAQCB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6Q29uc3RhbnRFeHByZXNzCiAgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdCh1bnNpZ25lZEludGVnZXJMaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpGbG9hdExp
dGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZmxvYXRM
aXRlcmFsKTsKLSAgICB9LCBbJl0oQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpIHsKLSAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxMaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpC
b29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVyYWwpIHsKICAgICAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGJvb2xlYW5MaXRlcmFsKTsKICAgICB9LCBbJl0oQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgewpAQCAtMjM4LDExICsyMzYsNiBAQCB2
b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJiBmCiAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGZsb2F0TGl0ZXJhbC50eXBlKCkpOwogfQogCi12b2lkIFZpc2l0b3I6OnZpc2l0KEFT
VDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChu
dWxsTGl0ZXJhbC50eXBlKCkpOwotfQotCiB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmKQogewogfQpAQCAtMjY4LDEyICsyNjEsNiBAQCB2b2lkIFZpc2l0b3I6OnZpc2l0
KEFTVDo6RmxvYXRMaXRlcmFsVHlwCiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZsb2F0TGl0ZXJh
bFR5cGUucHJlZmVycmVkVHlwZSgpKTsKIH0KIAotdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6Ok51
bGxMaXRlcmFsVHlwZSYgbnVsbExpdGVyYWxUeXBlKQotewotICAgIGlmIChudWxsTGl0ZXJhbFR5
cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KG51bGxM
aXRlcmFsVHlwZS5yZXNvbHZlZFR5cGUoKSk7Ci19Ci0KIHZvaWQgVmlzaXRvcjo6dmlzaXQoQVNU
OjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmKQogewogfQpAQCAtMzk5LDkgKzM4Niw2IEBAIHZv
aWQgVmlzaXRvcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHAKICAgICBjYXNlIEFTVDo6RXhw
cmVzc2lvbjo6S2luZDo6TWFrZVBvaW50ZXI6CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChk
b3duY2FzdDxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVzc2lvbj4oZXhwcmVzc2lvbikpOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIEFTVDo6RXhwcmVzc2lvbjo6S2luZDo6TnVsbExpdGVyYWw6Ci0g
ICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6Ok51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgQVNUOjpFeHByZXNzaW9uOjpLaW5k
OjpEb3Q6CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6OkRvdEV4cHJl
c3Npb24+KGV4cHJlc3Npb24pKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuaAkocmV2aXNpb24g
MjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNp
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDYgQEAgY2xhc3MgU3RhZ2VJbk91dFNl
bWFudGljOwogY2xhc3MgSW50ZWdlckxpdGVyYWw7CiBjbGFzcyBVbnNpZ25lZEludGVnZXJMaXRl
cmFsOwogY2xhc3MgRmxvYXRMaXRlcmFsOwotY2xhc3MgTnVsbExpdGVyYWw7CiBjbGFzcyBCb29s
ZWFuTGl0ZXJhbDsKIGNsYXNzIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbDsKIGNsYXNzIE51bVRo
cmVhZHNGdW5jdGlvbkF0dHJpYnV0ZTsKQEAgLTEzOCwxMiArMTM3LDEwIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwg
dm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNU
OjpOdWxsTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRl
cmFsJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVyYWxUeXBlJik7
CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUm
KTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJik7Ci0gICAg
dmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWxUeXBlJik7CiAgICAgdmlydHVhbCB2
b2lkIHZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJik7CiAgICAgdmlydHVhbCB2
b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25BdHRyaWJ1dGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlz
aXQoQVNUOjpOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEFTVC5oCShyZXZpc2lv
biAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xBU1QuaAkod29ya2luZyBjb3B5KQpAQCAtNjksOCArNjksNiBAQAogI2luY2x1ZGUgIldITFNM
TmFtZWRUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLmgi
CiAjaW5jbHVkZSAiV0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKLSNpbmNsdWRlICJXSExT
TE51bGxMaXRlcmFsLmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaCIKICNpbmNs
dWRlICJXSExTTE51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIldITFNM
UG9pbnRlclR5cGUuaCIKICNpbmNsdWRlICJXSExTTFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29u
c3RhbnRFeHByZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMQ29uc3RhbnRFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0
YW50RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVk
ZSAiV0hMU0xFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEZsb2F0
TGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWwuaCIKLSNpbmNsdWRlICJX
SExTTE51bGxMaXRlcmFsLmgiCiAjaW5jbHVkZSAiV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFs
LmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5o
PgpAQCAtNjMsMTEgKzYyLDYgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBDb25zdGFu
dEV4cHJlc3Npb24oTnVsbExpdGVyYWwmJiBudWxsTGl0ZXJhbCkKLSAgICAgICAgOiBtX3Zhcmlh
bnQoV1RGTW92ZShudWxsTGl0ZXJhbCkpCi0gICAgewotICAgIH0KLQogICAgIENvbnN0YW50RXhw
cmVzc2lvbihCb29sZWFuTGl0ZXJhbCYmIGJvb2xlYW5MaXRlcmFsKQogICAgICAgICA6IG1fdmFy
aWFudChXVEZNb3ZlKGJvb2xlYW5MaXRlcmFsKSkKICAgICB7CkBAIC05MCwxMiArODQsMTIgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gV1RGOjpnZXQ8SW50ZWdlckxpdGVyYWw+KG1fdmFyaWFu
dCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQo
Y29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBz
dGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bCwgRmxvYXRMaXRlcmFsLCBOdWxsTGl0ZXJhbCwgQm9vbGVhbkxpdGVyYWwsIEVudW1lcmF0aW9u
TWVtYmVyTGl0ZXJhbD4mPigpKSkKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlzaXRvcj4gYXV0
byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSAtPiBkZWNsdHlwZShXVEY6OnZpc2l0KHZp
c2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PEludGVnZXJMaXRlcmFsLCBVbnNpZ25lZEludGVn
ZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIEJvb2xlYW5MaXRlcmFsLCBFbnVtZXJhdGlvbk1lbWJl
ckxpdGVyYWw+Jj4oKSkpCiAgICAgewogICAgICAgICByZXR1cm4gV1RGOjp2aXNpdCh2aXNpdG9y
LCBtX3ZhcmlhbnQpOwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBh
dXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0IC0+IGRlY2x0eXBlKFdURjo6
dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2ln
bmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5MaXRl
cmFsLCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgY29uc3QgLT4g
ZGVjbHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2Vy
TGl0ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0
ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0
dXJuIFdURjo6dmlzaXQodmlzaXRvciwgbV92YXJpYW50KTsKICAgICB9CkBAIC0xMDgsOCArMTAy
LDYgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwu
Y2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFs
KSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAgICAgICAgcmV0dXJuIGZsb2F0TGl0ZXJh
bC5jbG9uZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVyYWwmIG51bGxMaXRlcmFs
KSAtPiBDb25zdGFudEV4cHJlc3Npb24gewotICAgICAgICAgICAgcmV0dXJuIG51bGxMaXRlcmFs
LmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxp
dGVyYWwpIC0+IENvbnN0YW50RXhwcmVzc2lvbiB7CiAgICAgICAgICAgICByZXR1cm4gYm9vbGVh
bkxpdGVyYWwuY2xvbmUoKTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVy
TGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24g
ewpAQCAtMTI3LDggKzExOSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgRmxvYXRMaXRl
cmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgICAgIHZhbHVlID0gZmxvYXRMaXRlcmFsLnZh
bHVlKCk7Ci0gICAgICAgIH0sIFsmXShjb25zdCBOdWxsTGl0ZXJhbCYpIHsKLSAgICAgICAgICAg
IHJlc3VsdCA9IFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8TnVsbExpdGVyYWw+KG90aGVyLm1fdmFy
aWFudCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBCb29sZWFuTGl0ZXJhbCYgYm9vbGVhbkxpdGVy
YWwpIHsKICAgICAgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEJvb2xlYW5MaXRl
cmFsPihvdGhlci5tX3ZhcmlhbnQpKSB7CiAgICAgICAgICAgICAgICAgY29uc3QgYXV0byYgb3Ro
ZXJCb29sZWFuTGl0ZXJhbCA9IFdURjo6Z2V0PEJvb2xlYW5MaXRlcmFsPihvdGhlci5tX3Zhcmlh
bnQpOwpAQCAtMTUyLDggKzE0Miw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdCA9IHZh
bHVlID09IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwgWyZdKGNv
bnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICByZXN1bHQgPSB2
YWx1ZSA9PSBmbG9hdExpdGVyYWwudmFsdWUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxM
aXRlcmFsJikgewotICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgIH0sIFsmXShj
b25zdCBCb29sZWFuTGl0ZXJhbCYpIHsKICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAg
ICAgICB9LCBbJl0oY29uc3QgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgewpAQCAtMTY5LDcg
KzE1Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgIEludGVnZXJMaXRlcmFsLAogICAgICAgICBVbnNp
Z25lZEludGVnZXJMaXRlcmFsLAogICAgICAgICBGbG9hdExpdGVyYWwsCi0gICAgICAgIE51bGxM
aXRlcmFsLAogICAgICAgICBCb29sZWFuTGl0ZXJhbCwKICAgICAgICAgRW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsCiAgICAgICAgID4gbV92YXJpYW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Np
b24uaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRG90RXhwcmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obG9jYXRp
b24sIEtpbmQ6OkRvdCwgV1RGTW92ZShiYXNlKSkKICAgICAgICAgLCBtX2ZpZWxkTmFtZShXVEZN
b3ZlKGZpZWxkTmFtZSkpCiAgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obV9wYWRkaW5nKTsK
ICAgICB9CiAKICAgICB+RG90RXhwcmVzc2lvbigpID0gZGVmYXVsdDsKQEAgLTUyLDI1ICs1Mywx
MSBAQCBwdWJsaWM6CiAgICAgRG90RXhwcmVzc2lvbihjb25zdCBEb3RFeHByZXNzaW9uJikgPSBk
ZWxldGU7CiAgICAgRG90RXhwcmVzc2lvbihEb3RFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAot
ICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1ha2VTdHJpbmcoIm9wZXJhdG9yLiIsIG1fZmllbGROYW1lKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBt
YWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFtZSwgIj0iKTsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1h
a2VTdHJpbmcoIm9wZXJhdG9yJi4iLCBtX2ZpZWxkTmFtZSk7Ci0gICAgfQotCiAgICAgU3RyaW5n
JiBmaWVsZE5hbWUoKSB7IHJldHVybiBtX2ZpZWxkTmFtZTsgfQogCiBwcml2YXRlOgogICAgIFN0
cmluZyBtX2ZpZWxkTmFtZTsKKyAgICBjaGFyIG1fcGFkZGluZ1sxMl07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTEV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNz
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsOSArNzIsNiBAQCB2b2lkIEV4cHJlc3Npb246
OmRlc3Ryb3koRXhwcmVzc2lvbiYgZXhwCiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpNYWtl
UG9pbnRlcjoKICAgICAgICAgZGVsZXRlICZkb3duY2FzdDxNYWtlUG9pbnRlckV4cHJlc3Npb24+
KGV4cHJlc3Npb24pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6
Ok51bGxMaXRlcmFsOgotICAgICAgICBkZWxldGUgJmRvd25jYXN0PE51bGxMaXRlcmFsPihleHBy
ZXNzaW9uKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpEb3Q6
CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oZXhwcmVzc2lvbik7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMTM4LDkgKzEzNSw2IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1
Y3QoRXhwcmVzc2lvbiYgZXgKICAgICBjYXNlIEV4cHJlc3Npb246OktpbmQ6Ok1ha2VQb2ludGVy
OgogICAgICAgICBkb3duY2FzdDxNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4cHJlc3Npb24pLn5N
YWtlUG9pbnRlckV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHByZXNz
aW9uOjpLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZG93bmNhc3Q8TnVsbExpdGVyYWw+KGV4
cHJlc3Npb24pLn5OdWxsTGl0ZXJhbCgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEV4cHJl
c3Npb246OktpbmQ6OkRvdDoKICAgICAgICAgZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oZXhwcmVz
c2lvbikufkRvdEV4cHJlc3Npb24oKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNjgsMzMgKzE2Miw2
IEBAIHZvaWQgRXhwcmVzc2lvbjo6ZGVzdHJ1Y3QoRXhwcmVzc2lvbiYgZXgKICAgICB9CiB9CiAK
LVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmdldHRlckZ1bmN0aW9uTmFtZSgpIGNv
bnN0Ci17Ci0gICAgaWYgKGlzPERvdEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJu
IGRvd25jYXN0PERvdEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAg
ICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2Fz
dDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5nZXR0ZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uOjpzZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHBy
ZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigq
dGhpcykuc2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4o
KnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcyku
c2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LX0KLQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6YW5kZXJGdW5jdGlvbk5hbWUo
KSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJl
dHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhpcykuYW5kZXJGdW5jdGlvbk5hbWUoKTsK
LSAgICBpZiAoaXM8SW5kZXhFeHByZXNzaW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxJbmRleEV4cHJlc3Npb24+KCp0aGlzKS5hbmRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEFTVAogCiB9
IC8vIG5hbWVzcGFjZSBXSExTTApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAkocmV2aXNpb24gMjQ5
MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhw
cmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw2IEBAIHB1YmxpYzoKICAgICAg
ICAgTG9naWNhbE5vdCwKICAgICAgICAgTWFrZUFycmF5UmVmZXJlbmNlLAogICAgICAgICBNYWtl
UG9pbnRlciwKLSAgICAgICAgTnVsbExpdGVyYWwsCiAgICAgICAgIFJlYWRNb2RpZnlXcml0ZSwK
ICAgICAgICAgVGVybmFyeSwKICAgICAgICAgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwKQEAgLTEx
OSw4ICsxMTgsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoYXV0byogcmVzb2x2ZWRU
eXBlID0gY29uc3RfY2FzdDxFeHByZXNzaW9uKj4odGhpcyktPm1heWJlUmVzb2x2ZWRUeXBlKCkp
CiAgICAgICAgICAgICBvdGhlci5zZXRUeXBlKCpyZXNvbHZlZFR5cGUpOwotICAgICAgICBpZiAo
YXV0byogdHlwZUFubm90YXRpb24gPSBtYXliZVR5cGVBbm5vdGF0aW9uKCkpCi0gICAgICAgICAg
ICBvdGhlci5zZXRUeXBlQW5ub3RhdGlvbihUeXBlQW5ub3RhdGlvbigqdHlwZUFubm90YXRpb24p
KTsKICAgICB9CiAKICAgICBLaW5kIGtpbmQoKSBjb25zdCAgeyByZXR1cm4gbV9raW5kOyB9CkBA
IC0xMzgsNyArMTM1LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb2dpY2FsTm90RXhwcmVzc2lv
bigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpMb2dpY2FsTm90OyB9CiAgICAgYm9v
bCBpc01ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkg
PT0gS2luZDo6TWFrZUFycmF5UmVmZXJlbmNlOyB9CiAgICAgYm9vbCBpc01ha2VQb2ludGVyRXhw
cmVzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpNYWtlUG9pbnRlcjsgfQot
ICAgIGJvb2wgaXNOdWxsTGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBLaW5kOjpO
dWxsTGl0ZXJhbDsgfQogICAgIGJvb2wgaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oKSBjb25z
dCB7IHJldHVybiBpc0RvdEV4cHJlc3Npb24oKSB8fCBpc0luZGV4RXhwcmVzc2lvbigpOyB9CiAg
ICAgYm9vbCBpc1JlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5k
KCkgPT0gS2luZDo6UmVhZE1vZGlmeVdyaXRlOyB9CiAgICAgYm9vbCBpc1Rlcm5hcnlFeHByZXNz
aW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlRlcm5hcnk7IH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEluZGV4RXhwcmVzc2lv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTEluZGV4RXhwcmVzc2lvbi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkod29y
a2luZyBjb3B5KQpAQCAtNTIsMjEgKzUyLDYgQEAgcHVibGljOgogICAgIEluZGV4RXhwcmVzc2lv
bihjb25zdCBJbmRleEV4cHJlc3Npb24mKSA9IGRlbGV0ZTsKICAgICBJbmRleEV4cHJlc3Npb24o
SW5kZXhFeHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlv
bk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdIl9zdHI7Ci0g
ICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICByZXR1cm4gIm9wZXJhdG9yW109Il9zdHI7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVy
RnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAib3BlcmF0b3ImW10i
X3N0cjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Npb24oKSB7IHJldHVy
biBtX2luZGV4OyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VJbmRleCgpIHsgcmV0
dXJuIFdURk1vdmUobV9pbmRleCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlVHlw
ZURlY2xhcmF0aW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NiwxMSArODYsMjkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBudW1iZXJPZk1hdHJpeFJvd3MoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVu
c2lvbigxKTsKKyAgICAgICAgcmV0dXJuIG1hdHJpeERpbWVuc2lvbigyKTsKICAgICB9CiAgICAg
dW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBt
YXRyaXhEaW1lbnNpb24oMik7CisgICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7Cisg
ICAgfQorCisgICAgVHlwZVJlZmVyZW5jZSYgdmVjdG9yVHlwZUFyZ3VtZW50KCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFJlZjxB
U1Q6OlR5cGVSZWZlcmVuY2U+Pih0eXBlQXJndW1lbnRzKClbMF0pOworICAgIH0KKworICAgIHVu
c2lnbmVkIHZlY3RvclNpemUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmVjdG9yKCkpOwor
ICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+KHR5cGVBcmd1
bWVudHMoKVsxXSkuaW50ZWdlckxpdGVyYWwoKS52YWx1ZSgpOworICAgIH0KKworICAgIFR5cGVS
ZWZlcmVuY2UmIG1hdHJpeFR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNN
YXRyaXgoKSk7CisgICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNl
Pj4odHlwZUFyZ3VtZW50cygpWzBdKTsKICAgICB9CiAKICAgICB2b2lkIHNldElzSW50KCkgeyBt
X2lzSW50ID0gdHJ1ZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxs
TGl0ZXJhbC5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXhwcmVz
c2lvbi5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCi0jaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hMU0wg
ewotCi1uYW1lc3BhY2UgQVNUIHsKLQotY2xhc3MgTnVsbExpdGVyYWwgZmluYWwgOiBwdWJsaWMg
RXhwcmVzc2lvbiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAg
TnVsbExpdGVyYWwoQ29kZUxvY2F0aW9uIGxvY2F0aW9uKQotICAgICAgICA6IEV4cHJlc3Npb24o
bG9jYXRpb24sIEtpbmQ6Ok51bGxMaXRlcmFsKQotICAgIHsKLSAgICB9Ci0KLSAgICB+TnVsbExp
dGVyYWwoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbChjb25zdCBOdWxsTGl0ZXJhbCYp
ID0gZGVsZXRlOwotICAgIE51bGxMaXRlcmFsKE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQot
ICAgIE51bGxMaXRlcmFsJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsK
LSAgICBOdWxsTGl0ZXJhbCYgb3BlcmF0b3I9KE51bGxMaXRlcmFsJiYpID0gZGVmYXVsdDsKLQot
ICAgIE51bGxMaXRlcmFsVHlwZSYgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgTnVs
bExpdGVyYWwgY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBOdWxs
TGl0ZXJhbChjb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvbHZlZFR5cGUg
PSBtX3R5cGUubWF5YmVSZXNvbHZlZFR5cGUoKSkKLSAgICAgICAgICAgIHJlc3VsdC5tX3R5cGUu
cmVzb2x2ZShjb25zdF9jYXN0PEFTVDo6VW5uYW1lZFR5cGUmPigqcmVzb2x2ZWRUeXBlKSk7Ci0g
ICAgICAgIGNvcHlUeXBlVG8ocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgTnVsbExpdGVyYWxUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFVTFRfREVMRVRFKE51bGxMaXRlcmFs
KQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX0VYUFJFU1NJT04oTnVsbExpdGVyYWws
IGlzTnVsbExpdGVyYWwoKSkKLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbC5oCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEgKzAs
MCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xO
dWxsTGl0ZXJhbFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAJKHJldmlzaW9uIDI0OTIy
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxM
aXRlcmFsVHlwZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgi
Ci0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNl
IEFTVCB7Ci0KLWJvb2wgTnVsbExpdGVyYWxUeXBlOjpjYW5SZXNvbHZlKGNvbnN0IFR5cGUmIHR5
cGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFpczxVbm5hbWVkVHlwZT4odHlwZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0PFVubmFtZWRUeXBl
Pih0eXBlKTsKLSAgICBpZiAoIWlzPFJlZmVyZW5jZVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCi11bnNpZ25lZCBOdWxsTGl0
ZXJhbFR5cGU6OmNvbnZlcnNpb25Db3N0KGNvbnN0IFVubmFtZWRUeXBlJikgY29uc3QKLXsKLSAg
ICByZXR1cm4gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgQVNUCi0KLX0KLQotfQotCi0jZW5kaWYK
ClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9s
LXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xO
dWxsTGl0ZXJhbFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xSZXNvbHZh
YmxlVHlwZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNzIE51
bGxMaXRlcmFsVHlwZSBmaW5hbCA6IHB1YmxpYyBSZXNvbHZhYmxlVHlwZSB7Ci0gICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTnVsbExpdGVyYWxUeXBlKCkKLSAgICAg
ICAgOiBSZXNvbHZhYmxlVHlwZShLaW5kOjpOdWxsTGl0ZXJhbCkKLSAgICB7IH0KLQotICAgIH5O
dWxsTGl0ZXJhbFR5cGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUoY29uc3Qg
TnVsbExpdGVyYWxUeXBlJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlKE51bGxMaXRl
cmFsVHlwZSYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9wZXJhdG9yPShj
b25zdCBOdWxsTGl0ZXJhbFR5cGUmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbFR5cGUmIG9w
ZXJhdG9yPShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAgYm9vbCBjYW5SZXNv
bHZlKGNvbnN0IFR5cGUmKSBjb25zdDsKLSAgICB1bnNpZ25lZCBjb252ZXJzaW9uQ29zdChjb25z
dCBVbm5hbWVkVHlwZSYpIGNvbnN0OwotCi1wcml2YXRlOgotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
QVNUCi0KLX0KLQotfQotCi1ERUZJTkVfREVGQVVMVF9ERUxFVEUoTnVsbExpdGVyYWxUeXBlKQot
Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dITFNMX1RZUEUoTnVsbExpdGVyYWxUeXBlLCBpc051
bGxMaXRlcmFsVHlwZSgpKQotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEg
KzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
aAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDQ1ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKGNv
bnN0IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIFByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbihQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mJikgPSBkZWZhdWx0OwogCi0g
ICAgU3RyaW5nIGdldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0OwotICAgIFN0cmluZyBzZXR0ZXJG
dW5jdGlvbk5hbWUoKSBjb25zdDsKLSAgICBTdHJpbmcgYW5kZXJGdW5jdGlvbk5hbWUoKSBjb25z
dDsKLQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKCkgeyByZXR1cm4g
bV9nZXR0ZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIGFuZGVyRnVuY3Rp
b24oKSB7IHJldHVybiBtX2FuZGVyRnVuY3Rpb247IH0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9u
KiB0aHJlYWRBbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV90aHJlYWRBbmRlckZ1bmN0aW9uOyB9
Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24oKSB7IHJldHVybiBtX3Nl
dHRlckZ1bmN0aW9uOyB9Ci0KLSAgICB2b2lkIHNldEdldHRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVj
bGFyYXRpb24qIGdldHRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9nZXR0ZXJGdW5jdGlv
biA9IGdldHRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0QW5kZXJGdW5jdGlvbihG
dW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgbV9hbmRl
ckZ1bmN0aW9uID0gYW5kZXJGdW5jdGlvbjsKLSAgICB9Ci0KLSAgICB2b2lkIHNldFRocmVhZEFu
ZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbikKLSAg
ICB7Ci0gICAgICAgIG1fdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHRocmVhZEFuZGVyRnVuY3Rpb247
Ci0gICAgfQotCi0gICAgdm9pZCBzZXRTZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9u
KiBzZXR0ZXJGdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIG1fc2V0dGVyRnVuY3Rpb24gPSBzZXR0
ZXJGdW5jdGlvbjsKLSAgICB9Ci0KICAgICBFeHByZXNzaW9uJiBiYXNlKCkgeyByZXR1cm4gbV9i
YXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+JiBiYXNlUmVmZXJlbmNlKCkgeyByZXR1
cm4gbV9iYXNlOyB9CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Npb24+IHRha2VCYXNlKCkgeyByZXR1
cm4gV1RGTW92ZShtX2Jhc2UpOyB9CiAKIHByaXZhdGU6CiAgICAgVW5pcXVlUmVmPEV4cHJlc3Np
b24+IG1fYmFzZTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX2dldHRlckZ1bmN0aW9uIHsg
bnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIG1fYW5kZXJGdW5jdGlvbiB7IG51
bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uKiBtX3RocmVhZEFuZGVyRnVuY3Rpb24g
eyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogbV9zZXR0ZXJGdW5jdGlvbiB7
IG51bGxwdHIgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFTVApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5jcHAJKHJl
dmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw2IEBAIHZvaWQgVHlw
ZTo6ZGVzdHJveShUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAg
ICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBlPih0eXBlKTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRlICZk
b3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpOwotICAgICAgICBicmVhazsKICAgICBjYXNl
IEtpbmQ6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHR5cGUpOwogICAgICAgICBicmVhazsKQEAgLTEx
NSw5ICsxMTIsNiBAQCB2b2lkIFR5cGU6OmRlc3RydWN0KFR5cGUmIHR5cGUpCiAgICAgY2FzZSBL
aW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgZG93bmNhc3Q8SW50ZWdlckxpdGVyYWxUeXBl
Pih0eXBlKS5+SW50ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
S2luZDo6TnVsbExpdGVyYWw6Ci0gICAgICAgIGRvd25jYXN0PE51bGxMaXRlcmFsVHlwZT4odHlw
ZSkufk51bGxMaXRlcmFsVHlwZSgpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEtpbmQ6OlVu
c2lnbmVkSW50ZWdlckxpdGVyYWw6CiAgICAgICAgIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxp
dGVyYWxUeXBlPih0eXBlKS5+VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKTsKICAgICAgICAg
YnJlYWs7CkBAIC0xNTcsOCArMTUxLDYgQEAgYm9vbCBSZXNvbHZhYmxlVHlwZTo6Y2FuUmVzb2x2
ZShjb25zdCBUeQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4oKnRo
aXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2FzZSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29s
dmUodHlwZSk7Ci0gICAgY2FzZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRv
d25jYXN0PE51bGxMaXRlcmFsVHlwZT4oKnRoaXMpLmNhblJlc29sdmUodHlwZSk7CiAgICAgY2Fz
ZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAg
IGRlZmF1bHQ6CkBAIC0xNzMsOCArMTY1LDYgQEAgdW5zaWduZWQgUmVzb2x2YWJsZVR5cGU6OmNv
bnZlcnNpb25Db3N0KAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8RmxvYXRMaXRlcmFsVHlwZT4o
KnRoaXMpLmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVy
YWw6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5j
b252ZXJzaW9uQ29zdCh0eXBlKTsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3Qo
dHlwZSk7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJz
aW9uQ29zdCh0eXBlKTsKICAgICBkZWZhdWx0OgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkocmV2aXNpb24gMjQ5MjI3
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVHlwZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgLy8gUmVz
b2x2YWJsZVR5cGVzCiAgICAgICAgIEZsb2F0TGl0ZXJhbCwKICAgICAgICAgSW50ZWdlckxpdGVy
YWwsCi0gICAgICAgIE51bGxMaXRlcmFsLAogICAgICAgICBVbnNpZ25lZEludGVnZXJMaXRlcmFs
LAogICAgIH07CiAKQEAgLTkzLDcgKzkyLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0Zsb2F0
TGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6RmxvYXRMaXRlcmFs
OyB9CiAgICAgYm9vbCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IHsgcmV0dXJuIGtpbmQo
KSA9PSBLaW5kOjpJbnRlZ2VyTGl0ZXJhbDsgfQotICAgIGJvb2wgaXNOdWxsTGl0ZXJhbFR5cGUo
KSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29s
IGlzVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsgfQogCiAgICAgVHlwZSYgdW5pZnlOb2RlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1
bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5j
dGlvbldyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDU3IEBAIHN0YXRpYyB2
b2lkIGRlY2xhcmVGdW5jdGlvbihTdHJpbmdCdWlsZGUKICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKTtcbiIpOwogfQogCitzdHJ1Y3QgVmFyaWFibGUgeworICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgbmFtZTsKKyAgICBNYW5nbGVkVHlwZU5hbWUgdHlwZTsKK307CisKIGNsYXNzIEZ1bmN0aW9u
RGVmaW5pdGlvbldyaXRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICBjbGFzcyBIb2lzdGVkVmFy
aWFibGVDb2xsZWN0b3IgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIHB1YmxpYzoKKyAgICAg
ICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yKEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlciYgZnVu
Y3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAgICAgICAgOiBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXIoZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKQorICAgICAgICB7CisgICAgICAgIH0KKwor
ICAgICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKSBv
dmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZhcmlhYmxl
czsKKyAgICAgICAgICAgIHNpemVfdCBzaXplID0gY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCku
c2l6ZSgpOworICAgICAgICAgICAgYm9vbCBpc1ZvaWQgPSBtYXRjaGVzKGNhbGxFeHByZXNzaW9u
LnJlc29sdmVkVHlwZSgpLCBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV9pbnRyaW5zaWNzLnZv
aWRUeXBlKCkpOworICAgICAgICAgICAgaWYgKCFpc1ZvaWQpCisgICAgICAgICAgICAgICAgKytz
aXplOworICAgICAgICAgICAgdmFyaWFibGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7
CisKKyAgICAgICAgICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxsRXhwcmVzc2lvbi5hcmd1
bWVudHMoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gdHlwZSA9IGZ1bmN0aW9uRGVmaW5pdGlv
bldyaXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYXJndW1lbnQtPnJlc29sdmVk
VHlwZSgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIG5hbWUgPSBmdW5jdGlvbkRlZmluaXRpb25X
cml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgICAgICAgICAgICAgdmFyaWFi
bGVzLnVuY2hlY2tlZEFwcGVuZChWYXJpYWJsZSB7IG5hbWUsIHR5cGUgfSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGlmICghaXNWb2lkKQorICAgICAgICAgICAgICAgIHZhcmlhYmxl
cy51bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIuZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpIH0p
OworCisgICAgICAgICAgICB0b0hvaXN0LmFkZCgmY2FsbEV4cHJlc3Npb24sIFdURk1vdmUodmFy
aWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGNhbGxFeHByZXNzaW9uKTsK
KyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdmlzaXQoQVNUOjpSZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uJiByZWFkTW9kaWZ5V3JpdGUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAg
IFZlY3RvcjxWYXJpYWJsZT4gdmFyaWFibGVzOworICAgICAgICAgICAgdmFyaWFibGVzLmFwcGVu
ZChWYXJpYWJsZSB7IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5nZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKSwgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLm1fdHlwZU5hbWVyLm1hbmdsZWROYW1l
Rm9yVHlwZSgqcmVhZE1vZGlmeVdyaXRlLm9sZFZhbHVlKCkudHlwZSgpKSB9KTsKKyAgICAgICAg
ICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIu
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlci5tX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5uZXdWYWx1ZSgpLnR5
cGUoKSkgfSk7CisKKyAgICAgICAgICAgIHRvSG9pc3QuYWRkKCZyZWFkTW9kaWZ5V3JpdGUsIFdU
Rk1vdmUodmFyaWFibGVzKSk7CisKKyAgICAgICAgICAgIFZpc2l0b3I6OnZpc2l0KHJlYWRNb2Rp
ZnlXcml0ZSk7CisgICAgICAgIH0KKworICAgICAgICBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIm
IGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjsKKyAgICAgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Np
b24qLCBWZWN0b3I8VmFyaWFibGU+PiB0b0hvaXN0OworICAgIH07CisKIHB1YmxpYzoKICAgICBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIoU3RyaW5nQnVpbGRlciYgc3RyaW5nQnVpbGRlciwgSW50
cmluc2ljcyYgaW50cmluc2ljcywgVHlwZU5hbWVyJiB0eXBlTmFtZXIsIEhhc2hNYXA8QVNUOjpG
dW5jdGlvbkRlY2xhcmF0aW9uKiwgTWFuZ2xlZEZ1bmN0aW9uTmFtZT4mIGZ1bmN0aW9uTWFwcGlu
ZywgTGF5b3V0JiBsYXlvdXQpCiAgICAgICAgIDogbV9zdHJpbmdCdWlsZGVyKHN0cmluZ0J1aWxk
ZXIpCkBAIC0xMDAsMTQgKzE1MCwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB2aXNpdChBU1Q6
OkludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRl
cmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAg
IHZvaWQgdmlzaXQoQVNUOjpFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6R2xvYmFs
VmFyaWFibGVSZWZlcmVuY2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4cHJlc3Npb24m
KSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9u
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mKSBv
dmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24mKSBvdmVy
cmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mKSBvdmVycmlkZTsKQEAg
LTEzMSw2NSArMTc5LDYgQEAgcHJvdGVjdGVkOgogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBn
ZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSB7IHJldHVybiB7IG1fdmFyaWFibGVDb3VudCsrIH07
IH0KIAotICAgIGVudW0gY2xhc3MgTnVsbGFiaWxpdHkgOiB1aW50OF90IHsKLSAgICAgICAgTm90
TnVsbCwKLSAgICAgICAgQ2FuQmVOdWxsCi0gICAgfTsKLQotICAgIHN0cnVjdCBTdGFja0l0ZW0g
ewotICAgICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlOwotICAgICAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIGxlZnRWYWx1ZTsKLSAgICAgICAgTnVsbGFiaWxpdHkgdmFsdWVOdWxsYWJpbGl0
eTsKLSAgICAgICAgTnVsbGFiaWxpdHkgbGVmdFZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIHN0
ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZTsKLSAg
ICB9OwotCi0gICAgc3RydWN0IFN0YWNrVmFsdWUgewotICAgICAgICBNYW5nbGVkVmFyaWFibGVO
YW1lIHZhbHVlOwotICAgICAgICBOdWxsYWJpbGl0eSBudWxsYWJpbGl0eTsKLSAgICB9OwotCi0g
ICAgLy8gVGhpcyBpcyB0aGUgaW1wb3J0YW50IGRhdGEgZmxvdyBzdGVwIHdoZXJlIHdlIGNhbiB0
YWtlIHRoZSBudWxsYWJpbGl0eSBvZiBhbiBsdmFsdWUKLSAgICAvLyBhbmQgdHJhbnNmZXIgaXQg
aW50byB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gcnZhbHVlLiBUaGlzIGlzIGNvbnZleWVkIGluIE1h
a2VQb2ludGVyRXhwcmVzc2lvbgotICAgIC8vIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24uIE1h
a2VQb2ludGVyRXhwcmVzc2lvbiB3aWxsIHRyeSB0byBwcm9kdWNlIHJ2YWx1ZXMgd2hpY2ggYXJl
Ci0gICAgLy8gbm9uLW51bGwsIGFuZCBEZXJlZmVyZW5jZUV4cHJlc3Npb24gd2lsbCB0YWtlIGEg
bm9uLW51bGwgcnZhbHVlIGFuZCB0cnkgdG8gcHJvZHVjZQotICAgIC8vIGEgbm9uLW51bGwgbHZh
bHVlLgotICAgIHZvaWQgYXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eShBU1Q6OkV4cHJl
c3Npb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBOdWxsYWJpbGl0eSBudWxsYWJpbGl0
eSkKLSAgICB7Ci0gICAgICAgIG1fc3RhY2suYXBwZW5kKHsgV1RGTW92ZSh2YWx1ZSksIHsgfSwg
bnVsbGFiaWxpdHksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIHsgfSB9KTsKLSAgICB9Ci0KLSAg
ICB2b2lkIGFwcGVuZFJpZ2h0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uLCBNYW5n
bGVkVmFyaWFibGVOYW1lIHZhbHVlKQotICAgIHsKLSAgICAgICAgYXBwZW5kUmlnaHRWYWx1ZVdp
dGhOdWxsYWJpbGl0eShleHByZXNzaW9uLCBXVEZNb3ZlKHZhbHVlKSwgTnVsbGFiaWxpdHk6OkNh
bkJlTnVsbCk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRMZWZ0VmFsdWUoQVNUOjpFeHByZXNz
aW9uJiBleHByZXNzaW9uLCBNYW5nbGVkVmFyaWFibGVOYW1lIHZhbHVlLCBNYW5nbGVkVmFyaWFi
bGVOYW1lIGxlZnRWYWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHksIHN0ZDo6ZnVuY3Rpb248
TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiBnZW5lcmF0ZUxlZnRWYWx1ZSA9IHsgfSkKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVF9VTlVTRUQoZXhwcmVzc2lvbiwgZXhwcmVzc2lvbi50eXBlQW5ub3RhdGlv
bigpLmxlZnRBZGRyZXNzU3BhY2UoKSk7Ci0gICAgICAgIEFTU0VSVChsZWZ0VmFsdWUgfHwgZ2Vu
ZXJhdGVMZWZ0VmFsdWUpOwotICAgICAgICBtX3N0YWNrLmFwcGVuZCh7IFdURk1vdmUodmFsdWUp
LCBXVEZNb3ZlKGxlZnRWYWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwsIG51bGxhYmlsaXR5
LCBXVEZNb3ZlKGdlbmVyYXRlTGVmdFZhbHVlKSB9KTsKLSAgICB9Ci0KLSAgICBNYW5nbGVkVmFy
aWFibGVOYW1lIHRha2VMYXN0VmFsdWUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3RhY2su
dGFrZUxhc3QoKS52YWx1ZTsKLSAgICB9Ci0KLSAgICBTdGFja1ZhbHVlIHRha2VMYXN0VmFsdWVB
bmROdWxsYWJpbGl0eSgpCi0gICAgewotICAgICAgICBhdXRvIGxhc3QgPSBtX3N0YWNrLnRha2VM
YXN0KCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QudmFsdWUsIGxhc3QudmFsdWVOdWxsYWJpbGl0
eSB9OwotICAgIH0KLQotICAgIFN0YWNrVmFsdWUgdGFrZUxhc3RMZWZ0VmFsdWUoKQotICAgIHsK
LSAgICAgICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICBpZiAoIWxh
c3QubGVmdFZhbHVlKQotICAgICAgICAgICAgbGFzdC5sZWZ0VmFsdWUgPSBsYXN0LmdlbmVyYXRl
TGVmdFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiB7IGxhc3QubGVmdFZhbHVlLCBsYXN0LmxlZnRW
YWx1ZU51bGxhYmlsaXR5IH07Ci0gICAgfQotCiAgICAgZW51bSBjbGFzcyBCcmVha0NvbnRleHQg
ewogICAgICAgICBMb29wLAogICAgICAgICBTd2l0Y2gKQEAgLTIwMywxMiArMTkyLDEyIEBAIHBy
b3RlY3RlZDoKICAgICBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1hbmdsZWRG
dW5jdGlvbk5hbWU+JiBtX2Z1bmN0aW9uTWFwcGluZzsKICAgICBIYXNoTWFwPEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbiosIE1hbmdsZWRWYXJpYWJsZU5hbWU+IG1fdmFyaWFibGVNYXBwaW5nOwog
Ci0gICAgVmVjdG9yPFN0YWNrSXRlbT4gbV9zdGFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50
cnlQb2ludFNjYWZmb2xkaW5nPiBtX2VudHJ5UG9pbnRTY2FmZm9sZGluZzsKICAgICBMYXlvdXQm
IG1fbGF5b3V0OwogICAgIHVuc2lnbmVkIG1fdmFyaWFibGVDb3VudCB7IDAgfTsKICAgICBPcHRp
b25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiBtX2JyZWFrT3V0T2ZDdXJyZW50TG9vcEVhcmx5VmFy
aWFibGU7CiAgICAgSW5kZW50YXRpb248ND4gbV9pbmRlbnQgeyAwIH07CisgICAgSGFzaE1hcDxB
U1Q6OkV4cHJlc3Npb24qLCBWZWN0b3I8VmFyaWFibGU+PiBtX2hvaXN0ZWRWYXJpYWJsZXM7CiB9
OwogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uJikKQEAgLTIxOCw2ICsyMDcsMjAgQEAgdm9pZCBGdW5jdGlvbkRlZmlu
aXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6
dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9uRGVmaW5pdGlvbikKIHsKKwor
ICAgIHsKKyAgICAgICAgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIGNvbGxlY3RvcigqdGhpcyk7
CisgICAgICAgIGNvbGxlY3Rvci5WaXNpdG9yOjp2aXNpdChmdW5jdGlvbkRlZmluaXRpb24pOwor
ICAgICAgICBtX2hvaXN0ZWRWYXJpYWJsZXMgPSBXVEZNb3ZlKGNvbGxlY3Rvci50b0hvaXN0KTsK
KyAgICB9CisKKyAgICBhdXRvIGRlZmluZUhvaXN0ZWRWYXJpYWJsZXMgPSBbJl0geworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIHZlY3RvciA6IG1faG9pc3RlZFZhcmlhYmxlcy52YWx1ZXMoKSkg
eworICAgICAgICAgICAgZm9yIChhdXRvIHZhcmlhYmxlIDogdmVjdG9yKQorICAgICAgICAgICAg
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIHZhcmlhYmxlLnR5cGUsICcgJywg
dmFyaWFibGUubmFtZSwgIjtcbiIpOworICAgICAgICB9CisgICAgfTsKKwogICAgIGF1dG8gaXRl
cmF0b3IgPSBtX2Z1bmN0aW9uTWFwcGluZy5maW5kKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAg
IEFTU0VSVChpdGVyYXRvciAhPSBtX2Z1bmN0aW9uTWFwcGluZy5lbmQoKSk7CiAgICAgaWYgKGZ1
bmN0aW9uRGVmaW5pdGlvbi5lbnRyeVBvaW50VHlwZSgpKSB7CkBAIC0yMzgsOCArMjQxLDEwIEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICAgICAgICAgICAg
ICBhdXRvIGFkZFJlc3VsdCA9IG1fdmFyaWFibGVNYXBwaW5nLmFkZCgmZnVuY3Rpb25EZWZpbml0
aW9uLnBhcmFtZXRlcnMoKVtpXSwgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPnBhcmFtZXRlclZh
cmlhYmxlcygpW2ldKTsKICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwg
YWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkZWZp
bmVIb2lzdGVkVmFyaWFibGVzKCk7CisKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChm
dW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9zdGFjay5p
c0VtcHR5KCkpOwogICAgICAgICB9CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1c
blxuIik7CiAKQEAgLTI0OCwxNyArMjUzLDIyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1QKICAgICAgICAgQVNTRVJUKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nID09
IG51bGxwdHIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZnVuY3Rpb25EZWZpbml0aW9uLnR5cGUoKSksICcg
JywgaXRlcmF0b3ItPnZhbHVlLCAnKCcpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGF1dG8mIHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07
CiAgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIsICIpOworICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyID0gZnVuY3Rpb25EZWZpbml0
aW9uLnBhcmFtZXRlcnMoKVtpXTsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3ZhcmlhYmxlTWFwcGluZy5hZGQoJnBhcmFtZXRlciwgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAg
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUoKnBhcmFtZXRlci0+dHlwZSgpKSwgJyAnLCBwYXJhbWV0ZXJOYW1lKTsKICAgICAgICAg
fQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpXG4iKTsKKworICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJ7XG4iKTsKKworICAgICAgICBkZWZpbmVIb2lzdGVkVmFyaWFi
bGVzKCk7CisKICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbi5i
bG9jaygpKTsKLSAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKKyAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgifVxuIik7CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJ1xuJyk7CiAgICAgfQogfQpAQCAtMzA5LDggKzMxOSw5IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6RWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudCYgZWZmZWN0ZnVsRXhwcmVz
c2lvblN0YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50KTsK
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZWZmZWN0ZnVsRXhwcmVzc2lvblN0YXRlbWVudC5lZmZl
Y3RmdWxFeHByZXNzaW9uKCkpOwotICAgIHRha2VMYXN0VmFsdWUoKTsgLy8gVGhlIHN0YXRlbWVu
dCBpcyBhbHJlYWR5IGVmZmVjdGZ1bCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyB3
aXRoIHRoZSByZXN1bHQuCisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkZhbGx0aHJvdWdoJikK
QEAgLTMzMCwxMCArMzQxLDEyIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjplbWl0
TG9vcCgKICAgICAgICAgSW5kZW50YXRpb25TY29wZSB3aGlsZVNjb3BlKG1faW5kZW50KTsKIAog
ICAgICAgICBpZiAobG9vcENvbmRpdGlvbkxvY2F0aW9uID09IExvb3BDb25kaXRpb25Mb2NhdGlv
bjo6QmVmb3JlQm9keSAmJiBjb25kaXRpb25FeHByZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7
CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwog
ICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2lu
ZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBt
X2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAgICAgICAgICAgICAgICIpKVxuIiwKKyAgICAg
ICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiZG8ge1xuIik7CkBAIC0zNTAsMTcgKzM2MywxOCBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgICAgICBt
X2luZGVudCwgIiAgICBicmVhaztcbiIpOwogCiAgICAgICAgIGlmIChpbmNyZW1lbnQpIHsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIigiKTsKICAgICAgICAgICAgIGNoZWNr
RXJyb3JBbmRWaXNpdCgqaW5jcmVtZW50KTsKLSAgICAgICAgICAgIC8vIEV4cHJlc3Npb24gcmVz
dWx0cyBnZXQgcHVzaGVkIHRvIG1fc3RhY2suIFdlIGRvbid0IHVzZSB0aGUgcmVzdWx0Ci0gICAg
ICAgICAgICAvLyBvZiBpbmNyZW1lbnQsIHNvIHdlIGRpc3BlbnNlIG9mIHRoYXQgbm93LgotICAg
ICAgICAgICAgdGFrZUxhc3RWYWx1ZSgpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKTtcbiIpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2Nh
dGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkFmdGVyQm9keSAmJiBjb25kaXRpb25FeHBy
ZXNzaW9uKSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAg
ICAgICAgIG1faW5kZW50LCAiaWYgKCEoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlz
aXQoKmNvbmRpdGlvbkV4cHJlc3Npb24pOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghIiwgdGFrZUxhc3RWYWx1ZSgp
LCAiKVxuIiwKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgIiAgICBicmVhaztcbiIpOworICAg
ICAgICAgICAgICAgICIpKVxuIiwKKyAgICAgICAgICAgICAgICAiICAgIGJyZWFrO1xuIik7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTM5MCwxMiArNDA0LDE1IEBAIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6SWZTdGF0ZW1lbnQmIGlmU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQobV9pbmRlbnQsICJpZiAoIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGlm
U3RhdGVtZW50LmNvbmRpdGlvbmFsKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9p
bmRlbnQsICJpZiAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7XG4iKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpIHtcbiIpOworCiAgICAgewogICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IGlmU2NvcGUobV9pbmRlbnQpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaWZTdGF0ZW1l
bnQuYm9keSgpKTsKICAgICB9CisKICAgICBpZiAoaWZTdGF0ZW1lbnQuZWxzZUJvZHkoKSkgewog
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAifSBlbHNlIHtcbiIpOwog
ICAgICAgICB7CkBAIC00MDMsMjkgKzQyMCwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUCiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmlmU3RhdGVt
ZW50LmVsc2VCb2R5KCkpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgIn1cbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpSZXR1cm4mIHJldHVyblN0YXRlbWVudCkKIHsKICAgICBpZiAocmV0
dXJuU3RhdGVtZW50LnZhbHVlKCkpIHsKKyAgICAgICAgYXV0byB0ZW1wUmV0dXJuTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOyAKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblN0YXRlbWVu
dC52YWx1ZSgpLT5yZXNvbHZlZFR5cGUoKSksICcgJywgdGVtcFJldHVybk5hbWUsICIgPSAiKTsg
CiAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdCgqcmV0dXJuU3RhdGVtZW50LnZhbHVlKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICBpZiAobV9l
bnRyeVBvaW50U2NhZmZvbGRpbmcpIHsKICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgICAgICBtX2VudHJ5UG9pbnRTY2Fm
Zm9sZGluZy0+ZW1pdFBhY2sobV9zdHJpbmdCdWlsZGVyLCB0YWtlTGFzdFZhbHVlKCksIHZhcmlh
YmxlTmFtZSwgbV9pbmRlbnQpOworICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmct
PmVtaXRQYWNrKG1fc3RyaW5nQnVpbGRlciwgdGVtcFJldHVybk5hbWUsIHZhcmlhYmxlTmFtZSwg
bV9pbmRlbnQpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
InJldHVybiAiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuICIsIHRha2VMYXN0
VmFsdWUoKSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgInJldHVybiAiLCB0ZW1wUmV0dXJuTmFtZSwgIjtcbiIpOwogICAgIH0gZWxzZQogICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAicmV0dXJuO1xuIik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVu
dCYgc3dpdGNoU3RhdGVtZW50KQogeworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRl
bnQsICJzd2l0Y2ggKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChzd2l0Y2hTdGF0ZW1lbnQu
dmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7Iik7CiAKLSAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiLCB0YWtlTGFzdFZhbHVlKCks
ICIpIHsiKTsKICAgICB7CiAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc3dpdGNoU2NvcGUobV9p
bmRlbnQpOwogICAgICAgICBmb3IgKGF1dG8mIHN3aXRjaENhc2UgOiBzd2l0Y2hTdGF0ZW1lbnQu
c3dpdGNoQ2FzZXMoKSkKQEAgLTQ1NCw1OSArNDc2LDM0IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6SW50ZWdlckxpdGVyYWwmIGludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVk
VHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaW50ZWdlckxpdGVyYWwu
cmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1h
bmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5n
bGVkVHlwZU5hbWUsICI+KCIsIGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAg
YXBwZW5kUmlnaHRWYWx1ZShpbnRlZ2VyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IGludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmIHVuc2lnbmVkSW50
ZWdlckxpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJp
YWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywg
dmFyaWFibGVOYW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCB1
bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCksICIpO1xuIik7Ci0gICAgYXBwZW5kUmlnaHRW
YWx1ZSh1bnNpZ25lZEludGVnZXJMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVm
aW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkKIHsK
LSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAg
IGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZs
b2F0TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19j
YXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpO1xu
Iik7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShmbG9hdExpdGVyYWwsIHZhcmlhYmxlTmFtZSk7Ci19
Ci0KLXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFs
JiBudWxsTGl0ZXJhbCkKLXsKLSAgICBhdXRvJiB1bmlmeU5vZGUgPSBudWxsTGl0ZXJhbC5yZXNv
bHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICBhdXRvJiB1bm5hbWVkVHlwZSA9IGRvd25jYXN0
PEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgYm9vbCBpc0FycmF5UmVmZXJlbmNl
VHlwZSA9IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSk7Ci0KLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlw
ZShudWxsTGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7
Ci0gICAgaWYgKGlzQXJyYXlSZWZlcmVuY2VUeXBlKQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCJ7IG51bGxwdHIsIDAgfTtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgibnVsbHB0cjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUobnVsbExp
dGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGlj
X2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBmbG9hdExpdGVyYWwudmFsdWUoKSwgIiki
KTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Qm9vbGVh
bkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoYm9vbGVhbkxpdGVyYWwucmVzb2x2ZWRUeXBlKCkp
OwotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwg
JyAnLCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+
KCIsIGJvb2xlYW5MaXRlcmFsLnZhbHVlKCkgPyAidHJ1ZSIgOiAiZmFsc2UiLCAiKTtcbiIpOwot
ICAgIGFwcGVuZFJpZ2h0VmFsdWUoYm9vbGVhbkxpdGVyYWwsIHZhcmlhYmxlTmFtZSk7CisgICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAi
PigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8gInRydWUiIDogImZhbHNlIiwgIikiKTsKIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25N
ZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpCiB7CiAgICAgQVNTRVJUKGVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7CiAgICAgQVNT
RVJUKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbkRlZmluaXRpb24oKSk7Ci0g
ICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBh
dXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShlbnVt
ZXJhdGlvbk1lbWJlckxpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwotICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIg
PSAiLCBtYW5nbGVkVHlwZU5hbWUsICI6OiIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yRW51
bWVyYXRpb25NZW1iZXIoKmVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5lbnVtZXJhdGlvbk1lbWJl
cigpKSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZW51bWVyYXRpb25NZW1iZXJMaXRl
cmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5
cGVOYW1lLCAiOjoiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVy
KCplbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSkpOwogfQogCiB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpFeHByZXNzaW9uJiBleHBy
ZXNzaW9uKQpAQCAtNTE0LDUwICs1MTEsOTQgQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVAogICAgIFZpc2l0b3I6OnZpc2l0KGV4cHJlc3Npb24pOwogfQogCi12b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RF
eHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAg
ICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4
OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZG90RXhwcmVzc2lvbiwgZ2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCkpOwotfQotCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSYgZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Up
CiB7Ci0gICAgYXV0byB2YWx1ZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAg
ICBNYW5nbGVkVHlwZU5hbWUgbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKLQotICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOwotICAg
IE1hbmdsZWRWYXJpYWJsZU5hbWUgc3RydWN0VmFyaWFibGUgPSB0YWtlTGFzdFZhbHVlKCk7Ci0K
ICAgICBNYW5nbGVkU3RydWN0dXJlRWxlbWVudE5hbWUgbWFuZ2xlZEZpZWxkTmFtZSA9IG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudChnbG9iYWxWYXJpYWJsZVJlZmVy
ZW5jZS5zdHJ1Y3RGaWVsZCgpKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7Cisg
ICAgY2hlY2tFcnJvckFuZFZpc2l0KGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlLmJhc2UoKSk7Cisg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS0+IiwgbWFuZ2xlZEZpZWxkTmFtZSk7Cit9CiAK
LSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICBtX2luZGVudCwgbWFuZ2xlZFR5
cGVOYW1lLCAnICcsIHZhbHVlTmFtZSwgIiA9ICIsIHN0cnVjdFZhcmlhYmxlLCAiLT4iLCBtYW5n
bGVkRmllbGROYW1lLCAiO1xuIik7Cit2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlz
aXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQoreworICAgIGF1dG8mIHR5cGUg
PSBkb3RFeHByZXNzaW9uLmJhc2UoKS5yZXNvbHZlZFR5cGUoKS51bmlmeU5vZGUoKTsKIAotICAg
IGFwcGVuZExlZnRWYWx1ZShnbG9iYWxWYXJpYWJsZVJlZmVyZW5jZSwgdmFsdWVOYW1lLCB7IH0s
IE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBz
dHJ1Y3RWYXJpYWJsZSwgbWFuZ2xlZEZpZWxkTmFtZV0gewotICAgICAgICAgICAgYXV0byBwb2lu
dGVyTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBtX2luZGVudCwgInRocmVhZCAiLCBt
YW5nbGVkVHlwZU5hbWUsICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHN0cnVjdFZhcmlhYmxl
LCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7Ci0gICAgICAgICAgICByZXR1cm4gcG9p
bnRlck5hbWU7Ci0gICAgICAgIH0pOworICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRp
b24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2Fz
dDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpOworICAgICAgICBhdXRvKiBzdHJ1Y3R1
cmVFbGVtZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGRvdEV4cHJlc3Npb24uZmllbGRO
YW1lKCkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJlRWxlbWVudCk7CisgICAgICAgIGF1dG8g
ZWxlbWVudE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQo
KnN0cnVjdHVyZUVsZW1lbnQpOworCisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygn
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgU3RyaW5nIGVsZW1lbnROYW1lID0gZG90RXhwcmVzc2lvbi5maWVsZE5h
bWUoKTsKKyAgICAgICAgaWYgKGVsZW1lbnROYW1lID09ICJsZW5ndGgiICYmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHR5cGUpIHx8IChp
czxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSkgJiYgZG93bmNhc3Q8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLmlzVmVjdG9yKCkpKSkgeworICAgICAgICAgICAgaWYg
KGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5k
VmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIikubGVuZ3RoIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzPEFTVDo6
QXJyYXlUeXBlPih0eXBlKSkgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lv
bi5iYXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwg
ZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51bUVsZW1lbnRzKCksICIpIik7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
JygnKTsKKyAgICAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5i
YXNlKCkpOworICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgZG93
bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclNpemUoKSwgIiki
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3RF
eHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIp
LiIsIGVsZW1lbnROYW1lKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJiBpbmRleEV4cHJlc3Np
b24pCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAgIC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4IFJlcGxh
Y2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShpbmRleEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpKTsKLX0KKyAgICAvLyBGSVhNRTogTWFrZSBpdCBzbyB0aGF0IGV2YWx1YXRpbmcg
aW5kZXggYW5kIGJhc2UgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorCisgICAg
YXV0byYgdHlwZSA9IGluZGV4RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2ZWRUeXBlKCkudW5pZnlO
b2RlKCk7CisgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih0eXBlKSkgeworICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChpbmRleEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKS5wb2ludGVyWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhw
cmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoIikgPCAoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24u
YmFzZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS5sZW5ndGggPyAiKTsK
KyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Np
b24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA6IDBdIik7CisgICAgfSBl
bHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNz
aW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikuZGF0YSgpWygi
KTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5pbmRleEV4cHJl
c3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPCAiLCBkb3duY2Fz
dDxBU1Q6OkFycmF5VHlwZT4odHlwZSkubnVtRWxlbWVudHMoKSwgIiA/ICIpOworICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDogMF0iKTsKKyAgICB9IGVsc2UgaWYgKGlz
PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBuYXRp
dmVUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgpKQor
ICAgICAgICAgICAgc2l6ZSA9IG5hdGl2ZVR5cGUubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Cisg
ICAgICAgIGVsc2UgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkKKyAgICAgICAgICAgIHNpemUg
PSBuYXRpdmVUeXBlLnZlY3RvclNpemUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pCi17Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgbG93ZXJlZCBhbHJlYWR5LgotICAg
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Nzg4
IFJlcGxhY2UgdGhpcyB3aXRoIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgYXBwZW5kUmlnaHRWYWx1ZShwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2Uo
KSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIilbKCIpOworICAgICAgICBjaGVj
a0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIDwgIiwgc2l6ZSwgIikgPyAoIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDogMF0iKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgCiB9CiAKIHZvaWQgRnVuY3Rpb25E
ZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24mIHZhcmlhYmxl
RGVjbGFyYXRpb24pCkBAIC01NjgsMTgxICs2MDksMTg5IEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVz
dWx0LmlzTmV3RW50cnkpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4MTYwIEltcGxlbWVudCBxdWFsaWZpZXJzLgogICAgIGlmICh2YXJp
YWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyKCkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVy
LmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFibGVOYW1lLCAiID0gIik7CiAgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdCgqdmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigpKTsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgdGFrZUxhc3RWYWx1ZSgpLCAiO1xuIik7CisgICAgICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIjtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnZhcmlh
YmxlRGVjbGFyYXRpb24udHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7IH07XG4iKTsK
IH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6QXNzaWdubWVu
dEV4cHJlc3Npb24mIGFzc2lnbm1lbnRFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJygnKTsKICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Np
b24ubGVmdCgpKTsKLSAgICBhdXRvIFtwb2ludGVyTmFtZSwgbnVsbGFiaWxpdHldID0gdGFrZUxh
c3RMZWZ0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChhc3Np
Z25tZW50RXhwcmVzc2lvbi5yaWdodCgpKTsKLSAgICBhdXRvIFtyaWdodE5hbWUsIHJpZ2h0TnVs
bGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0KLSAgICBpZiAobnVs
bGFiaWxpdHkgPT0gTnVsbGFiaWxpdHk6OkNhbkJlTnVsbCkKLSAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCIsIHBvaW50ZXJOYW1lLCAi
KVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICoiLCBwb2ludGVyTmFtZSwgIiA9ICIs
IHJpZ2h0TmFtZSwgIjtcbiIpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChtX2luZGVudCwgIioiLCBwb2ludGVyTmFtZSwgIiA9ICIsIHJpZ2h0TmFtZSwgIjtcbiIp
OwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoYXNzaWdubWVudEV4cHJlc3Np
b24sIHJpZ2h0TmFtZSwgcmlnaHROdWxsYWJpbGl0eSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNU
OjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pCiB7CisgICAgYXV0byBpdGVyID0gbV9o
b2lzdGVkVmFyaWFibGVzLmZpbmQoJmNhbGxFeHByZXNzaW9uKTsKKyAgICBSRUxFQVNFX0FTU0VS
VChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7CisgICAgYXV0byYgdmFyaWFibGVz
ID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQoY2FsbEV4cHJlc3Npb24uYXJndW1l
bnRzKCkuc2l6ZSgpIDw9IHZhcmlhYmxlcy5zaXplKCkpOwogICAgIFZlY3RvcjxNYW5nbGVkVmFy
aWFibGVOYW1lPiBhcmd1bWVudE5hbWVzOwotICAgIGZvciAoYXV0byYgYXJndW1lbnQgOiBjYWxs
RXhwcmVzc2lvbi5hcmd1bWVudHMoKSkgewotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXJn
dW1lbnQpOwotICAgICAgICBhcmd1bWVudE5hbWVzLmFwcGVuZCh0YWtlTGFzdFZhbHVlKCkpOwot
ICAgIH0KIAotICAgIGJvb2wgaXNWb2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZl
ZFR5cGUoKSwgbV9pbnRyaW5zaWNzLnZvaWRUeXBlKCkpOwotICAgIE1hbmdsZWRWYXJpYWJsZU5h
bWUgcmV0dXJuTmFtZTsKLSAgICBpZiAoIWlzVm9pZCkgewotICAgICAgICByZXR1cm5OYW1lID0g
Z2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShjYWxsRXhwcmVzc2lv
bi5yZXNvbHZlZFR5cGUoKSksICcgJywgcmV0dXJuTmFtZSwgIjtcbiIpOworICAgIE1hbmdsZWRW
YXJpYWJsZU5hbWUgcmVzdWx0TmFtZTsKKyAgICBpZiAoIW1hdGNoZXMoY2FsbEV4cHJlc3Npb24u
cmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlwZSgpKSkKKyAgICAgICAgcmVzdWx0
TmFtZSA9IHZhcmlhYmxlcy5sYXN0KCkubmFtZTsKKworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQoJygnKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxFeHByZXNzaW9uLmFyZ3Vt
ZW50cygpLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgYXJndW1lbnROYW1lcy5hcHBlbmQodmFy
aWFibGVzW2ldLm5hbWUpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxl
c1tpXS5uYW1lLCAiID0gIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChjYWxsRXhwcmVz
c2lvbi5hcmd1bWVudHMoKVtpXSk7CiAgICAgfQogCi0gICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpIHsKLSAgICAgICAg
YXV0byBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUgPSBbdGhpc10oKSAtPiBNYW5nbGVkVmFyaWFi
bGVOYW1lIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLT5nZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUoKTsKLSAgICAgICAgfTsKKyAgICBpZiAoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkuc2l6
ZSgpKQorICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOwogCi0gICAgICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgICAgIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KG1fc3RyaW5nQnVpbGRlciwgZG93bmNhc3Q8QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
PihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSwgcmV0dXJuTmFtZSwgYXJndW1lbnROYW1lcywg
bV9pbnRyaW5zaWNzLCBtX3R5cGVOYW1lciwgV1RGTW92ZShnZW5lcmF0ZU5leHRWYXJpYWJsZU5h
bWUpLCBtX2luZGVudCk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJ1xuJyk7Cisg
ICAgaWYgKGlzPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4oY2FsbEV4cHJlc3Npb24u
ZnVuY3Rpb24oKSkpIHsKKyAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdCdWls
ZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNz
aW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCByZXN1bHROYW1lLCBtX2ludHJpbnNpY3Ms
IG1fdHlwZU5hbWVyLCBtX2luZGVudCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fZnVu
Y3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpOwogICAgICAgICBB
U1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwotICAgICAgICBpZiAo
IWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmV0dXJuTmFtZSwg
IiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudE5hbWVzLnNpemUo
KTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Npb24u
YXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0gICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhwcmVzc2lvbiwg
cmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJlc3Npb24mIGNv
bW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiByZXN1
bHQ7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFuT25jZSA9
IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lvbi5saXN0
KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZhbHVlKCk7
CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY29tbWFF
eHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRlcmVmZXJlbmNl
RXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJlbmNlRXhwcmVz
c2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFiaWxpdHldID0g
dGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRWYWx1ZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9IG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBl
KCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCBy
ZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwgIiA/ICIs
ICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwotICAgIH0g
ZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1bHRWYWx1
ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZShk
ZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uJiBsb2dpY2Fs
RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIpOwogICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAgIGF1dG8gbGVm
dCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNhbEV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGxlZnQp
OwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAgY2FzZSBBU1Q6
OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNT
RVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpU
eXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcjoKICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBicmVhazsKICAg
ICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxF
eHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxOb3RF
eHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90RXhwcmVzc2lv
bi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywg
dmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUg
bWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZh
bHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwogICAg
IGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZhbHVlID0gdGFr
ZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBw
dHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUsICIsIDEgfSA6
ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0gZWxzZSBpZiAo
aXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0
VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNhc3Q8QVNUOjpB
cnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2
ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5n
bGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUsICItPmRhdGEo
KSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5VHlwZS5udW1F
bGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxWYWx1ZSA9IHRh
a2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxW
YWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xl
ZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uJiBtYWtlUG9p
bnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsK
LSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwot
ICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRo
TnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24m
KQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdy
aXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJl
IGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAg
ICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3Vs
dCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9u
CisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4g
QXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9y
ZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAgICovCisK
KyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRl
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7
CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQo
dmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFs
dWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUg
bmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJpYWJsZU1h
cHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7
CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwg
bmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOwor
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9u
KCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGxlZnQgdmFs
dWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5s
ZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFsdWVW
YXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRl
LnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhw
cmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNh
dGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhw
cmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtlTGFzdFZhbHVl
KCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBl
bHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9uLnJl
c29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIsIGJv
ZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVybmFy
eUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJp
YWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzgwMSw3IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlQoaXRlcmF0
b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRMZWZ0VmFsdWUo
dmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lXSB7Ci0g
ICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAidGhyZWFkICIs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZl
ZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtcbiIp
OwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6Q29uc3RhbnRF
eHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODE2LDYgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0oQVNUOjpGbG9h
dExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAgIFsmXShBU1Q6
Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVs
bHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9v
bGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQog
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2Vu
ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0OTIyNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxD
b2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IGZhbHNl
OwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQorc3RhdGljIFN0cmluZ1Zp
ZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJpbmdWaWV3IHsKICAgICAg
ICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1MywxNzEgQEAgc3RhdGlj
IFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxuIgogICAgICAgICAidXNp
bmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisgICAgICAgICJ0ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAgICAgICAic3RydWN0IFdTTE1h
dHJpeFxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIHZlYzxULCBSb3dzPiBjb2x1bW5z
W0NvbHNdO1xuIgorICAgICAgICAiICAgIHByaXZhdGU6XG4iCisgICAgICAgICIgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwg
Um93cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29sLCBfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFIuLi4+KVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0
dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBSPlxuIgor
ICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGlu
aXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4geyooZWxlbXMuYmVn
aW4oKSArIGMgKiBSb3dzICsgUikuLi59O1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBzdHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGNv
bHNfYWxsX3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9
O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8
dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMu
YmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+
XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcs
IFUuLi4gY29scykgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29scy4u
LiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgorICAgICAg
ICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAge1xuIgorICAgICAgICAiICAg
ICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywg
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAg
IDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9
XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2
ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50
XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3soQyA8IGNvbHMuc2l6ZSgpID8gKihjb2xz
LmJlZ2luKCkgKyBDKSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFn
LCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29s
cy4uLiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhw
bGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIGNvbnN0YW50XG4iCisg
ICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgICAgICB7XG4iCisgICAgICAg
ICIgICAgICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisgICAg
ICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PFQ+IGVs
ZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorICAgICAgICAi
ICAgICAgICA6IGNvbHVtbnN7YnVpbGRfZnVsbF9jb2woQywgZWxlbXMsIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NM
TWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSB0aHJlYWRcbiIKKyAg
ICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29sc19pbml0X3RhZygpLCBjb2xzLCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgor
ICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4o
VSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBlbGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgor
ICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5l
IFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSBjb25zdGFudFxu
IgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMsIF9t
YWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJp
eChUIHZhbCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodmFsLCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSBj
b25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNp
emVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMu
Li4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4g
JnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0
aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAgICAg
IiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25z
dCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAg
ICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4i
CisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVu
Y2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRo
YXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFk
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
ICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwg
X21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xu
IgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0
IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVs
dDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29s
cywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4
KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJp
eChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50
ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1h
dHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAg
OiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3Qg
dGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgor
ICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgor
ICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgdGhyZWFkIHZlYzxU
LCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisgICAgICAgICIgICAge1xuIgor
ICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50
IHIpIGRldmljZVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJu
IGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSB0
aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIHRocmVhZGdyb3VwXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtc
biIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGNvbnN0IHRocmVhZCB2
ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZFxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBjb25zdCBkZXZpY2UgdmVjPFQsIFJvd3M+
ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBkZXZpY2VcbiIKKyAgICAgICAgIiAgICB7XG4iCisg
ICAgICAgICIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorICAgICAgICAiICAgIH1cbiIK
KyAgICAgICAgIiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRv
cltdKGludCByKSBjb25zdCBjb25zdGFudFxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAg
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAg
ICAiICAgIGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAg
ICJ9O1xuIgorCisKICAgICB9OworCiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5l
ZWRlZChTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyKQpAQCAtNjcsNyArMjMxLDcgQEAgc3Rh
dGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZwogUmVuZGVyTWV0YWxDb2RlIGdl
bmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRSZW5kZXJTZW1hbnRpY3Mm
JiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkKIHsKICAgICBTdHJpbmdCdWlsZGVy
IHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9n
KCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZ3VlKCkpOwogCiAg
ICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAgICB0eXBlTmFtZXIuZW1pdE1ldGFs
VHlwZXMoc3RyaW5nQnVpbGRlcik7CkBAIC04Miw3ICsyNDYsNyBAQCBSZW5kZXJNZXRhbENvZGUg
Z2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhCiBDb21wdXRlTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxD
b2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRDb21wdXRlU2VtYW50aWNzJiYgbWF0Y2hlZFNl
bWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWls
ZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1l
ciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmlu
Z0J1aWxkZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NSwxNiArOTUsNiBAQCBzdGF0aWMgaW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5
cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAotc3RhdGljIEFTVDo6TmFtZWRUeXBl
JiB2ZWN0b3JJbm5lclR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIG5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbikKLXsKLSAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVu
dHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBuYXRpdmVUeXBlRGVjbGFyYXRpb247Ci0K
LSAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkg
PT0gMik7Ci0gICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJl
ZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKLSAg
ICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKLX0KLQogc3RhdGlj
IGNvbnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdG9yTGVuZ3RoKQogewogICAgIHN3aXRj
aCAodmVjdG9yTGVuZ3RoKSB7CkBAIC0xMjAsNyArMTEwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIq
IHZlY3RvclN1ZmZpeChpbnQgdmVjdAogICAgIH0KIH0KIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdzLCBJbnRy
aW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgc3RkOjpmdW5jdGlvbjxN
YW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lLCBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdz
LCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIEludHJpbnNpY3MmIC8qaW50cmluc2lj
cyovLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgSW5kZW50YXRpb248ND4pCiB7CiAgICAgYXV0byBh
c01hdHJpeFR5cGUgPSBbJl0gKEFTVDo6VW5uYW1lZFR5cGUmIHVubmFtZWRUeXBlKSAtPiBBU1Q6
Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiogewogICAgICAgICBhdXRvJiByZWFsVHlwZSA9IHVubmFt
ZWRUeXBlLnVuaWZ5Tm9kZSgpOwpAQCAtMTM5LDMzMyArMTI5LDc2IEBAIHZvaWQgaW5saW5lTmF0
aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGVO
YW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShyZXR1cm5UeXBlKTsKIAogICAgICAg
ICBpZiAoIW5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSkgewot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
eyB9O1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5
cGVOYW1lLCAiIHsgfSIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAx
KSB7CiAgICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFs
UGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRl
clR5cGUpOwogCiAgICAgICAgICAgICBhdXRvIGlzRW51bWVyYXRpb25EZWZpbml0aW9uID0gW10g
KGF1dG8mIHR5cGUpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gaXM8QVNUOjpOYW1lZFR5cGU+
KHR5cGUpICYmIGlzPEFTVDo6RW51bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5h
bWVkVHlwZT4odHlwZSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIGF1dG8mIHVuaWZp
ZWRSZXR1cm5UeXBlID0gcmV0dXJuVHlwZS51bmlmeU5vZGUoKTsKICAgICAgICAgICAgIGlmIChp
c0VudW1lcmF0aW9uRGVmaW5pdGlvbih1bmlmaWVkUmV0dXJuVHlwZSkgJiYgIWlzRW51bWVyYXRp
b25EZWZpbml0aW9uKHBhcmFtZXRlclR5cGUudW5pZnlOb2RlKCkpKSB7Ci0gICAgICAgICAgICAg
ICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIG1ldGFsUGFyYW1ldGVyVHlw
ZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgYXJnc1swXSwgIjtcbiIpOwogICAgICAg
ICAgICAgICAgIGF1dG8mIGVudW1lcmF0aW9uRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6RW51
bWVyYXRpb25EZWZpbml0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4odW5pZmllZFJldHVy
blR5cGUpKTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJz
d2l0Y2ggKCIsIHZhcmlhYmxlTmFtZSwgIikge1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKGluZGVudCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzWmVyb0Nhc2UgPSBmYWxzZTsKLSAgICAgICAgICAg
ICAgICAgICAgZm9yIChhdXRvJiBtZW1iZXIgOiBlbnVtZXJhdGlvbkRlZmluaXRpb24uZW51bWVy
YXRpb25NZW1iZXJzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGhhc1plcm9DYXNlIHw9
ICFtZW1iZXIuZ2V0KCkudmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImNhc2Ug
IiwgbWVtYmVyLmdldCgpLnZhbHVlKCksICI6XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nhc2UsIGhhc1plcm9DYXNlKTsK
LSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJkZWZhdWx0OlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGluZGVudCwgIiAgICAiLCB2YXJpYWJsZU5hbWUsICIgPSAwO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
c3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oKCIpOworICAgICAgICAgICAg
ICAgIGJvb2wgbG9vcGVkT25jZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJvb2wgaGFzWmVy
b0Nhc2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIG1lbWJlciA6IGVudW1l
cmF0aW9uRGVmaW5pdGlvbi5lbnVtZXJhdGlvbk1lbWJlcnMoKSkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAobG9vcGVkT25jZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIgfHwgIik7CisgICAgICAgICAgICAgICAgICAgIGhhc1plcm9DYXNlIHw9ICFt
ZW1iZXIuZ2V0KCkudmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoYXJnc1swXSwgIiA9PSAiLCBtZW1iZXIuZ2V0KCkudmFsdWUoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGxvb3BlZE9uY2UgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0
aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2YXJpYWJsZU5hbWUsICIpO1xu
Iik7CisgICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChoYXNaZXJvQ2FzZSwgaGFzWmVyb0Nh
c2UpOworCisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIikgPyAiLCBhcmdz
WzBdLCAiIDogMCkiKTsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHN0YXRpY19jYXN0PCIsIG1l
dGFsUmV0dXJuVHlwZU5hbWUsICI+KCIsIGFyZ3NbMF0sICIpO1xuIik7CisgICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5h
bWUsICI+KCIsIGFyZ3NbMF0sICIpIik7CiAKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCiAgICAgICAgIGlmIChhdXRvKiBtYXRyaXhUeXBlID0gYXNNYXRyaXhUeXBlKHJldHVyblR5
cGUpKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1Sb3dzID0gbWF0cml4VHlwZS0+bnVtYmVy
T2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1Db2x1bW5zID0gbWF0cml4
VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93
cyB8fCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVt
Um93cyAqIG51bUNvbHVtbnMpOwotCi0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiO1xu
Iik7Ci0KLSAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWJpZGUgYnkgdGhlIG1lbW9yeSBsYXlv
dXQgd2UgdXNlIGZvciBtYXRyaWNlcyBoZXJlLgotICAgICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSBudW1Sb3dzKSB7Ci0gICAgICAg
ICAgICAgICAgLy8gb3BlcmF0b3IgbWF0cml4TXhOICh2ZWN0b3JOLCAuLi4sIHZlY3Rvck4pCi0g
ICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVJvd3M7ICsraSkgewot
ICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtQ29sdW1uczsg
KytqKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCB2YXJpYWJsZU5hbWUsICJbIiwgaiAqIG51bVJvd3MgKyBpLCAiXSA9ICIsIGFyZ3NbaV0sICJb
IiwgaiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIC8vIG9wZXJhdG9yIG1hdHJpeE14TiAoc2NhbGFyLCAuLi4sIHNjYWxh
cikKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7Ci0gICAgICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bVJvd3M7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtQ29sdW1uczsgKytqKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHZhcmlhYmxlTmFt
ZSwgJ1snLCBqICogbnVtUm93cyArIGksICJdID0gIiwgYXJnc1tpbmRleF0sICI7XG4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJl
dHVyblR5cGVOYW1lLCAnKCcpOworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBh
cmdzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3NbaV0pOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCB2YXJpYWJsZU5h
bWUsICI7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiKCIpOwor
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbFJldHVyblR5cGVOYW1lLCAnKCcpOwog
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChpID4gMCkKKyAg
ICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIpOwogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoYXJnc1tpXSk7CiAgICAgICAg
IH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MDc3IEF1dGhvcnMgY2FuIG1ha2UgYSBzdHJ1Y3QgZmllbGQgbmFtZWQgImxl
bmd0aCIgdG9vLiBBdXRvZ2VuZXJhdGVkIGdldHRlcnMgZm9yIHRob3NlIHNob3VsZG4ndCB0YWtl
IHRoaXMgY29kZXBhdGguCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgp
ID09ICJvcGVyYXRvci5sZW5ndGgiKSB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoaW50cmluc2lj
cywgbWF0Y2hlcyhuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSwgaW50cmluc2ljcy51
aW50VHlwZSgpKSk7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8mIHBhcmFtZXRlclR5cGUgPSBu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5v
ZGUoKTsKLSAgICAgICAgYXV0byYgdW5uYW1lZFBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6
OlVubmFtZWRUeXBlPihwYXJhbWV0ZXJUeXBlKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlU
eXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIGFycmF5UGFy
YW1ldGVyVHlwZSA9IGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlw
ZSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcnJheVBhcmFtZXRlclR5cGUubnVtRWxlbWVudHMo
KSwgIjtcbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkUGFyYW1ldGVyVHlwZSkpOwot
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJu
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIubGVuZ3RoO1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3RhcnRzV2l0
aCgib3BlcmF0b3IuIl9zdHIpKSB7Ci0gICAgICAgIGF1dG8gYXBwZW5kTWFuZ2xlZEZpZWxkTmFt
ZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBmaWVsZE5hbWUpIHsKLSAgICAgICAgICAgIGF1dG8mIHVu
aWZ5Tm9kZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCktPnVuaWZ5Tm9kZSgpOwotICAgICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8
QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1
Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgc3Ry
dWN0dXJlRGVmaW5pdGlvbiA9IGRvd25jYXN0PEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFt
ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVtZW50ID0gc3RydWN0
dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHR5
cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVyZUVsZW1lbnQoKnN0cnVjdHVyZUVsZW1lbnQp
KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBB
U1NFUlQoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSkpOwotICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoZmllbGROYW1lKTsKLSAgICAgICAgfTsKLQotICAg
ICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuZW5kc1dpdGgoIj0iKSkg
ewotICAgICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvci4iX3N0ci5sZW5ndGgo
KSk7Ci0gICAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc3Vic3RyaW5nKDAsIGZpZWxk
TmFtZS5sZW5ndGgoKSAtIDEpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiO1xu
IiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICcuJyk7Ci0gICAgICAgICAg
ICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiID0gIiwgYXJnc1sxXSwgIjtcbiIpOwotCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvIGZpZWxkTmFtZSA9IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3IuIl9zdHIu
bGVuZ3RoKCkpOwotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGlu
ZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcuJyk7Ci0gICAgICAgIGFwcGVuZE1h
bmdsZWRGaWVsZE5hbWUoZmllbGROYW1lKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IjtcbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yJi4iX3N0cikpIHsKLSAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAxKTsKLSAgICAgICAgYXV0byBmaWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yJi4iX3N0ci5sZW5ndGgoKSk7Ci0KLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIg
PSAiLCBhcmdzWzBdLCAiID8gJigiLCBhcmdzWzBdLCAiLT4iKTsKLQotICAgICAgICBhdXRvJiB1
bm5hbWVkVHlwZSA9ICpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+
dHlwZSgpOwotICAgICAgICBhdXRvJiB1bmlmeU5vZGUgPSBkb3duY2FzdDxBU1Q6OlBvaW50ZXJU
eXBlPih1bm5hbWVkVHlwZSkuZWxlbWVudFR5cGUoKS51bmlmeU5vZGUoKTsKLSAgICAgICAgYXV0
byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5Tm9kZSk7Ci0gICAg
ICAgIGlmIChpczxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KG5hbWVkVHlwZSkpIHsKLSAgICAg
ICAgICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVy
ZURlZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICBhdXRvKiBzdHJ1Y3R1cmVFbGVt
ZW50ID0gc3RydWN0dXJlRGVmaW5pdGlvbi5maW5kKGZpZWxkTmFtZSk7Ci0gICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlRWxlbWVudCk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVt
ZW50KSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
ZmllbGROYW1lKTsKLQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6IG51bGxwdHI7
XG4iKTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvciZbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAg
ICAgQVNTRVJUKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPigqbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwotCi0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gKCIsIGFyZ3Nb
MV0sICIgPCAiLCBhcmdzWzBdLCAiLmxlbmd0aCkgPyAiLCAiICYoIiwgYXJnc1swXSwgIi5wb2lu
dGVyWyIsIGFyZ3NbMV0sICJdKSA6IG51bGxwdHI7XG4iKTsKLSAgICAgICAgICAgIAotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byB2ZWN0b3JTaXplID0gWyZdICgpIC0+IHVuc2ln
bmVkIHsKLSAgICAgICAgYXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJl
ZmVyZW5jZT4oKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCkpOwotICAgICAgICBhdXRvJiB2ZWN0b3JUeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBl
RGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8QVNUOjpU
eXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgpKS5yZXNv
bHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBlLm5hbWUoKSA9PSAidmVjdG9y
Iik7Ci0gICAgICAgIEFTU0VSVCh2ZWN0b3JUeXBlLnR5cGVBcmd1bWVudHMoKS5zaXplKCkgPT0g
Mik7Ci0gICAgICAgIHJldHVybiBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4odmVj
dG9yVHlwZS50eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCkudmFsdWUoKTsKLSAg
ICB9OwotCi0gICAgYXV0byBnZXRNYXRyaXhUeXBlID0gWyZdICgpIC0+IEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uJiB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxB
U1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgcmVzdWx0ID0gZG93bmNhc3Q8QVNUOjpOYXRp
dmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oZG93bmNhc3Q8
QVNUOjpUeXBlRGVmaW5pdGlvbj4odHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkudHlwZSgp
KS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIEFTU0VSVChyZXN1bHQuaXNNYXRyaXgoKSk7Ci0g
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfTsKLQotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXSIpIHsKLSAgICAgICAgQVNTRVJUKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsKLSAgICAgICAg
YXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBz
aXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRz
ID09IDMpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1h
bmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAg
ICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJP
Zk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ29sdW1ucyA9IGdl
dE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwot
Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAiID49ICIsIG51bWJlck9mUm93cywgIikg
e1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIg
PSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJyZXN1bHRbMF0gPSAiLCBhcmdzWzBdLCAnWycs
IGFyZ3NbMV0sICJdO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzFd
ID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzLCAiXTtcbiIp
OwotCi0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJyZXN1bHRbMl0gPSAiLCBh
cmdzWzBdLCAnWycsIGFyZ3NbMV0sICIgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXTtcbiIpOwot
ICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gNCkKLSAgICAgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVzdWx0WzNdID0gIiwgYXJnc1sw
XSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICogMywgIl07XG4iKTsKLSAgICAK
LSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCJ9IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLSAgICAgICAgICAgIHVu
c2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9yU2l6ZSgpOwotCi0gICAgICAgICAgICBhdXRvIG1l
dGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJkbyB7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAi
IHJlc3VsdDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFd
LCAiID49ICIsIG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIs
Ci0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgInJl
c3VsdCA9ICIsIGFyZ3NbMF0sICJbIiwgYXJnc1sxXSwgIl07XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSByZXN1bHQ7XG4iKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUgKDApO1xu
Iik7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJvcGVyYXRvcltdPSIpIHsKLSAgICAgICAg
YXV0byYgdHlwZVJlZmVyZW5jZSA9IGRvd25jYXN0PEFTVDo6VHlwZVJlZmVyZW5jZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpOwotICAgICAgICBz
aXplX3QgbnVtVHlwZUFyZ3VtZW50cyA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmlu
aXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBl
KCkpLnR5cGVBcmd1bWVudHMoKS5zaXplKCk7Ci0gICAgICAgIGlmIChudW1UeXBlQXJndW1lbnRz
ID09IDMpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBh
cmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVy
Mk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxS
ZXR1cm5OYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRl
Y2xhcmF0aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mUm93cyA9
IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeFJvd3MoKTsKLSAgICAgICAgICAgIHVuc2ln
bmVkIG51bWJlck9mQ29sdW1ucyA9IGdldE1hdHJpeFR5cGUoKS5udW1iZXJPZk1hdHJpeENvbHVt
bnMoKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xu
Iik7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5OYW1lLCAiIG0gPSAiLCBhcmdzWzBd
LCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFBhcmFtZXRlcjJOYW1l
LCAiIGkgPSAiLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
aWYgKGkgPj0gIiwgbnVtYmVyT2ZSb3dzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9IG07XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2ldID0gIiwgYXJnc1syXSwgIlsw
XTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIm1baSArICIsIG51bWJlck9mUm93
cywgIl0gPSAiLCBhcmdzWzJdLCAiWzFdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJl
ck9mQ29sdW1ucyA+PSAzKQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAyLCAiXSA9ICIsIGFyZ3NbMl0sICJb
Ml07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0gICAg
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIm1baSArICIsIG51
bWJlck9mUm93cyAqIDMsICJdID0gIiwgYXJnc1syXSwgIlszXTtcbiIpOwotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IG07XG4iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQobnVtVHlwZUFyZ3VtZW50cyA9PSAyKTsKLQotICAgICAgICAg
ICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9
PSAzKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxQYXJhbWV0ZXIyTmFtZSA9IHR5cGVOYW1lci5t
YW5nbGVkTmFtZUZvclR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygp
WzFdLT50eXBlKCkpOwotICAgICAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsK
LQotICAgICAgICAgICAgdW5zaWduZWQgbnVtRWxlbWVudHMgPSB2ZWN0b3JTaXplKCk7Ci0KLSAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsK
LQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiB2ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQYXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwg
YXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmIChpID49ICIs
IG51bUVsZW1lbnRzLCAiKSB7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
IiwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJ2W2ldID0gIiwgYXJnc1syXSwgIjtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHY7XG4iKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7
XG4iKTsKLSAgICAgICAgfQotCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5pc09wZXJhdG9yKCkpIHsKICAgICAgICAgYXV0byBvcGVyYXRvck5hbWUgPSBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9wZXJhdG9yIl9zdHIubGVuZ3RoKCkp
OwotICAgICAgICBhdXRvIG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOworCiAgICAgICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSkgeworICAg
ICAgICAgICAgLy8gVGhpcyBpcyBvayB0byBkbyBzaW5jZSB0aGUgYXJncyB0byB0aGlzIGZ1bmN0
aW9uIGFyZSBhbGwgdGVtcHMuCisgICAgICAgICAgICAvLyBTbyB0aGluZ3MgbGlrZSArKyBhbmQg
LS0gYXJlIG9rIHRvIGRvLgorCiAgICAgICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFz
TWF0cml4VHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKLSAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50
KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4ID0gIiwgYXJnc1swXSwg
IjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgIHhbaV0gPSAiLCBvcGVyYXRvck5hbWUsICJ4W2ldO1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBvcGVyYXRvck5hbWUsIGFyZ3Nb
MF0sICdbJywgaSwgJ10nKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHggPSAiLCBh
cmdzWzBdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFt
ZSwgIiA9ICIsIG9wZXJhdG9yTmFtZSwgIng7XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7Ci0gICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0
TmFtZSwgJyknKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKG9wZXJhdG9yTmFtZSwgYXJnc1swXSk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KIApAQCAtNDczLDQ5ICsyMDYsNDAgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAoYXV0byogbGVmdE1hdHJpeCA9IGFzTWF0
cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUo
KSkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4VHlwZSgq
bmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAg
ICAgICAgICAgICAgICAvLyBtYXRyaXggPG9wPiBtYXRyaXgKLSAgICAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlwZSwgIiB4O1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICJb
aV0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0geDtcbiIpOworICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGxlZnRNYXRyaXgtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIsIGFyZ3NbMF0sICdbJywgaSwg
Il0gIiwgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsKICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0
TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0
cml4IDxvcD4gc2NhbGFyCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5k
ZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVy
blR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiICAgIHhbaV0gPSAiLCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwg
JyAnLCBhcmdzWzFdLCAiO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0
cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwg
Iik7CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUs
ICdbJywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAn
LCBhcmdzWzFdKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFtZSwgJyknKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fSBlbHNlIGlmIChhdXRvKiByaWdodE1hdHJpeCA9IGFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpIHsKICAgICAgICAgICAgIEFT
U0VSVCghYXNNYXRyaXhUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KVswXS0+dHlwZSgpKSk7CiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9wPiBtYXRyaXgKLSAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgImZvciAoc2l6ZV90IGkgPSAwOyBpIDwgeC5zaXplKCk7ICsraSlcbiIsCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5h
bWUsICcgJywgYXJnc1sxXSwgIltpXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwg
cmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCcoJyk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmlnaHRNYXRyaXgt
Pm51bWJlck9mTWF0cml4Q29sdW1ucygpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkK
KyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQocmVzdWx0TmFtZSwgJ1snLCBpLCAiXSA9ICIs
IGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICdbJywgaSwgJ10nKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwg
In1cbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgcmVzdWx0TmFt
ZSwgJyknKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHNj
YWxhcgogICAgICAgICAgICAgLy8gdmVjdG9yIDxvcD4gdmVjdG9yCiAgICAgICAgICAgICAvLyB2
ZWN0b3IgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHNjYWxhciA8b3A+IHZlY3RvcgogICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5hbWUsICcgJywgYXJnc1sx
XSwgIjtcbiIpOworICAgICAgICAgICAgICAgICcoJywgYXJnc1swXSwgJyAnLCBvcGVyYXRvck5h
bWUsICcgJywgYXJnc1sxXSwgJyknKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybjsKQEAg
LTU0OCwzNSArMjcyLDM2IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICAgICAgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImxlbmd0
aCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSA9PSAxKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAnKCcsIGFyZ3NbMF0sICIpO1xuIik7CisgICAgICAg
ICAgICBtYXBGdW5jdGlvbk5hbWUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkpLCAn
KCcsIGFyZ3NbMF0sICcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gInBvdyIgfHwgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCkgPT0gImF0YW4yIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIs
IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLCAiKCIsIGFyZ3NbMF0sICIsICIsIGFy
Z3NbMV0sICIpO1xuIik7CisgICAgICAgICAgICBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5h
bWUoKSwgJygnLCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAnKScpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJj
bGFtcCIpIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpLnNpemUoKSA9PSAzKTsKLSAgICAgICAgaWYgKGFzTWF0cml4VHlwZShuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5U
eXBlID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnR5cGUoKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVu
dGF0aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIg
eDtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgImZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgeC5zaXplKCk7ICsraSkgXG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
eFtpXSA9IGNsYW1wKCIsIGFyZ3NbMF0sICJbaV0sICIsIGFyZ3NbMV0sICJbaV0sICIsIGFyZ3Nb
Ml0sICJbaV0pOyIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9
IHg7XG4iKTsKKworICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4VHlwZShu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnR5cGUoKSkpIHsKKyAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICBib29sIHJhbk9uY2UgPSBmYWxzZTsKKyAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1h
dHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOyArK2opIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmFuT25jZSA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0TmFtZSwgJ1snLCBpLCAiXVsiLCBqLCAiXSA9IGNsYW1wKCIsIGFy
Z3NbMF0sICdbJywgaSwgIl1bIiwgaiwgIl0sICIsIGFyZ3NbMV0sICdbJywgaSwgIl1bIiwgaiwg
Il0sICIsIGFyZ3NbMl0sICdbJywgaSwgIl1bIiwgaiwgIl0pIik7CisgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCAifVxuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCByZXN1bHRO
YW1lLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gY2xhbXAoIiwg
YXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIik7XG4iKTsKKyAgICAgICAg
ICAgICAgICAiY2xhbXAoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgIiwgYXJnc1syXSwg
JyknKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTg0LDIzICszMDks
MjMgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiQWxsTWVtb3J5QmFycmllcldpdGhH
cm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2Rldmlj
ZSk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxh
Z3M6Om1lbV90aHJlYWRncm91cCk7XG4iLAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKTtcbiIpOworICAgICAgICAgICAgInRo
cmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fZGV2aWNlKSIsCisgICAgICAgICAgICAi
dGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCkiLAorICAgICAg
ICAgICAgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSkiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAg
IEFTU0VSVCghbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsK
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJl
YWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSk7XG4iKTsKKyAgICAgICAgICAg
ICJ0aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUo
KSA9PSAiR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJU
KCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3Vw
X2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIik7CisgICAgICAgICAgICAi
dGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCkiKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjA4LDE1ICszMzMsMTUgQEAgdm9pZCBpbmxpbmVOYXRp
dmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbi5uYW1lKCkgPT0gIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlIikgewogICAgICAg
ICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUo
KSA9PSA0KTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGluZGVudCwgImF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoIiwgYXJn
c1swXSwgIiwgJiIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIsIG1lbW9yeV9vcmRlcl9yZWxh
eGVkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwg
JyonLCBhcmdzWzNdLCAiID0gIiwgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAgICAgICAgICIo
YXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwg
YXJnc1sxXSwgIiwgIiwgYXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9v
cmRlcl9yZWxheGVkKSwgIiwKKyAgICAgICAgICAgICAgICAnKicsIGFyZ3NbM10sICIgPSAiLCBh
cmdzWzFdLCAnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAg
QVNTRVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAz
KTsKICAgICAgICAgYXV0byBuYW1lID0gYXRvbWljTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLm5hbWUoKS5zdWJzdHJpbmcoIkludGVybG9ja2VkIl9zdHIubGVuZ3RoKCkpKTsKICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICcqJywgYXJnc1sy
XSwgIiA9IGF0b21pY18iLCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3Nb
MV0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgJyonLCBhcmdz
WzJdLCAiID0gYXRvbWljXyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTYzMCw3ICszNTUsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1
aWxkZXImCiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKHJl
dHVyblR5cGUpOwogCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
aW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5zYW1wbGUoIiwgYXJnc1sxXSwg
IiwgIik7CisgICAgICAgICAgICBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsK
IAogICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewogICAgICAgICAg
ICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBAIC02NDIsODEgKzM2Nyw2NiBA
QCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpIik7CiAgICAgICAgIGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRl
eHR1cmUoKSkKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIuIiwgInh5enciX3N0
ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCI7XG4iKTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJMb2FkIikgewogICAgICAgICBBU1NF
UlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwot
ICAgICAgICAKKwogICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKICAg
ICAgICAgYXV0byYgbG9jYXRpb25UeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvIGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKGxvY2F0aW9uVHlwZSk7CiAgICAgICAg
IGF1dG8mIHJldHVyblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgp
LnVuaWZ5Tm9kZSgpKSk7CiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9y
TGVuZ3RoKHJldHVyblR5cGUpOworICAgICAgICBhdXRvIGxvY2F0aW9uVHlwZU5hbWUgPSB0eXBl
TmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGxvY2F0aW9uVHlwZSk7CiAKLSAgICAgICAgYXV0byBt
ZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblR5cGUp
OwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAg
ICAgICB7Ci0gICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAg
ICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAg
ICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAg
U3RyaW5nIGRpbWVuc2lvbnNbXSA9IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRo
Il9zdHIgfTsKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVj
dG9yTGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0g
Inh5enciX3N0ci5zdWJzdHJpbmcoaSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFy
Z3NbMV0sICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJn
c1sxXSwgJy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNb
aV0sICIoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCBy
ZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
YXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAt
IDEsIDEpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcsIGFyZ3NbMV0sICIgPSAi
KTsKKyAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKKyAgICAgICAg
ICAgIEFTU0VSVChsb2NhdGlvblZlY3Rvckxlbmd0aCA+IDEpOworICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIsIGxvY2F0aW9uVHlwZU5hbWUs
ICcoJyk7CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoJzAnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpLCAiLCBsb2NhdGlvblR5cGVOYW1lLCAnKCcpOworCisgICAgICAgICAgICBTdHJp
bmcgZGltZW5zaW9uc1tdID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0
ciB9OworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsb2NhdGlvblZlY3Rvckxlbmd0
aCAtIDE7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0s
ICcuJywgc3VmZml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwg
Jy4nLCBzdWZmaXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSkge1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIg
ICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3Ro
ID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA8IDAgfHwgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KCIsIGFyZ3NbMV0sICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dp
ZHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0
dXJuTmFtZSwgIiA9ICIsIG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi54IDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
IiwgYXJnc1sxXSwgIi54KSA+PSAiLCBhcmdzWzBdLCAiLmdldF93aWR0aCgpKSB7XG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBt
ZXRhbFJldHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50
LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi55IDwg
MCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIi55KSA+PSAiLCBhcmdzWzBd
LCAiLmdldF9oZWlnaHQoKSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICAiLCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID49IDMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlm
ICgiLCBhcmdzWzFdLCAiLnogPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFd
LCAiLnopID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJl
dHVybk5hbWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSAtIDEiKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAg
ICAgICAgIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSAtIDEpKSIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID09IDEpCisgICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsIDAsICIs
IGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkgLSAxKSIpOworICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIs
IGxvY2F0aW9uVHlwZU5hbWUsICIoMCwgMCIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlv
blZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAwIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiksICIs
IGxvY2F0aW9uVHlwZU5hbWUsICcoJywgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEsICIsIGFy
Z3NbMF0sICIuZ2V0X2hlaWdodCgpIC0gMSIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlv
blZlY3Rvckxlbmd0aCA+PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgiLCAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgpIC0gMSIpOworICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpKSIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwg
Ii5yZWFkKCIpOwotICAgICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkp
IHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAg
ICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChs
b2NhdGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5z
dWJzdHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sx
XSwgJy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEp
LCAnKScpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcs
IGFyZ3NbMV0sICcpJyk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwot
ICAgICAgICAgICAgaWYgKCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQotICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwg
cmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgi
O1xuIik7CiAgICAgICAgIH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAi
fSB3aGlsZSgwKTtcbiIpOworCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGFy
Z3NbMF0sICIucmVhZCgiKTsKKworICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJy
YXkoKSkgeworICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Cisg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2Nh
dGlvblZlY3Rvckxlbmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5zdWJz
dHJpbmcoMCwgbG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sxXSwg
Jy4nLCAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAn
KScpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1
aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzFdLCAn
KScpOworICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgICAgICBpZiAoIXRl
eHR1cmVUeXBlLmlzRGVwdGhUZXh0dXJlKCkpCisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAsIHJldHVyblZlY3Rvckxlbmd0aCkpOwor
CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTcyNCwxOCArNDM0LDIwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
ImxvYWQiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFt
ZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gYXRvbWljX2xvYWRfZXhwbGljaXQoIiwg
YXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRv
bWljX2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbi5uYW1lKCkgPT0gInN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgImF0b21pY19zdG9yZV9leHBsaWNpdCgi
LCBhcmdzWzBdLCAiLCAiLCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsK
KyAgICAgICAgICAgICJhdG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJn
c1sxXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdldERpbWVu
c2lvbnMiKSB7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKICAgICAgICAg
YXV0byYgdGV4dHVyZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
ZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1l
dGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CiAKICAgICAgICAgc2l6ZV90IGluZGV4
ID0gMTsKQEAgLTc2NywzOCArNDc5LDM1IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3Ry
aW5nQnVpbGRlciYKICAgICAgICAgQVNTRVJUKGluZGV4ID09IG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoCi0gICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgd2lkdGhOYW1lLCAiKVxuIiwKLSAgICAg
ICAgICAgIGluZGVudCwgIiAgICAqIiwgd2lkdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRf
d2lkdGgoIik7CisgICAgICAgICAgICAnKicsIHdpZHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIu
Z2V0X3dpZHRoKCIpOwogICAgICAgICBpZiAoaGFzTWlwTGV2ZWwpCiAgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAogICAgICAgICBp
ZiAoaGVpZ2h0TmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpoZWlnaHROYW1lLCAiKVxuIiwKLSAgICAgICAg
ICAgICAgICBpbmRlbnQsICIgICAgKiIsICpoZWlnaHROYW1lLCAiID0gIiwgYXJnc1swXSwgIi5n
ZXRfaGVpZ2h0KCIpOworICAgICAgICAgICAgICAgICIsICoiLCAqaGVpZ2h0TmFtZSwgIiA9ICIs
IGFyZ3NbMF0sICIuZ2V0X2hlaWdodCgiKTsKICAgICAgICAgICAgIGlmIChoYXNNaXBMZXZlbCkK
ICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnKScpOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZXB0aE5hbWUpIHsKICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwg
ImlmICgiLCAqZGVwdGhOYW1lLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAg
KiIsICpkZXB0aE5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgiKTsKKyAgICAgICAg
ICAgICAgICAiLCAqIiwgKmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCIp
OwogICAgICAgICAgICAgaWYgKGhhc01pcExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGFyZ3NbMV0pOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
Iik7XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKGVsZW1lbnRzTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICplbGVtZW50c05hbWUs
ICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmVsZW1lbnRzTmFtZSwg
IiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKTtcbiIpOworICAgICAgICAgICAgICAg
ICIsICoiLCAqZWxlbWVudHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgp
Iik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKG51bWJlck9mTGV2ZWxzTmFtZSkgewogICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYg
KCIsICpudW1iZXJPZkxldmVsc05hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICAqIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9t
aXBfbGV2ZWxzKCk7XG4iKTsKKyAgICAgICAgICAgICAgICAiLCAqIiwgKm51bWJlck9mTGV2ZWxz
TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9taXBfbGV2ZWxzKCkiKTsKICAgICAgICAg
fQorCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTgzOCw2NiArNTQ3LDggQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihT
dHJpbmdCdWlsZGVyJgogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiU3RvcmUiKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIAotICAgICAgICBhdXRv
JiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3du
Y2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJz
KClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byYgaXRlbVR5cGUgPSBk
b3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5
cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVu
aWZ5Tm9kZSgpKSk7Ci0gICAgICAgIGF1dG8mIGl0ZW1WZWN0b3JJbm5lclR5cGUgPSB2ZWN0b3JJ
bm5lclR5cGUoaXRlbVR5cGUpOwotICAgICAgICBhdXRvIGl0ZW1WZWN0b3JMZW5ndGggPSB2ZWN0
b3JMZW5ndGgoaXRlbVR5cGUpOwotICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2Fz
dDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzJdLT50eXBlKCktPnVuaWZ5Tm9k
ZSgpKSk7Ci0gICAgICAgIGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgo
bG9jYXRpb25UeXBlKTsKLQotICAgICAgICBhdXRvIG1ldGFsSW5uZXJUeXBlTmFtZSA9IHR5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoaXRlbVZlY3RvcklubmVyVHlwZSk7Ci0KLSAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoImRvIHtcbiIpOwotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0ZXh0dXJl
VHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9u
VmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGRpbWVuc2lvbnNbXSA9
IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRoIl9zdHIgfTsKLSAgICAgICAgICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsgKytpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0gInh5enciX3N0ci5zdWJzdHJpbmco
aSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIuIiwgc3VmZml4LCAi
ID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSlcbiIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhs
b2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwg
Jy4nLCBzdWZmaXgsICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpKVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA9PSAxKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIgPj0gIiwgYXJnc1swXSwgIi5n
ZXRfd2lkdGgoKSkgXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJy
ZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1syXSwgIi54ID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzJdLCAiLnkgPj0gIiwgYXJnc1swXSwg
Ii5nZXRfaGVpZ2h0KCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAg
IGJyZWFrO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0
aCA+PSAzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi56
ID49ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoaW5kZW50LCBhcmdzWzBdLCAiLndyaXRlKHZlYzwiLCBtZXRhbElubmVyVHlwZU5h
bWUsICIsIDQ+KCIsIGFyZ3NbMV0pOwotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0
IC0gaXRlbVZlY3Rvckxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsIDAiKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLCAiKTsK
LSAgICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0
b3JMZW5ndGggLSAxKSwgJygnLCBhcmdzWzJdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAs
IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMSksICIpLCB1aW50KCIsIGFyZ3NbMl0sICIuIiwgInh5
enciX3N0ci5zdWJzdHJpbmcobG9jYXRpb25WZWN0b3JMZW5ndGggLSAxLCAxKSwgJyknKTsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1
aW50IiwgdmVjdG9yU3VmZml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzJdLCAn
KScpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKLSAgICAgICAg
fQotICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7
Ci0KLSAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTgxMyBJbXBsZW1lbnQgdGhpcworICAgICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiR2F0aGVyQWxwaGEiKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRp
dmVGdW5jdGlvbldyaXRlci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIE1ldGFsIHsKIAogY2xhc3Mg
VHlwZU5hbWVyOwogCi12b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVy
bk5hbWUsIGNvbnN0IFZlY3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywg
SW50cmluc2ljcyYsIFR5cGVOYW1lciYsIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFt
ZSgpPiYmLCBJbmRlbnRhdGlvbjw0Pik7Cit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmlu
Z0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBjb25zdCBWZWN0b3I8
TWFuZ2xlZFZhcmlhYmxlTmFtZT4mIGFyZ3VtZW50TmFtZXMsIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmVzdWx0TmFtZSwgSW50cmluc2ljcyYsIFR5cGVOYW1lciYsIEluZGVudGF0aW9uPDQ+KTsKIAog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TE5hdGl2ZVR5cGVXcml0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dI
TFNMTmF0aXZlVHlwZVdyaXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICszOCw2IEBA
IG5hbWVzcGFjZSBXSExTTCB7CiAKIG5hbWVzcGFjZSBNZXRhbCB7CiAKLWVudW0gY2xhc3MgTWF0
cml4VHlwZSA6IHVpbnQ4X3QgewotICAgIEZsb2F0LAotICAgIEJvb2wKLX07Ci0KIFN0cmluZyB3
cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbikKIHsKICAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9uLm5hbWUoKSA9PSAidm9p
ZCIpCkBAIC0xMDEsMzUgKzk2LDE0IEBAIFN0cmluZyB3cml0ZU5hdGl2ZVR5cGUoQVNUOjpOYXRp
dmVUeXBlRGUKICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdHlwZVJlZmVyZW5jZS0+dW5pZnlO
b2RlKCk7CiAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBl
Pih1bmlmeU5vZGUpOwogICAgICAgICBhdXRvJiBwYXJhbWV0ZXJUeXBlID0gZG93bmNhc3Q8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgIGF1dG8gbWF0cml4
VHlwZSA9IChbJl0oKSAtPiBNYXRyaXhUeXBlIHsKKyAgICAgICAgYXV0byBwcmVmaXggPSAoWyZd
IHsKICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJUeXBlLm5hbWUoKSA9PSAiYm9vbCIpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIE1hdHJpeFR5cGU6OkJvb2w7CisgICAgICAgICAgICAgICAgcmV0
dXJuICJib29sIjsKICAgICAgICAgICAgIEFTU0VSVChwYXJhbWV0ZXJUeXBlLm5hbWUoKSA9PSAi
ZmxvYXQiKTsKLSAgICAgICAgICAgIHJldHVybiBNYXRyaXhUeXBlOjpGbG9hdDsKKyAgICAgICAg
ICAgIHJldHVybiAiZmxvYXQiOwogICAgICAgICB9KSgpOwogCi0gICAgICAgIEFTU0VSVChXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVj
bGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzFdKSk7Ci0gICAgICAgIGF1dG8mIGNvbnN0YW50RXhw
cmVzc2lvbjEgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURl
Y2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSk7Ci0gICAgICAgIGF1dG8mIGludGVnZXJMaXRl
cmFsMSA9IGNvbnN0YW50RXhwcmVzc2lvbjEuaW50ZWdlckxpdGVyYWwoKTsKLSAgICAgICAgdW5z
aWduZWQgcm93cyA9IGludGVnZXJMaXRlcmFsMS52YWx1ZSgpOwotICAgICAgICBBU1NFUlQocm93
cyA9PSAyIHx8IHJvd3MgPT0gMyB8fCByb3dzID09IDQpOwotCi0gICAgICAgIEFTU0VSVChXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEFTVDo6Q29uc3RhbnRFeHByZXNzaW9uPihuYXRpdmVUeXBlRGVj
bGFyYXRpb24udHlwZUFyZ3VtZW50cygpWzJdKSk7Ci0gICAgICAgIGF1dG8mIGNvbnN0YW50RXhw
cmVzc2lvbjIgPSBXVEY6OmdldDxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4obmF0aXZlVHlwZURl
Y2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSk7Ci0gICAgICAgIGF1dG8mIGludGVnZXJMaXRl
cmFsMiA9IGNvbnN0YW50RXhwcmVzc2lvbjIuaW50ZWdlckxpdGVyYWwoKTsKLSAgICAgICAgdW5z
aWduZWQgY29sdW1ucyA9IGludGVnZXJMaXRlcmFsMi52YWx1ZSgpOwotICAgICAgICBBU1NFUlQo
Y29sdW1ucyA9PSAyIHx8IGNvbHVtbnMgPT0gMyB8fCBjb2x1bW5zID09IDQpOwotCi0gICAgICAg
IHN3aXRjaCAobWF0cml4VHlwZSkgewotICAgICAgICBjYXNlIE1hdHJpeFR5cGU6OkZsb2F0OiB7
Ci0gICAgICAgICAgICB1bnNpZ25lZCBhbGlnbm1lbnQgPSBjb2x1bW5zID09IDIgPyA4IDogMTY7
Ci0gICAgICAgICAgICBpZiAoY29sdW1ucyA9PSAzKQotICAgICAgICAgICAgICAgIGNvbHVtbnMg
PSA0OwotICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PGZsb2F0LCAiLCBjb2x1
bW5zICogcm93cywgIj4gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgiLCBhbGlnbm1lbnQsICIpKSki
KTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIE1hdHJpeFR5cGU6OkJvb2w6Ci0gICAgICAgICAg
ICByZXR1cm4gbWFrZVN0cmluZygiYXJyYXk8Ym9vbCwgIiwgY29sdW1ucyAqIHJvd3MsICI+Iik7
Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIldTTE1hdHJpeDwiLCBwcmVm
aXgsICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeENvbHVtbnMoKSwg
IiwgIiwgbmF0aXZlVHlwZURlY2xhcmF0aW9uLm51bWJlck9mTWF0cml4Um93cygpLCAiPiIpOwog
ICAgIH0KICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5z
aXplKCkgPT0gMSk7CiAgICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6
VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0p
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjM3OSwxMSArNjM3OSw5
IEBACiAJCTFDQjY5QjMyMjFERUQ0MEIwMDZFODQ2QSAvKiBXSExTTFJlc29sdmFibGVUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdITFNMUmVzb2x2YWJsZVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNCNjlCMzQyMURFRDYzQTAwNkU4NDZBIC8qIFdITFNMRmxvYXRMaXRlcmFs
VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEZsb2F0TGl0ZXJhbFR5cGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNCNjlCMzUyMURFRDY0OTAwNkU4NDZBIC8qIFdITFNMSW50
ZWdlckxpdGVyYWxUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMSW50ZWdlckxpdGVyYWxUeXBl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDQjY5QjM2MjFERUQ2NTcwMDZFODQ2
QSAvKiBXSExTTE51bGxMaXRlcmFsVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTE51bGxMaXRl
cmFsVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0I2OUIzNzIxREVENjZC
MDA2RTg0NkEgLyogV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDQjY5QjM4MjFERjAzRTEwMDZFODQ2QSAvKiBXSExTTEZsb2F0TGl0ZXJh
bFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xGbG9hdExpdGVyYWxUeXBlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNCNjlCMzkyMURGMDNGMzAwNkU4NDZBIC8q
IFdITFNMSW50ZWdlckxpdGVyYWxUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMSW50
ZWdlckxpdGVyYWxUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUNCNjlC
M0EyMURGMDQwMzAwNkU4NDZBIC8qIFdITFNMTnVsbExpdGVyYWxUeXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdITFNMTnVsbExpdGVyYWxUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUNCNjlCM0IyMURGMDQxRTAwNkU4NDZBIC8qIFdITFNMVW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xVbnNpZ25lZEludGVnZXJM
aXRlcmFsVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQjZCNEY4MjE3
QjgzOTMwMDkzQjlDRCAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0I2QjRGQjIxN0I4Mzk0MDA5M0I5Q0QgLyogVGV4dFVuZGVybGluZU9mZnNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUZXh0VW5kZXJsaW5lT2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04MzEzLDYgKzgzMTEsNyBAQAogCQk1MUZCNjdEQTFBRTZCNUU0MDBEMDZDNUEgLyog
Q29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTIxMzFFNUExQzRGMTU2MTAwMzNGODAyIC8qIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTIxNTg2MkMyMjkzNzdCNzAwNTkyNUVGIC8qIFdITFNMQVNULmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdI
TFNMQVNULmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyMjU2Q0FBMjMwRjE0QUQw
MDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXSExTTE5hbWVTcGFj
ZS5oOyBwYXRoID0gQVNUL1dITFNMTmFtZVNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUyMkJBQjk2MjJFNkEzNjIwMEM1NENFOSAvKiBXSExTTENvZGVMb2NhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXSExTTENvZGVMb2NhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MjJEMDdBMzIyRkJBQjQzMDBCOTA1QkUgLyogV0hMU0xFeHByZXNzaW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMRXhwcmVzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUyMkRBM0QzMjI5RTFEMzkwMDQyRDE1MSAvKiBXSExTTEdsb2JhbFZhcmlh
YmxlUmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMR2xvYmFsVmFyaWFibGVSZWZlcmVu
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjY5LDcgKzEzMjY4LDYgQEAK
IAkJQzIxQkY3MDQyMUNEODlDNjAwMjI3OTc5IC8qIFdITFNMV2hpbGVMb29wLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdITFNMV2hpbGVMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMy
MUJGNzA1MjFDRDg5QzcwMDIyNzk3OSAvKiBXSExTTEZ1bmN0aW9uQXR0cmlidXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdITFNMRnVuY3Rpb25BdHRyaWJ1dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzIxQkY3MDYyMUNEODlDNzAwMjI3OTc5IC8qIFdITFNMQ29tbWFFeHByZXNzaW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQ29tbWFFeHByZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUMyMUJGNzA3MjFDRDg5QzgwMDIyNzk3OSAvKiBXSExTTE51bGxMaXRl
cmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMTnVsbExpdGVyYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzIxQkY3MDgyMUNEODlDOTAwMjI3OTc5IC8qIFdITFNMUmVzb3VyY2VT
ZW1hbnRpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFJlc291cmNlU2VtYW50aWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIxQkY3MDkyMUNEODlDQTAwMjI3OTc5IC8qIFdITFNM
QXJyYXlUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMQXJyYXlUeXBlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMyMUJGNzBBMjFDRDg5Q0IwMDIyNzk3OSAvKiBXSExTTEJhc2VG
dW5jdGlvbkF0dHJpYnV0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEJhc2VGdW5jdGlvbkF0dHJp
YnV0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMzMzIsMTggKzEzMzMwLDE0
IEBACiAJCUMyMzRBOTlBMjFFOTBGNTYwMDNDOTg0RCAvKiBXSExTTEluZmVyVHlwZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xJbmZlclR5cGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzIzNEE5OUIyMUU5MEY1NzAwM0M5ODREIC8qIFdITFNMSW5mZXJUeXBlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXSExTTEluZmVyVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzIzNEE5OUQyMUU5MTBCRDAwM0M5ODREIC8qIFdITFNMUmVzb2x2aW5nVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXSExTTFJlc29sdmluZ1R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQzIzNEE5QTkyMUU5MkMxNzAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUFy
cmF5T3BlcmF0b3JMZW5ndGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xTeW50aGVzaXpl
QXJyYXlPcGVyYXRvckxlbmd0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMy
MzRBOUFCMjFFOTJDMTgwMDNDOTg0RCAvKiBXSExTTFJlY3Vyc2l2ZVR5cGVDaGVja2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdITFNMUmVjdXJzaXZlVHlwZUNoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzIzNEE5QUMyMUU5MkMxOTAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6
ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMU3ludGhlc2l6ZUVu
dW1lcmF0aW9uRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzRB
OUFEMjFFOTJDMTkwMDNDOTg0RCAvKiBXSExTTFJlY3Vyc2l2ZVR5cGVDaGVja2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdITFNMUmVjdXJzaXZlVHlwZUNoZWNrZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMjM0QTlBRTIxRTkyQzFBMDAzQzk4NEQgLyogV0hMU0xDaGVj
a0R1cGxpY2F0ZUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTENoZWNrRHVwbGljYXRl
RnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMyMzRBOUFGMjFFOTJD
MUIwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIzNEE5QjAyMUU5MkMxQzAwM0M5ODREIC8qIFdITFNMU3lu
dGhlc2l6ZUNvbnN0cnVjdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTFN5bnRoZXNp
emVDb25zdHJ1Y3RvcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjM0QTlC
MTIxRTkyQzFEMDAzQzk4NEQgLyogV0hMU0xTeW50aGVzaXplQ29uc3RydWN0b3JzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdITFNMU3ludGhlc2l6ZUNvbnN0cnVjdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMjM0QTlCMjIxRTkyQzFGMDAzQzk4NEQgLyogV0hMU0xDaGVja0R1cGxp
Y2F0ZUZ1bmN0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTENoZWNrRHVwbGljYXRl
RnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIzNEE5QjMyMUU5
MkMyMTAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQzIzNEE5QjQyMUU5MkMyMjAwM0M5ODRE
IC8qIFdITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlDMjM0QTlCNTIxRTkyQzIzMDAzQzk4NEQgLyogV0hMU0xTeW50aGVz
aXplU3RydWN0dXJlQWNjZXNzb3JzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMU3ludGhlc2l6ZVN0
cnVjdHVyZUFjY2Vzc29ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjM0QTlC
NjIxRTkyQ0MwMDAzQzk4NEQgLyogV0hMU0xJbnRyaW5zaWNzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdI
TFNMSW50cmluc2ljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjM0QTlCNzIx
RTkyQ0MxMDAzQzk4NEQgLyogV0hMU0xJbnRyaW5zaWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdITFNMSW50cmluc2ljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzk4
RUJEMjMwQTFCNzYwMDY0MTUwNyAvKiBXSExTTE5hbWVTcGFjZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
SExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcxMTgsOSAr
MTcxMTIsNiBAQAogCQkJCUMyMzk4RUJEMjMwQTFCNzYwMDY0MTUwNyAvKiBXSExTTE5hbWVTcGFj
ZS5oICovLAogCQkJCUMyMUJGNzIzMjFDRDg5RTEwMDIyNzk3OSAvKiBXSExTTE5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24uaCAqLywKIAkJCQlDMjFCRjcyQTIxQ0Q4OUU3MDAyMjc5NzkgLyogV0hM
U0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCAqLywKLQkJCQlDMjFCRjcwNzIxQ0Q4OUM4MDAyMjc5
NzkgLyogV0hMU0xOdWxsTGl0ZXJhbC5oICovLAotCQkJCTFDQjY5QjNBMjFERjA0MDMwMDZFODQ2
QSAvKiBXSExTTE51bGxMaXRlcmFsVHlwZS5jcHAgKi8sCi0JCQkJMUNCNjlCMzYyMURFRDY1NzAw
NkU4NDZBIC8qIFdITFNMTnVsbExpdGVyYWxUeXBlLmggKi8sCiAJCQkJQzIxQkY3MjEyMUNEODlE
RTAwMjI3OTc5IC8qIFdITFNMTnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlLmggKi8sCiAJCQkJ
QzIxQkY3MkYyMUNEODlFQzAwMjI3OTc5IC8qIFdITFNMUG9pbnRlclR5cGUuaCAqLywKIAkJCQlD
MjFCRjcyRTIxQ0Q4OUVBMDAyMjc5NzkgLyogV0hMU0xQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
aCAqLywKQEAgLTI1NTQ4LDYgKzI1NTM5LDcgQEAKIAkJCQlDMjEwRTkxMjIxQjRCRDEwMDBCN0Y4
M0QgLyogV0hMU0xMZXhlci5oICovLAogCQkJCTFDQTBDMkVDMjFFRUQ2RjYwMEExMTg2MCAvKiBX
SExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAgKi8sCiAJCQkJMUNBMEMyRUEyMUVFRDZGNTAwQTEx
ODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmggKi8sCisJCQkJNTIyNTZDQUEyMzBGMTRB
RDAwNDNFMTJGIC8qIFdITFNMTmFtZVNwYWNlLmggKi8sCiAJCQkJQzIzNEE5OEQyMUU4ODg4NDAw
M0M5ODREIC8qIFdITFNMTmFtZUNvbnRleHQuY3BwICovLAogCQkJCUMyMzRBOThFMjFFODg4ODUw
MDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmggKi8sCiAJCQkJQzIzNEE5OEEyMUU4ODgzRTAw
M0M5ODREIC8qIFdITFNMTmFtZVJlc29sdmVyLmNwcCAqLywKQEAgLTI1NTgxLDE0ICsyNTU3Mywx
MCBAQAogCQkJCTFDOEQyNkM5MjJDMDk0NTMwMEQxMjVGMyAvKiBXSExTTFN0YW5kYXJkTGlicmFy
eVV0aWxpdGllcy5oICovLAogCQkJCTFDRUNCM0E5MjFGMkI2NzMwMEY0NDU0MiAvKiBXSExTTFN0
YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5jcHAgKi8sCiAJCQkJMUNFQ0IzQTgyMUYyQjY3MzAwRjQ0
NTQyIC8qIFdITFNMU3RhdGVtZW50QmVoYXZpb3JDaGVja2VyLmggKi8sCi0JCQkJQzIzNEE5QTky
MUU5MkMxNzAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguY3Bw
ICovLAotCQkJCUMyMzRBOUFGMjFFOTJDMUIwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVBcnJh
eU9wZXJhdG9yTGVuZ3RoLmggKi8sCiAJCQkJQzIzNEE5QjAyMUU5MkMxQzAwM0M5ODREIC8qIFdI
TFNMU3ludGhlc2l6ZUNvbnN0cnVjdG9ycy5jcHAgKi8sCiAJCQkJQzIzNEE5QjEyMUU5MkMxRDAw
M0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUNvbnN0cnVjdG9ycy5oICovLAogCQkJCUMyMzRBOUIz
MjFFOTJDMjEwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5j
cHAgKi8sCiAJCQkJQzIzNEE5QUMyMUU5MkMxOTAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUVu
dW1lcmF0aW9uRnVuY3Rpb25zLmggKi8sCi0JCQkJQzIzNEE5QjQyMUU5MkMyMjAwM0M5ODREIC8q
IFdITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5jcHAgKi8sCi0JCQkJQzIzNEE5QjUy
MUU5MkMyMzAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5oICov
LAogCQkJCUMyMzRBOTg1MjFFODg2QTkwMDNDOTg0RCAvKiBXSExTTFZpc2l0b3IuY3BwICovLAog
CQkJCUMyMzRBOTg3MjFFODg2QUQwMDNDOTg0RCAvKiBXSExTTFZpc2l0b3IuaCAqLywKIAkJCSk7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw4MyBAQAorMjAxOS0wOC0yOSAgU2FhbSBCYXJhdGkgIDxz
YmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0ZXJzL3NldHRl
cnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHdlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhwZWN0ZWQudHh0OiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1v
bi1udWxsLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYXJyYXktb29iLWFs
aWFzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUt
ZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYmFkLWFu
ZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL2R1cGxpY2F0ZS10eXBl
cy1zaG91bGQtbm90LXByb2R1Y2UtZHVwbGljYXRlLWN0b3JzLmh0bWw6CisgICAgICAgICogd2Vi
Z3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wv
aW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9pbmRleC1hbmRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9pbmRl
eC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUv
d2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdw
dS93aGxzbC9tYWtlLWFycmF5LXJlZmVyZW5jZS5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5b3V0Lmh0bWw6CisgICAgICAgICogd2Vi
Z3B1L3dobHNsL21hdHJpeC5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWFyZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ3B1L3dobHNsL251bGwtYXJnLmh0bWw6CisgICAg
ICAgICogd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvb3BlcmF0b3Itc3ludGF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvb3BlcmF0b3ItdmVjdG9yLWFzc2lnbi5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9v
cGVyYXRvci12ZWN0b3ItbG9hZC5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vdmVycmlk
ZS1zdWJzY3JpcHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9vdmVycmlkZS1zdWJzY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1h
YnN0cmFjdC1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2Fu
ZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhw
ZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVl
LTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4
cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0
ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zZXR0ZXItc3BlYy10ZXN0cy5o
dG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWw6
CisgICAgICAgICogd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1m
aWVsZC1hY2Nlc3Mtb24tbnVsbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sOgorCiAyMDE5LTA4LTI4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggdGVzdCBmYWlsdXJl
IGFmdGVyIHIyNDkxNzMKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9m
LXN3aXp6bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIGNhbnRUYWtlQWRkcmVzc09mU3dp
enpsZSAKK1BBU1MgY2FudEFzc2lnblJ2YWx1ZVN3aXp6bGUgCisKSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FkZHJlc3Mtb2Ytc3dpenpsZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
Cis8dGl0bGU+YmFkIHN3aXp6bGUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNs
VGVzdHMuY2FudFRha2VBZGRyZXNzT2ZTd2l6emxlID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0
IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAgaW50MiB2Owor
ICAgICAgICAgICAgdGhyZWFkIGludCogeCA9ICZ2Lng7CisgICAgICAgIH0KKyAgICBgKTsKKwor
ICAgIGF3YWl0IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgZm9vKCkgeworICAgICAgICAgICAg
aW50MiB2OworICAgICAgICAgICAgdGhyZWFkIGludDIqIHggPSAmdi54eTsKKyAgICAgICAgfQor
ICAgIGApOworfTsKKword2hsc2xUZXN0cy5jYW50QXNzaWduUnZhbHVlU3dpenpsZSA9IGFzeW5j
ICgpID0+IHsKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBpbnQyIHgoKSB7CisgICAg
ICAgICAgICBpbnQyIHY7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorICAgICAg
ICB2b2lkIGZvbygpIHsKKyAgICAgICAgICAgIHgoKS54eSA9IGludDIoMTAsIDIwKTsKKyAgICAg
ICAgfQorICAgIGApOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1v
b2ItYWxpYXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0
OjI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGZpZWxkU2hv
dWxkQmVOdWxsIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFs
aWFzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9v
Yi1hbGlhcy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCShmcm9tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbDoyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5maWVs
ZCBhbmRlciBvbiBudWxscHRyIHNob3VsZCByZXR1cm4gbnVsbC48L3RpdGxlPgorPHNjcmlwdCBz
cmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVz
dHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFzeW5jICgpID0+IHsK
KyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsKKyAgICAgICAgICAg
IGludCB4OworICAgICAgICAgICAgaW50IHk7CisgICAgICAgICAgICBpbnQgejsKKyAgICAgICAg
fQorICAgICAgICBib29sIGZvbyh1aW50IGkpIHsKKyAgICAgICAgICAgIEZvb1sxMF0gZm9vczsK
KyAgICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOworICAgICAgICAgICAgdGhy
ZWFkIGludCogcHRyID0gJihmb28tPnopOworICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxs
ICYmIGZvbyA9PSBudWxsOworICAgICAgICB9CisgICAgYDsKKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0
aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQo
MTApXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihw
cm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQo
MHhmZmZmZmZmZildKSwgdHJ1ZSk7Cit9OworCitydW5UZXN0cyh3aGxzbFRlc3RzKTsKKzwvc2Ny
aXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1h
bGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hcnJheS1v
b2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAog
PGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51
bGwuPC90aXRsZT4KKzx0aXRsZT5vb2Igb24gYXJyYXlzLjwvdGl0bGU+CiA8c2NyaXB0IHNyYz0i
anMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjEsMTUgKzIxLDQ2IEBAIHdobHNsVGVzdHMuZmll
bGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSAKICAgICAgICAgICAgIEZvb1sxMF0gZm9vczsKICAg
ICAgICAgICAgIHRocmVhZCBGb28qIGZvbyA9ICZmb29zW2ldOwogICAgICAgICAgICAgdGhyZWFk
IGludCogcHRyID0gJihmb28tPnopOwotICAgICAgICAgICAgcmV0dXJuIHB0ciA9PSBudWxsICYm
IGZvbyA9PSBudWxsOworICAgICAgICAgICAgKnB0ciA9IDQyOworICAgICAgICAgICAgcmV0dXJu
IGZvb3NbMF0ueiA9PSA0MjsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgYmFyKCkgeworICAg
ICAgICAgICAgRm9vWzEwXSBmb29zOworICAgICAgICAgICAgdGhyZWFkIEZvbyogZm9vID0gJmZv
b3NbNDI0MjQyXTsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKKyAg
ICAgICAgICAgIHJldHVybiBmb28gPT0gJmZvb3NbMF07CisgICAgICAgIH0KKworICAgICAgICBm
bG9hdDMgcmV0RmxvYXQzKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZsb2F0Mygx
MC4wLCAwLjAsIDAuMCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdFsxMF0gcmV0RmxvYXRB
cnJheSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0WzEwXSB2OworICAgICAgICAgICAg
dlswXSA9IDEwLjA7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorCisgICAgICAg
IGJvb2wgYmF6KCkgeworICAgICAgICAgICAgcmV0dXJuIHJldEZsb2F0MygpWzQyXSA9PSAxMC4w
OworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBqYXooKSB7CisgICAgICAgICAgICByZXR1cm4g
cmV0RmxvYXRBcnJheSgpWzQyXSA9PSAxMC4wOwogICAgICAgICB9CiAgICAgYDsKIAogICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBj
YWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KGkpXSksIGZhbHNlKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAi
Zm9vIiwgW21ha2VVaW50KGkpXSksIGkgPT09IDAgPyB0cnVlIDogZmFsc2UpOwogICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWlu
dCgxMCldKSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9u
KHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwogICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWlu
dCgweGZmZmZmZmZmKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29s
RnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImJheiIsIFtdKSwgdHJ1ZSk7CisgICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiamF6IiwgW10p
LCB0cnVlKTsKIH07CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIy
NykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgaW5kZXhBbmRlckRvZXNudFJldHVy
blBvaW50ZXIgCi1QQVNTIGluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlIAotUEFTUyBhbmRl
ckRvZXNudFJldHVyblBvaW50ZXIgCi1QQVNTIGFuZGVyRG9lc250VGFrZVJlZmVyZW5jZSAKLVBB
U1MgYW5kZXJXaXRoQmFkSW5kZXggCi1QQVNTIGFuZGVyV2l0aE5vdGhpbmdXcm9uZyAKLVBBU1Mg
YW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyAKLQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2JhZC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9iYWQtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2JhZC1hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTIzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEg
bmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBwcmVmaXgvcG9zdGZp
eC48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyRG9l
c250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAot
ICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQg
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvciZbXSh0aHJlYWQgRm9v
KiBmb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvby0+
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuaW5kZXhBbmRl
ckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFp
bCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAg
aW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZb
XShGb28gZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiAm
Zm9vLng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVy
RG9lc250UmV0dXJuUG9pbnRlciA9IGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBjaGVja0ZhaWwo
Ci0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGlu
dCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yJi5mb28odGhyZWFk
IEZvbyogZm9vKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28tPng7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyRG9lc250
VGFrZVJlZmVyZW5jZSA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAg
ICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28oRm9v
IGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby54OwotICAg
ICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRlcldpdGhCYWRJbmRl
eCA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQgZm9vKHRocmVhZCBp
bnRbXSB4KSB7IHJldHVybiB4Wy0xXTsgfWApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKGBpbnQg
Zm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4WzEuZl07IH1gKTsKLQotICAgIGF3YWl0IGNo
ZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgaW50IHkpIHsgcmV0dXJuIHhbeV07IH1g
KTsKLQotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCwgZmxvYXQg
eSkgeyByZXR1cm4geFt5XTsgfWApOwotfQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aE5vdGhpbmdX
cm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVj
dCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7
Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAgICAgICAgICAg
cmV0dXJuIHguZm9vOwotICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Ci19Ci0KLXdobHNsVGVz
dHMuYW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5jICgpID0+IHsKLSAgICBh
d2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJh
dG9yJi5mb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCB4OwotICAgICAg
ICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci0KLSAgICBh
d2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAg
ICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImLmZvbyh0aHJlYWQgRm9vKiBmb28sIGludCBibGFoKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAg
ICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1w
cm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9kdXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1j
dG9ycy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
ZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3RvcnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTksMTYgKzE5LDIwIEBAIHR5cGVkZWYgWFlaMyA9IFhZWjsKIAog
W251bXRocmVhZHMoMiwgMSwgMSldCiBjb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2Ug
ZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3Bh
dGNoVGhyZWFkSUQpIHsKLSAgICB0aHJlYWQgaW50KiB4OwotICAgIHRocmVhZCBpbnQqIHk7Ci0g
ICAgdGhyZWFkIGZsb2F0KiBmMTsKLSAgICB0aHJlYWQgZmxvYXQqIGYyOworICAgIGludCB2YWx1
ZTsKKyAgICBmbG9hdCB2YWx1ZTI7CisgICAgaW50WzEwXSB2YWx1ZTM7CisKKyAgICB0aHJlYWQg
aW50KiB4ID0gJnZhbHVlOworICAgIHRocmVhZCBpbnQqIHkgPSAmdmFsdWU7CisgICAgdGhyZWFk
IGZsb2F0KiBmMSA9ICZ2YWx1ZTI7CisgICAgdGhyZWFkIGZsb2F0KiBmMiA9ICZ2YWx1ZTI7CiAg
ICAgWFlaMSBhOwogICAgIFhZWjIgYjsKICAgICBYWVozIGM7Ci0gICAgdGhyZWFkIGludFtdIGlu
dEFycmF5UmVmMTsKLSAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYyOwotICAgIGlmICgqeCA9
PSAqeSAmJiB4ID09IHkgJiYgeCA9PSBudWxsICYmIGYxID09IG51bGwgJiYgKmYxID09IDApIHsK
KyAgICB0aHJlYWQgaW50W10gaW50QXJyYXlSZWYxID0gQHZhbHVlMzsKKyAgICB0aHJlYWQgaW50
W10gaW50QXJyYXlSZWYyID0gQHZhbHVlMzsKKyAgICBpZiAoKnggPT0gKnkgJiYgeCA9PSB5KSB7
CiAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1aW50KHRocmVhZElE
LngpXSAqIDIuMDsKICAgICB9CiB9CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5j
cmVtZW50LXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDIyICsxNSwxNyBAQCB3aGxzbFRlc3RzLmluY3JlbWVudFNldHRlciA9IGFzeW5jICgpID0+CiAg
ICAgbGV0IHByb2dyYW0gPSBgCiAgICAgICAgIHN0cnVjdCBGb28gewogICAgICAgICAgICAgaW50
IHo7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLncoRm9vIGZvbykgewotICAgICAg
ICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLnc9KEZvbyBm
b28sIGludCB2YWx1ZSkgewotICAgICAgICAgICAgZm9vLnogPSB2YWx1ZTsKLSAgICAgICAgICAg
IHJldHVybiBmb287CisgICAgICAgICAgICBpbnQgdzsKICAgICAgICAgfQogICAgICAgICBpbnQg
YmFyKCkgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby56ID0gMzsKKyAg
ICAgICAgICAgIGZvby53ID0gMTsKICAgICAgICAgICAgIGludCB2YWx1ZSA9IGZvby53Kys7CiAg
ICAgICAgICAgICByZXR1cm4gdmFsdWUqMTAwICsgZm9vLnoqMTAgKyBmb28udzsKICAgICAgICAg
fQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImJhciIsIFtdKSwgODk4KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5j
dGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAxMDAgKyAzMCArIDIpOwogfQogCiBydW5UZXN0cyh3
aGxzbFRlc3RzKTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4
LWFuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQg
KzAsMCBAQAotCi1QQVNTIGluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nIAotUEFTUyBpbmRleEFu
ZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1hbmRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDY5ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwotCi13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoTm90
aGluZ1dyb25nID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAg
c3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgfQotICAgICAgICB0aHJl
YWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb28oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBGb28geDsKLSAgICAgICAgICAgIHgueCA9IDEzOwotICAg
ICAgICAgICAgcmV0dXJuIHhbNjY2XTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMTMpOwotfQot
Ci13aGxzbFRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGFzeW5j
ICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICB0
aHJlYWQgaW50KiBvcGVyYXRvciZbXSgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHg7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZ4OwotICAgICAgICAgICAgfQotICAgICAg
ICBgKTsKLSAgICAgICAgCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAg
ICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAg
YAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9v
KiBmb28sIHVpbnQsIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi1ydW5UZXN0cyh3aGxz
bFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL2luZGV4LXNldHRlci1nZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1n
ZXR0ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBACi0KLVBBU1Mg
aW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCAKLVBBU1MgaW5kZXhTZXR0ZXJXaXRoTm9H
ZXR0ZXJPdmVybG9hZEZpeGVkIAotUEFTUyBub3RMb25lSW5kZXhTZXR0ZXIgCi1QQVNTIGxvbmVJ
bmRleFNldHRlciAKLVBBU1MgbG9uZUluZGV4U2V0dGVyUG9pbnRlciAKLQpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdl
dHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
anMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9
IHt9OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3lu
YyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAg
c3RydWN0IEZvbyB7IH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICBp
bnQgb3BlcmF0b3JbXShGb28sIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIDUzNDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEJhciBvcGVyYXRvcltdPShC
YXIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gQmFy
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXdobHNsVGVz
dHMuaW5kZXhTZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeGVkID0gYXN5bmMgKCkgPT4KLXsK
LSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICBp
bnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiA1
MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gQmFyKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
aW50IGZvbygpIHsgcmV0dXJuIEJhcigpWzBdOyB9Ci0gICAgICAgIGludCBiYXIoKSB7Ci0gICAg
ICAgICAgICBCYXIgYjsKLSAgICAgICAgICAgIGJbMF0gPSA0MDA7Ci0gICAgICAgICAgICByZXR1
cm4gYlswXTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTM0KTsKLSAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1MzQpOwotfTsKLQot
d2hsc2xUZXN0cy5ub3RMb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9PgotewotICAgIGNvbnN0
IHByb2dyYW0gPSBgCi0gICAgICAgIGludCBvcGVyYXRvcltdKGludCwgdWludCkKLSAgICAgICAg
ewotICAgICAgICAgICAgcmV0dXJuIDY1OwotICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRv
cltdPShpbnQsIHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIDU0MzsK
LSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkgewotICAgICAgICAgICAgaW50IHg7Ci0gICAg
ICAgICAgICByZXR1cm4geFswXTsKLSAgICAgICAgfQotICAgICAgICBpbnQgYmFyKCkgewotICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB4WzBdID0gNDI7Ci0gICAgICAgICAgICByZXR1
cm4geDsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNjUpOwotICAgIGFzc2VydF9lcXVhbHMoYXdh
aXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDU0Myk7Ci19OwotCi13aGxz
bFRlc3RzLmxvbmVJbmRleFNldHRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hlY2tG
YWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oaW50LCB1aW50LCBp
bnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDU0MzsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotfTsKLQotd2hsc2xUZXN0cy5sb25lSW5kZXhT
ZXR0ZXJQb2ludGVyID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAg
ICAgIGAKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yW109KHRocmVhZCBpbnQqIHB0
ciwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBwdHI7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXJ1blRlc3RzKHdo
bHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJlbmNlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgYm9vbCB0ZXN0MSgpIHsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmIChhcnJheVswXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmIChhcnJheVsxMjAyMTNdICE9IDApCisgICAgaWYgKGFycmF5WzEyMDIxM10g
IT0gNDIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGFycmF5WzBdID0gMTMzNzsKQEAg
LTM1LDcgKzM1LDcgQEAgYm9vbCB0ZXN0MigpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChhcnJheVswXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChhcnJh
eVsxMjM3NDIxN10gIT0gMCkKKyAgICBpZiAoYXJyYXlbMTIzNzQyMTddICE9IDQyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgKnB0ciA9IDY2NjsKQEAgLTg3LDE2ICs4NywxNyBA
QCBib29sIHRlc3QzKCkgewogfQogCiBib29sIHRlc3Q0KCkgewotICAgIHRocmVhZCBpbnQqIHB0
ciA9IG51bGw7CisgICAgaW50IHggPSA0MjsKKyAgICB0aHJlYWQgaW50KiBwdHIgPSAmeDsKIAog
ICAgIHRocmVhZCBpbnRbXSBhcnJheSA9IEBwdHI7Ci0gICAgaWYgKGFycmF5Lmxlbmd0aCAhPSAw
KQorICAgIGlmIChhcnJheS5sZW5ndGggIT0gMSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKGFycmF5WzBdICE9IDApCisgICAgaWYgKGFycmF5WzBdICE9IDQyKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoYXJyYXlbMTAwMDAwXSAhPSAwKQorICAgIGlmIChhcnJh
eVsxMDAwMDBdICE9IDQyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1
ZTsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4
LWluZGV4LWFzc2lnbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAorCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1h
c3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgorPHRpdGxlPm1hdHJpeC1pbmRleC1hc3NpZ24tc3dpenpsZS48L3RpdGxl
PgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Nv
bnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5maWVsZFNob3VsZEJlTnVsbCA9IGFz
eW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBib29sIGZvbygpIHsK
KyAgICAgICAgICAgIGZsb2F0MngzIG1hdDsKKyAgICAgICAgICAgIG1hdFswXSA9IGZsb2F0Mygx
MC4wLCAyMC4wLCAzMC4wKTsKKworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdID09IGZsb2F0
MygxMC4wLCAyMC4wLCAzMC4wKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICBpZiAoIWFsbChtYXRbMF0ueHkgPT0gZmxvYXQyKDEwLjAsIDIwLjApKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICghYWxsKG1hdFsw
XS55eCA9PSBmbG9hdDIoMjAuMCwgMTAuMCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgICAgICAgICAgbWF0WzBdLnh5ID0gZmxvYXQyKDEuMCwgMi4wKTsKKyAgICAgICAg
ICAgIGlmICghYWxsKG1hdFswXS54eSA9PSBmbG9hdDIoMS4wLCAyLjApKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG1hdFswXS55eC55eCA9IGZsb2F0Migx
MDAuMCwgMjAwLjApOworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdLnh5ID09IGZsb2F0Migx
MDAuMCwgMjAwLjApKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgYDsKKworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgdHJ1ZSk7Cit9Owor
CitydW5UZXN0cyh3aGxzbFRlc3RzKTsKKzwvc2NyaXB0PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1vcmRlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJp
eC1pbmRleC1vcmRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBA
CisKK1BBU1MgbWF0TXVsIAorUEFTUyBtYXRNdWwyIAorUEFTUyBtYXRNdWwzIAorUEFTUyBtYXRN
dWw0IAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRl
eC1vcmRlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9t
YXRyaXgtaW5kZXgtb3JkZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5tYXRyaXgtaW5kZXgtb3JkZXIuPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMubWF0TXVsID0gYXN5bmMgKCkg
PT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAgIGJvb2wgZm9vKCkgeworICAgICAg
ICAgICAgZmxvYXQyeDMgYSA9IGZsb2F0MngzKAorICAgICAgICAgICAgICAgIGZsb2F0MygxLCAy
LCAzKSwKKyAgICAgICAgICAgICAgICBmbG9hdDMoNCwgNSwgNikKKyAgICAgICAgICAgICk7CisK
KyAgICAgICAgICAgIGZsb2F0M3gyIGIgPSBmbG9hdDN4MigKKyAgICAgICAgICAgICAgICBmbG9h
dDIoNywgOCksCisgICAgICAgICAgICAgICAgZmxvYXQyKDksIDEwKSwKKyAgICAgICAgICAgICAg
ICBmbG9hdDIoMTEsIDEyKQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQzeDMg
cmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDN4MyBleHBlY3RlZCA9IGZs
b2F0M3gzKAorICAgICAgICAgICAgICAgIGZsb2F0MygzOSwgNTQsIDY5KSwKKyAgICAgICAgICAg
ICAgICBmbG9hdDMoNDksIDY4LCA4NyksCisgICAgICAgICAgICAgICAgZmxvYXQzKDU5LCA4Miwg
MTA1KQorICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIHJldHVybiBhbGwoZXhwZWN0ZWQgPT0g
cmVzdWx0KTsKKyAgICAgICAgfQorICAgIGA7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIHRydWUpOworfTsKKword2hsc2xU
ZXN0cy5tYXRNdWwyID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAg
ICAgIGJvb2wgZm9vKCkgeworICAgICAgICAgICAgZmxvYXQyeDIgYSA9IGZsb2F0MngyKAorICAg
ICAgICAgICAgICAgIGZsb2F0MigxLCA4KSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNSwgMTIp
CisgICAgICAgICAgICApOworCisgICAgICAgICAgICBmbG9hdDIgYiA9IGZsb2F0MigyMiwgNDUp
OworCisgICAgICAgICAgICBmbG9hdDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAg
ICBmbG9hdDIgZXhwZWN0ZWQgPSBmbG9hdDIoMjQ3LCA3MTYpOworCisgICAgICAgICAgICByZXR1
cm4gYWxsKGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCB0
cnVlKTsKK307CisKK3dobHNsVGVzdHMubWF0TXVsMyA9IGFzeW5jICgpID0+IHsKKyAgICBjb25z
dCBwcm9ncmFtID0gYAorICAgICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0Mngy
IGEgPSBmbG9hdDJ4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoMSwgMiksCisgICAgICAgICAg
ICAgICAgZmxvYXQyKDMsIDQpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICBmbG9hdDJ4
MiBiID0gZmxvYXQyeDIoCisgICAgICAgICAgICAgICAgZmxvYXQyKDUsIDYpLAorICAgICAgICAg
ICAgICAgIGZsb2F0Mig3LCA4KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQy
eDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAgICAgICBmbG9hdDJ4MiBleHBlY3RlZCA9
IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0MigyMywgMzQpLAorICAgICAgICAgICAg
ICAgIGZsb2F0MigzMSwgNDYpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICByZXR1cm4g
YWxsKGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBib29sIGJhcigp
IHsKKyAgICAgICAgICAgIGZsb2F0MngyIGIgPSBmbG9hdDJ4MigKKyAgICAgICAgICAgICAgICBm
bG9hdDIoMSwgMiksCisgICAgICAgICAgICAgICAgZmxvYXQyKDMsIDQpCisgICAgICAgICAgICAp
OworCisgICAgICAgICAgICBmbG9hdDJ4MiBhID0gZmxvYXQyeDIoCisgICAgICAgICAgICAgICAg
ZmxvYXQyKDUsIDYpLAorICAgICAgICAgICAgICAgIGZsb2F0Mig3LCA4KQorICAgICAgICAgICAg
KTsKKworICAgICAgICAgICAgZmxvYXQyeDIgcmVzdWx0ID0gbXVsKGEsIGIpOworCisgICAgICAg
ICAgICBmbG9hdDJ4MiBleHBlY3RlZCA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0
MigxOSwgMjIpLAorICAgICAgICAgICAgICAgIGZsb2F0Mig0MywgNTApCisgICAgICAgICAgICAp
OworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAg
IH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHBy
b2dyYW0sICAiZm9vIiwgW10pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxC
b29sRnVuY3Rpb24ocHJvZ3JhbSwgICJiYXIiLCBbXSksIHRydWUpOworfTsKKword2hsc2xUZXN0
cy5tYXRNdWw0ID0gYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAg
IGJvb2wgZm9vKCkgeworICAgICAgICAgICAgZmxvYXQyeDQgYSA9IGZsb2F0Mng0KAorICAgICAg
ICAgICAgICAgIGZsb2F0NCgxLCAyLCAzLCA0KSwKKyAgICAgICAgICAgICAgICBmbG9hdDQoNSwg
NiwgNywgOCkKKyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGZsb2F0M3gyIGIgPSBmbG9h
dDN4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoOSwgMTApLAorICAgICAgICAgICAgICAgIGZs
b2F0MigxMSwgMTIpLAorICAgICAgICAgICAgICAgIGZsb2F0MigxMywgMTQpCisgICAgICAgICAg
ICApOworCisgICAgICAgICAgICBmbG9hdDN4NCByZXN1bHQgPSBtdWwoYSwgYik7CisKKyAgICAg
ICAgICAgIGZsb2F0M3g0IGV4cGVjdGVkID0gZmxvYXQzeDQoCisgICAgICAgICAgICAgICAgZmxv
YXQ0KDU5LCA3OCwgOTcsIDExNiksCisgICAgICAgICAgICAgICAgZmxvYXQ0KDcxLCA5NCwgMTE3
LCAxNDApLAorICAgICAgICAgICAgICAgIGZsb2F0NCg4MywgMTEwLCAxMzcsIDE2NCkKKyAgICAg
ICAgICAgICk7CisKKyAgICAgICAgICAgIHJldHVybiBhbGwoZXhwZWN0ZWQgPT0gcmVzdWx0KTsK
KyAgICAgICAgfQorICAgIGA7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVu
Y3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSksIHRydWUpOworfTsKKworcnVuVGVzdHMod2hsc2xU
ZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtNjAsMjAgKzYwLDIwIEBAIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewogICAgIGNvbnN0IGJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdyaXRl
QXN5bmMoKTsKICAgICBjb25zdCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KGJ1ZmZlckFycmF5QnVmZmVyKTsKICAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAwOwotICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
ODsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxMjsKLSAgICBidWZmZXJGbG9hdDMyQXJy
YXlbNF0gPSAxOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDE7CisgICAgYnVmZmVyRmxv
YXQzMkFycmF5WzJdID0gMjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSAzOworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVs0XSA9IDQ7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzVdID0gNTsK
LSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA5OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3
XSA9IDEzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDI7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzldID0gNjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbNl0gPSA2OworICAgIGJ1ZmZl
ckZsb2F0MzJBcnJheVs3XSA9IDc7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzhdID0gODsKKyAg
ICBidWZmZXJGbG9hdDMyQXJyYXlbOV0gPSA5OwogICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxMDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTQ7Ci0gICAgYnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDM7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDc7Ci0gICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzE0XSA9IDExOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAx
MTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMTI7CisgICAgYnVmZmVyRmxvYXQzMkFy
cmF5WzEzXSA9IDEzOworICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxNDsKICAgICBidWZm
ZXJGbG9hdDMyQXJyYXlbMTVdID0gMTU7CiAgICAgYnVmZmVyLnVubWFwKCk7CiAKQEAgLTk4LDIz
ICs5OCwyMyBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCByZXN1
bHRzQXJyYXlCdWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAg
IGNvbnN0IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJh
eUJ1ZmZlcik7CiAgICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT09IDEKLSAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9PT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQz
MkFycmF5WzJdID09PSA5Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT09IDEz
CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT09IDIKKyAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVsyXSA9PT0gMworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5
WzNdID09PSA0CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0gMgorICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09PSA1CiAgICAgICAgICYmIHJlc3VsdHNG
bG9hdDMyQXJyYXlbNV0gPT09IDYKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9
PT0gMTAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PT0gMTQKKyAgICAgICAg
JiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PT0gNworICAgICAgICAmJiByZXN1bHRzRmxvYXQz
MkFycmF5WzddID09PSA4CiAKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs4XSA9PT0g
MwotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzldID09PSA3CisgICAgICAgICYmIHJl
c3VsdHNGbG9hdDMyQXJyYXlbOF0gPT09IDkKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVs5XSA9PT0gMTAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMF0gPT09IDExCi0g
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTFdID09PSAxNQorICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzExXSA9PT0gMTIKIAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzEyXSA9PT0gNAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzEzXSA9PT0gOAot
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTIKKyAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVsxMl0gPT09IDEzCisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbMTNdID09PSAxNAorICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzE0XSA9PT0gMTUK
ICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNV0gPT09IDE2KQogICAgICAgICB0ZXN0
UGFzc2VkKCIiKTsKICAgICBlbHNlCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0
cml4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY3LDIwICs2NywyOCBAQCBjb21wdXRlIHZvaWQgY29t
cHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0eVR3
b1sxMzM3XSA9IDUwOworICAgIGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgZm91cnR5VHdvWzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5VHdvOwog
ICAgIGlmICghYWxsRXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAogICAgIGZvdXJ0
eVR3b1sxMDAwMDAwXSA9IDUwOworICAgIGlmIChmb3VydHlUd28ueCAhPSA1MCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgZm91cnR5VHdvWzEzMzddID0gNDI7CiAgICAgZm9vWzFdID0gZm91cnR5
VHdvOwogICAgIGlmICghYWxsRXF1YWwoZm9vLCA0MikpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGZsb2F0MyBzaG91bGRCZVplcm8gPSBmb29bMTAwMDAwXTsKLSAgICBpZiAoc2hvdWxkQmVaZXJv
LnggIT0gMCB8fCBzaG91bGRCZVplcm8ueSAhPSAwIHx8IHNob3VsZEJlWmVyby56ICE9IDApCisg
ICAgZmxvYXQzIHNob3VsZEJlRm91cnR5VHdvID0gZm9vWzEwMDAwMF07CisgICAgaWYgKHNob3Vs
ZEJlRm91cnR5VHdvLnggIT0gNDIgfHwgc2hvdWxkQmVGb3VydHlUd28ueSAhPSA0MiB8fCBzaG91
bGRCZUZvdXJ0eVR3by56ICE9IDQyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm91cnR5
VHdvWzEwMDAwMDAwXSAhPSAwKQorICAgIGlmIChmb3VydHlUd29bMTAwMDAwMDBdICE9IDQyKQog
ICAgICAgICByZXR1cm47CiAKICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJb
dWludCh0aHJlYWRJRC54KV0gKiAyLjA7CkBAIC0xNDUsNyArMTUzLDcgQEAgYXN5bmMgZnVuY3Rp
b24gc3RhcnQoZGV2aWNlKSB7CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT0g
OCkKICAgICAgICAgdGVzdFBhc3NlZCgiIik7CiAgICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVk
KCIiKTsKKyAgICAgICAgdGVzdEZhaWxlZCgibm90IGNvcnJlY3QiKTsKICAgICByZXN1bHRzQnVm
ZmVyLnVubWFwKCk7CiB9CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1hcmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgcGFzc051bGxUb1B0ck1v
bm9tb3JwaGljIAorUEFTUyBudWxsSXNFcnJvciAKIApJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL251bGwtYXJnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL251bGwtYXJnLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9udWxsLWFyZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogPGh0
bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+Ci08dGl0bGU+VGVzdCBzdHJ1Y3RzLjwvdGl0bGU+Cis8dGl0bGU+bnVsbC48L3RpdGxl
PgogPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTEwLDkgKzEwLDkgQEAK
IDxzY3JpcHQ+CiBjb25zdCB3aGxzbFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMucGFzc051bGxU
b1B0ck1vbm9tb3JwaGljID0gYXN5bmMgKCkgPT4KK3dobHNsVGVzdHMubnVsbElzRXJyb3IgPSBh
c3luYyAoKSA9PgogewotICAgIGxldCBwcm9ncmFtID0gYAorICAgIGF3YWl0IGNoZWNrRmFpbChg
CiAgICAgICAgIGludCBmb28odGhyZWFkIGludCogcHRyKQogICAgICAgICB7CiAgICAgICAgICAg
ICByZXR1cm4gKnB0cjsKQEAgLTIxLDExICsyMSwyMyBAQCB3aGxzbFRlc3RzLnBhc3NOdWxsVG9Q
dHJNb25vbW9ycGhpYyA9IGFzCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBmb28obnVs
bCk7CiAgICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1
bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDApOworICAgIGApOworCisgICAgYXdhaXQgY2hl
Y2tGYWlsKGAKKyAgICAgICAgdm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0aHJl
YWQgaW50KiB4OworICAgICAgICB9CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAor
ICAgICAgICB2b2lkIGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSB4
OworICAgICAgICB9CisgICAgYCk7CiB9CiAKIHJ1blRlc3RzKHdobHNsVGVzdHMpOwogPC9zY3Jp
cHQ+CiA8L2h0bWw+Ci0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVm
ZXJlbmNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbnVsbC1kZXJlZmVyZW5jZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotUEFTUyAKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbnVsbC1kZXJlZmVyZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi10eXBlZGVmIEZvbyA9IHRocmVh
ZCBpbnQqOwotRm9vIGdldE51bGxQdHIoKQotewotICAgIHJldHVybiBudWxsOwotfQotCi1zdHJ1
Y3QgWFlaIHsKLSAgICBmbG9hdCB4OwotICAgIGZsb2F0IHk7Ci0gICAgZmxvYXQgejsKLX0KLQot
W251bXRocmVhZHMoMiwgMSwgMSldCi1jb21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2Ug
ZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rlcih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3Bh
dGNoVGhyZWFkSUQpIHsKLSAgICBGb28gcHRyID0gbnVsbDsKLSAgICAqcHRyID0gNDI7Ci0gICAg
KmdldE51bGxQdHIoKSA9IDQyOwotICAgIGlmICgqcHRyID09IDApIHsKLSAgICAgICAgaWYgKHB0
ciA9PSBnZXROdWxsUHRyKCkpIHsKLSAgICAgICAgICAgIGlmICgqZ2V0TnVsbFB0cigpID09IDAp
IHsKLSAgICAgICAgICAgICAgICB0aHJlYWQgWFlaKiB4eXpQdHIgPSBudWxsOwotICAgICAgICAg
ICAgICAgIFhZWiB4eXo7Ci0gICAgICAgICAgICAgICAgeHl6LnggPSAxOwotICAgICAgICAgICAg
ICAgIHh5ei55ID0gMTsKLSAgICAgICAgICAgICAgICB4eXoueiA9IDE7Ci0gICAgICAgICAgICAg
ICAgaWYgKHh5ei56ID09IDEuMCAmJiB4eXoueSA9PSAxLjAgJiYgeHl6LnogPT0gMS4wKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICp4eXpQdHIgPSB4eXo7Ci0gICAgICAgICAgICAgICAgICAgIHh5
eiA9ICp4eXpQdHI7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAwLjAgJiYgeHl6
LnkgPT0gMC4wICYmIHh5ei56ID09IDAuMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCYqZ2V0TnVsbFB0cigpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoJiooJipnZXROdWxsUHRyKCkpID09IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnVmZmVyW3VpbnQodGhyZWFkSUQueCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQu
eCldICogMi4wOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KLWA7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0
YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFk
ZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IGNvbXB1dGVTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImNvbXB1dGVTaGFkZXIifTsKLQot
ICAgIGNvbnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGlu
ZzogMCwgdmlzaWJpbGl0eTogNywgdHlwZTogInN0b3JhZ2UtYnVmZmVyIn1dfTsKLSAgICBjb25z
dCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91
cExheW91dERlc2NyaXB0b3IpOwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9
IHtiaW5kR3JvdXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IGNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgPSB7Y29tcHV0
ZVN0YWdlLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBjb21wdXRlUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlQ29tcHV0ZVBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZURlc2NyaXB0
b3IpOwotCi0gICAgY29uc3Qgc2l6ZSA9IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDg7Ci0KLSAgICBjb25zdCBidWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBHUFVCdWZm
ZXJVc2FnZS5NQVBfV1JJVEUgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9TUkN9OwotICAgIGNv
bnN0IGJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIoYnVmZmVyRGVzY3JpcHRvcik7Ci0gICAg
Y29uc3QgYnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCBidWZmZXIubWFwV3JpdGVBc3luYygpOwot
ICAgIGNvbnN0IGJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyQXJy
YXlCdWZmZXIpOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IDE7Ci0gICAgYnVmZmVyRmxv
YXQzMkFycmF5WzFdID0gMjsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAzOwotICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVszXSA9IDQ7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzRdID0gNTsK
LSAgICBidWZmZXJGbG9hdDMyQXJyYXlbNV0gPSA2OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs2
XSA9IDc7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzddID0gODsKLSAgICBidWZmZXIudW5tYXAo
KTsKLQotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVzYWdlOiBH
UFVCdWZmZXJVc2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNUIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1JFQUR9OwotICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IGJ1ZmZl
ckJpbmRpbmcgPSB7YnVmZmVyOiByZXN1bHRzQnVmZmVyLCBzaXplfTsKLSAgICBjb25zdCBiaW5k
R3JvdXBCaW5kaW5nID0ge2JpbmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5nfTsKLSAg
ICBjb25zdCBiaW5kR3JvdXBEZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5b3V0LCBi
aW5kaW5nczogW2JpbmRHcm91cEJpbmRpbmddfTsKLSAgICBjb25zdCBiaW5kR3JvdXAgPSBkZXZp
Y2UuY3JlYXRlQmluZEdyb3VwKGJpbmRHcm91cERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgY29t
bWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBj
b21tYW5kRW5jb2Rlci5jb3B5QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRzQnVmZmVy
LCAwLCBzaXplKTsKLSAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rl
ci5iZWdpbkNvbXB1dGVQYXNzKCk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KGNvbXB1dGVQaXBlbGluZSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgw
LCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsK
LSAgICBjb21wdXRlUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZm
ZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJt
aXQoW2NvbW1hbmRCdWZmZXJdKTsKLQotICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZlciA9IGF3
YWl0IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7Ci0gICAgY29uc3QgcmVzdWx0c0Zsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKLSAgICBpZiAo
cmVzdWx0c0Zsb2F0MzJBcnJheVswXSA9PSAyCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJy
YXlbMV0gPT0gNAotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYKLSAgICAg
ICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PSA4Ci0gICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbNF0gPT0gNQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09IDYK
LSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs2XSA9PSA3Ci0gICAgICAgICYmIHJlc3Vs
dHNGbG9hdDMyQXJyYXlbN10gPT0gOCkKLSAgICAgICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZWxz
ZQotICAgICAgICB0ZXN0RmFpbGVkKCIiKTsKLSAgICByZXN1bHRzQnVmZmVyLnVubWFwKCk7Ci19
Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVu
Y3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdEZh
aWxlZCgiIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24o
KSB7Ci0gICAgdGVzdFBhc3NlZCgiIik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29v
Yi1hY2Nlc3MtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mgb29iIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvb29iLWFjY2Vzcy0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL29vYi1hY2Nlc3MtMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxt
ZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPk9PQi48L3RpdGxlPgor
PHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0
IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5vb2IgPSBhc3luYyAoKSA9PiB7CisgICAg
Y29uc3QgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGludCB4ID0gMzsKKyAgICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAg
ICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAgIHJldHVybiB4OworICAgICAgICB9CisK
KyAgICAgICAgaW50IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAg
ICAgICAgICAgIHRocmVhZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAy
NTsKKyAgICAgICAgICAgIHJldHVybiB4WzBdOworICAgICAgICB9CisKKyAgICAgICAgaW50IGJh
eigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludFsxMF0geDsKKyAgICAgICAgICAgIHRocmVh
ZCBpbnRbXSBhID0gQHg7CisgICAgICAgICAgICBhWzQyNDI0Ml0gPSAyNTsKKyAgICAgICAgICAg
IHJldHVybiB4WzFdOworICAgICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAyNSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMjUpOworICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSks
IDApOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNv
dXJjZSA9IGAKLVtudW10aHJlYWRzKDIsIDEsIDEpXQorW251bXRocmVhZHMoNCwgMSwgMSldCiBj
b21wdXRlIHZvaWQgY29tcHV0ZVNoYWRlcihkZXZpY2UgZmxvYXRbXSBidWZmZXIgOiByZWdpc3Rl
cih1MCksIGZsb2F0MyB0aHJlYWRJRCA6IFNWX0Rpc3BhdGNoVGhyZWFkSUQpIHsKICAgICBidWZm
ZXJbMTMzN10gPSAwLjA7CiAgICAgYnVmZmVyWzQyNDI0MjQyXSA9IDAuMDsKQEAgLTU3LDE0ICs1
NywxNCBAQCBhc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBjb21wdXRl
UGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CiAgICAgY29t
cHV0ZVBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CiAgICAgY29tcHV0
ZVBhc3NFbmNvZGVyLnNldEJpbmRHcm91cCgwLCBiaW5kR3JvdXApOwotICAgIGNvbXB1dGVQYXNz
RW5jb2Rlci5kaXNwYXRjaCgyLCAxLCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0
Y2goMSwgMSwgMSk7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKICAgICBjb25z
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7CiAgICAgZGV2aWNlLmdl
dFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7CiAKICAgICBjb25zdCByZXN1bHRzQXJy
YXlCdWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwogICAgIGNvbnN0
IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZl
cik7Ci0gICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT0gMgorICAgIGlmIChyZXN1bHRz
RmxvYXQzMkFycmF5WzBdID09IDAKICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxXSA9
PSA0CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT0gNgogICAgICAgICAmJiBy
ZXN1bHRzRmxvYXQzMkFycmF5WzNdID09IDgKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXgtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG9wZXJhdG9yU3ludGF4IAor
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50
YXguaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgorPHRpdGxlPlNvbWUgb3BlcmF0b3JzIHNob3VsZCBiZSBzeW50YXggZXJyb3Jz
LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRlc3RzLm9wZXJhdG9yU3ludGF4
ID0gYXN5bmMgKCkgPT4KK3sKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3Qg
Rm9vIHsgfQorICAgICAgICBpbnQgb3BlcmF0b3IuZm9vKEZvbykgeyByZXR1cm4gNDI7IH0KKyAg
ICBgKTsKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAg
ICAgICBpbnQgb3BlcmF0b3IuZm9vPShGb28pIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAg
ICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICB0aHJl
YWQgaW50KiBvcGVyYXRvciYuZm9vKEZvbykgeyBpbnQgeDsgcmV0dXJuICZ4OyB9CisgICAgYCk7
CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAg
ICBpbnQgb3BlcmF0b3JbXShGb28sIHVpbnQpIHsgcmV0dXJuIDQyOyB9CisgICAgYCk7CisKKyAg
ICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICBzdHJ1Y3QgRm9vIHsgfQorICAgICAgICBpbnQg
b3BlcmF0b3JbXT0oRm9vLCB1aW50KSB7IHJldHVybiA0MjsgfQorICAgIGApOworCisgICAgYXdh
aXQgY2hlY2tGYWlsKGAKKyAgICAgICAgc3RydWN0IEZvbyB7IH0KKyAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImW10oRm9vLCB1aW50KSB7IGludCB4OyByZXR1cm4gJng7IH0KKyAgICBgKTsK
K30KKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24u
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJh
dG9yLXZlY3Rvci1hc3NpZ24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDExIEBA
IHdobHNsVGVzdHMudmVjdG9ySW5kZXhBc3NpZ24gPSBhc3luYyAoKSAKICAgICAgICAgICAgIGlu
dDIgeDsKICAgICAgICAgICAgIHhbMF0gPSAyMDsKICAgICAgICAgICAgIHhbMV0gPSAxMDsKLSAg
ICAgICAgICAgIHhbNTAwMF0gPSAyMDsKKyAgICAgICAgICAgIHhbNTAwMF0gPSA0MDsKICAgICAg
ICAgICAgIHJldHVybiB4LnggLyB4LnkgKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsKLSAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtd
KSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwg
ICJmb28iLCBbXSksIDQwIC8gMTAgKyA0MCk7CiB9OwogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsK
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3ItbG9hZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12ZWN0b3It
bG9hZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
b3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTEgKzE3LDEx
IEBAIHdobHNsVGVzdHMudmVjdG9ySW5kZXhMb2FkID0gYXN5bmMgKCkgPT4KICAgICAgICAgICAg
IGludDIgeDsKICAgICAgICAgICAgIHgueCA9IDIwOwogICAgICAgICAgICAgeC55ID0gMTA7Ci0g
ICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBdID0gNDA7CiAgICAg
ICAgICAgICByZXR1cm4geFswXSAvIHhbMV0gKyB4WzUwMDBdOwogICAgICAgICB9CiAgICAgYDsK
LSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFtdKSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgICJmb28iLCBbXSksIDQwLzEwICsgNDApOwogfTsKIAogcnVuVGVzdHMod2hsc2xUZXN0cyk7
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUt
c3Vic2NyaXB0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBvdmVycmlkZVN1YnNjcmlwdFN0cnVjdCAKLVBBU1Mg
b3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3RBbmRVc2VQb2ludGVycyAKLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmRV
c2VQb2ludGVyc0luY29ycmVjdGx5IAotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
b3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxtZXRhIGNoYXJz
ZXQ9dXRmLTg+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5U
ZXN0IG92ZXJyaWRlIHN1YnNjcmlwdHMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdo
bHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3QgPSBhc3luYyAoKSA9PgotewotICAgIGxl
dCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4Owot
ICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0
b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAg
ICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiAmZm9vLT55Owot
ICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsK
LSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9v
WzFdICogMzsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAzKTsKLX0KLQotd2hs
c2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZERvU3RvcmVzID0gYXN5bmMgKCkgPT4K
LXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAg
ICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVhZCBp
bnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28t
Png7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
JmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAgIGlu
dCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAgZm9v
WzBdID0gNDk4OwotICAgICAgICAgICAgZm9vWzFdID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4g
Zm9vLnggKyBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13
aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgPSBhc3luYyAo
KSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAg
ICAgICAgIGludCB4OwotICAgICAgICAgICAgaW50IHk7Ci0gICAgICAgIH0KLSAgICAgICAgdGhy
ZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50IGluZGV4KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4g
JmZvby0+eDsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICAgICAgICAgIHJl
dHVybiAmZm9vLT55OwotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0KLSAgICAg
ICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biAoKmZvbylbMF0gKyAoKmZvbylbMV07Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28ueCA9IDQ5ODsK
LSAgICAgICAgICAgIGZvby55ID0gMTk7Ci0gICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwot
ICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJp
ZGVTdWJzY3JpcHRTdHJ1Y3RBbmRVc2VQb2ludGVyc0luY29ycmVjdGx5ID0gYXN5bmMgKCkgPT4K
LXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewot
ICAgICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIGludCB5OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9v
LCB1aW50IGluZGV4KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9
PSAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgICAgICAg
ICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBp
bnQgYmFyKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZm9vWzBdICsgZm9vWzFdOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IGZv
bygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIGZvbzsKLSAgICAgICAgICAg
ICAgICBmb28ueCA9IDQ5ODsKLSAgICAgICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAg
ICAgICAgIHJldHVybiBiYXIoJmZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQot
Ci1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgotCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2V0dGVyLXNwZWMtdGVzdHMuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3Rz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgY29uc3Qgd2hsc2xUZXN0cyA9
IHt9OwogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5jICgpID0+CiB7
Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBp
bnQgb3BlcmF0b3IuZm9vKGludCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIDU7CkBA
IC0zMCwxMCArMzAsNyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGFzeW5j
CiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIHJldHVybiB4LmZvbzsKICAgICAgICAg
fQotICAgIGA7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10pLCA1NDMpOwotICAgIC8vYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNSk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVz
dHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgPSBhc3luYyAoKSA9PgpAQCAtNTYsNyArNTMs
NyBAQCB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gCiAKIHdobHNsVGVz
dHMuc2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFzeW5jICgpID0+CiB7Ci0gICAg
Y29uc3QgcHJvZ3JhbSA9YAorICAgIGF3YWl0IGNoZWNrRmFpbChgCiAgICAgICAgIHN0cnVjdCBC
YXIgeyB9CiAgICAgICAgIGludCBvcGVyYXRvci5mb28oQmFyKQogICAgICAgICB7CkBAIC03NSwx
NCArNzIsMTIgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZEZpeAogICAg
ICAgICAgICAgYmFyLmZvbyA9IDUyOwogICAgICAgICAgICAgcmV0dXJuIGJhci5mb287CiAgICAg
ICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSksIDUzNCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgNTM0KTsKKyAgICBgKTsKIH0KIAogd2hsc2xU
ZXN0cy5yZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3JhbSA9
IGAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAg
ICAgIGludCB4OwogICAgICAgICAgICAgaW50IHk7CkBAIC0xMDEsOCArOTYsNyBAQCB3aGxzbFRl
c3RzLnJlY3Vyc2l2ZVNldHRlcnMgPSBhc3luYyAoKSA9CiAgICAgICAgICAgICBmb28uYmFyLmMg
PSA4OwogICAgICAgICAgICAgcmV0dXJuIGZvby54KjEwICsgZm9vLnk7CiAgICAgICAgIH0KLSAg
ICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJm
IiwgW10pLCA4Myk7CisgICAgYCk7CiB9CiAKIHdobHNsVGVzdHMubG9uZVNldHRlciA9IGFzeW5j
ICgpID0+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0
ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9z
aW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVyLXNldHRlci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACiAKLVBBU1Mgc2ltcGxlR2V0dGVyIAotUEFT
UyBzaW1wbGVTZXR0ZXIgCitQQVNTIHNpbXBsZVByb3BlcnR5R2V0IAogCkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXIt
c2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDQzICsxMCwxNSBAQAogPHNjcmlwdD4K
IGNvbnN0IHdobHNsVGVzdHMgPSB7fTsKIAotd2hsc2xUZXN0cy5zaW1wbGVHZXR0ZXIgPSBhc3lu
YyAoKSA9PiB7Cit3aGxzbFRlc3RzLnNpbXBsZVByb3BlcnR5R2V0ID0gYXN5bmMgKCkgPT4gewog
ICAgIGxldCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICAgICAgIGlu
dCB4OwogICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci55KEZvbyBmb28pCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBmb28ueDsKLSAgICAgICAgfQogICAgICAgICBpbnQgZm9v
KCkKICAgICAgICAgewogICAgICAgICAgICAgRm9vIGZvbzsKICAgICAgICAgICAgIGZvby54ID0g
NzgwNDsKLSAgICAgICAgICAgIHJldHVybiBmb28ueTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwg
NzgwNCk7Ci19OwotCi13aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFzeW5jICgpID0+IHsKLSAg
ICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQg
eDsKLSAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28gZm9vKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJh
dG9yLnk9KEZvbyBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLngg
PSB2YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAgaW50
IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBmb287Ci0gICAgICAgICAgICBmb28u
eSA9IDc4MDQ7CiAgICAgICAgICAgICByZXR1cm4gZm9vLng7CiAgICAgICAgIH0KICAgICBgOwpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24t
bnVsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNz
LW9uLW51bGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi0KLVBB
U1MgZmllbGRTaG91bGRCZU51bGwgCi0KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9z
dHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJKHJl
dmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmll
bGQtYWNjZXNzLW9uLW51bGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBz
aG91bGQgcmV0dXJuIG51bGwuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVz
dHMuZmllbGRTaG91bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7Ci0gICAgY29uc3QgcHJvZ3JhbSA9
IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAg
IGludCB5OwotICAgICAgICAgICAgaW50IHo7Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCBmb28o
dWludCBpKSB7Ci0gICAgICAgICAgICBGb29bMTBdIGZvb3M7Ci0gICAgICAgICAgICB0aHJlYWQg
Rm9vKiBmb28gPSAmZm9vc1tpXTsKLSAgICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9v
LT56KTsKLSAgICAgICAgICAgIHJldHVybiBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKLSAg
ICAgICAgfQotICAgIGA7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0gICAg
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIs
IFttYWtlVWludChpKV0pLCBmYWxzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9v
bEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKLSAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFr
ZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9v
bEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRydWUp
OwotfTsKLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC90ZXN0LWhhcm5lc3MtdGVzdC5odG1sCShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNz
LXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIHdobHNsVGVzdHMu
ZmxvYXQ0eDR0ZXN0cyA9ICgpID0+IHsKICAgICAgICAgfSk7CiAgICAgfSwgIlVwbG9hZCBhIGZs
b2F0NHg0W10gYW5kIHN0b3JlIGludG8gYSBmbG9hdDR4NFtdLiIpOwogCi0gICAgY2hlY2tBcnJh
eXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZsb2F0
NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0LCAx
NSkpOyIsIFtdLCBmbG9hdDR4NGV4cGVjdGVkKTsKKyAgICBjaGVja0FycmF5cygiZmxvYXQ0eDQi
LCAicmV0dXJuIGZsb2F0NHg0KGZsb2F0NCgwLCAxLCAyLCAzKSwgZmxvYXQ0KDQsIDUsIDYsIDcp
LCBmbG9hdDQoOCwgOSwgMTAsIDExKSwgZmxvYXQ0KDEyLCAxMywgMTQsIDE1KSk7IiwgW10sIGZs
b2F0NHg0Q29sdW1uRXhwZWN0ZWQpOwogICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJyZXR1
cm4gaW4wOyIsIFtmbG9hdDR4NGV4cGVjdGVkXSwgZmxvYXQ0eDRleHBlY3RlZCk7CiAgICAgbGV0
IG11bHRpcGxlNHg0YXJncyA9IFtdOwogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkg
ewpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIt
YWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVj
dGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0i
NDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0
d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZh
bHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3Vy
Y2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRy
aWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3Ry
dWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0
aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAg
ICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56Owot
fQotCi1CYXIgb3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICBy
ZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJn
ZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChi
LncueSwgYi53LnksIGIudy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZp
Y2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxl
KHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6
IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZy
YWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVu
dFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlw
IjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxs
TW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVu
b3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xv
cldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAg
Ci0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxv
YXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0
dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0
ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRl
eFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0
YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVD
b3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJU
RVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9
IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3lu
YygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJy
YXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzdd
ID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1
ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJn
cHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dh
cENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBz
d2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmll
dyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1h
bmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29u
c3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNo
bWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBu
dWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1d
OwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJl
bmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVn
aW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0
VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsK
LSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAg
ZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0Rl
dmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
YW5kZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1leHBl
Y3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVC
YWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1s
dmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZl
bHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJi55KHRo
cmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAg
IEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFyKiBiKSB7Ci0g
ICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotdGhy
ZWFkIEJhciogb3BlcmF0b3ImLnEodGhyZWFkIEJheiogYikgewotICAgIHJldHVybiAmYi0+cDsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIucS53Lnks
IGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmlj
ZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUo
e2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTog
c2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJh
Z21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50
U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAi
OwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxN
b2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xv
ckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5v
cm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9y
V3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAK
LSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9h
dDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0
cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRl
eElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4
U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3Rh
dGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNv
dW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ip
OwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRF
WCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0g
ZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5j
KCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJi
Z3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2Fw
Q2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3
YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3
ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFu
ZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25z
dCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2ht
ZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51
bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07
Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdp
blJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRW
ZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNv
ZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwot
ICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBk
ZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2
aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tn
cm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlw
dD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRy
YXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNo
YWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlv
biA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwot
fQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJh
dG9yJi55KHRocmVhZCBGb28qIGYpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBC
YXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciYudyh0aHJlYWQgQmFy
KiBiKSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRT
aGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiLncueSA9IDEuMDsKLSAg
ICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53LnksIDEuMCk7Ci19Ci1gOwotCi1jb25z
dCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1
bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5j
cmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRl
eFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVy
In07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50
cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kg
PSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9u
dEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7
fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBb
e2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6
IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0
YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9u
OiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwg
YXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBd
OwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119
OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0
KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5
LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVy
dGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9
IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQ
VUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlw
dG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1
ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2Fu
dmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7
ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29u
dGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qg
b3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0
IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwot
Ci0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIo
KTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAg
Y29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcs
IHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwg
Y2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51
bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBj
b21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rl
ci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJd
KTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFy
dChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0
ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12
ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkp
IDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7
Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9v
KiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1Gb28gZ2VuZXJhdGVGb28oKSB7Ci0gICAg
Rm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmOwotfQotCi1mcmFnbWVudCBmbG9h
dDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICByZXR1cm4gZmxvYXQ0KGdl
bmVyYXRlRm9vKCkueSwgZ2VuZXJhdGVGb28oKS55LCBnZW5lcmF0ZUZvbygpLnksIDEuMCk7Ci19
Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVs
ZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAg
IGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAi
dmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRl
ck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0
aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25T
dGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFs
cGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29s
b3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5k
LCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3No
YWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7
c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0
cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlu
cHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3Vw
TGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBp
cGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1p
dGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5j
aWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5
b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBl
bGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVy
RGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICog
NCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklU
RX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhC
dWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3
YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsy
XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEy
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRl
c2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dh
cENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7
Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgp
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZh
dWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29t
bWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwg
YTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0
VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVP
cDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0
YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JB
dHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2Ny
aXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5l
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZm
ZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBj
b21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2Nv
bW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2Up
IHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAg
IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewot
ICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0g
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
YW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZh
cyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sCShyZXZpc2lv
biAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9n
ZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExMSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNv
dXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0
dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1z
dHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7
Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkg
OiBTVl9UYXJnZXQgMCB7Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBm
bG9hdDQoZi55LCBmLnksIGYueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2
aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVs
ZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxl
OiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBm
cmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21l
bnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJp
cCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3Vs
bE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1
bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29s
b3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAg
IAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZs
b2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFth
dHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVy
dGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0
ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25T
dGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxl
Q291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVs
aW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVS
VEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIg
PSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5
bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFy
cmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgi
Z3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDog
ImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3
YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0g
c3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZp
ZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21t
YW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNv
bnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFj
aG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDog
bnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9
XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCBy
ZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJl
Z2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7
Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAg
IGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNE
ZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0
cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
LWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1
ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNl
ID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmli
dXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVj
dCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhy
ZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3RydWN0
IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGluZGV4
KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50IGlu
ZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50
IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAg
IGJbMl1bM10gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJd
WzNdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25z
dCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJT
b3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAg
IGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCBy
YXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsK
LSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVu
ZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0
cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29u
c3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAg
ICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0
ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
ID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRl
dmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVu
dFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRl
cywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0
OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3Jl
YXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJV
c2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVC
dWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVy
QXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Nl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwot
Ci0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25z
dCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9Owot
ICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFp
bkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3Vy
cmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1
cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2
aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAs
IGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFj
aG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJj
bGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlw
dG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNv
bnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJl
bmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShy
ZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygw
LCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEs
IDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21t
YW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVl
KCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVu
Y3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBm
dW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2Fy
ZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1h
bmRlci1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVh
cmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5k
ZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZh
bHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRl
ci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZl
bHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJj
ZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJp
YnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1
Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRo
cmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVj
dCBCYXIgewotICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQg
QmFyKiBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1zdHJ1Y3QgQmF6
IHsKLSAgICBCYXIgcDsKLX0KLQotdGhyZWFkIEJhciogb3BlcmF0b3ImW10odGhyZWFkIEJheiog
YiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+cDsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0
IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYlsxXVsy
XVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMV1bMl1bM10sIGJbMV1bMl1bM10sIGJb
MV1bMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAg
IGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNo
YWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFn
ZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07
Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNv
bnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9u
ZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0g
e307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBo
YUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRz
LkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25z
dCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAg
ICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19
OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0g
e3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2Ny
aXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0
ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZy
YWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9y
U3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBs
YXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmlj
ZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNy
ZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
M10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFw
KCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAg
IGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3Jt
In07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dh
cENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5n
ZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0
VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIg
PSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7
cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7
YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRP
cDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29u
c3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rl
c2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBh
c3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVs
aW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZm
ZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXco
NCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0
IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0
UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhl
bihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsK
LX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNv
ZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0
bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwv
Y2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1hbmRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDExOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVp
Z2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZl
cnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkg
OiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsK
LSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28q
IGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLXN0cnVjdCBCYXIgewot
ICAgIEZvbyB6OwotfQotCi10aHJlYWQgRm9vKiBvcGVyYXRvciZbXSh0aHJlYWQgQmFyKiBiLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZiLT56OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJh
Z21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsKLSAgICBiWzFdWzJdID0g
MS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsxXVsyXSwgYlsxXVsyXSwgYlsxXVsyXSwgMS4wKTsK
LX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9k
dWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0g
ICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hh
ZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmlt
aXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlv
blN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3Qg
YWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBj
b2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxl
bmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7
c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9
IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5w
dXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczog
aW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3Jv
dXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
UGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJp
bWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3Rl
bmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVM
YXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQg
KiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dS
SVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRl
eEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0g
YXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVy
KTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0w
LjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0
IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWlu
RGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBz
d2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9y
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJl
KCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURl
ZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVD
b21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAx
LCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRw
dXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9y
ZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxB
dHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xv
ckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQ
YXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVz
Y3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxp
bmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1
ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAg
ICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9
IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChb
Y29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmlj
ZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7
Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWFuZGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDExNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFz
PgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4
U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0g
ICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQot
Ci10aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsK
LSAgICByZXR1cm4gJmYtPng7Ci19Ci0KLUZvbyBnZW5lcmF0ZUZvbygpIHsKLSAgICBGb28gZjsK
LSAgICBmLnggPSAxLjA7Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFn
bWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIHJldHVybiBmbG9hdDQoZ2VuZXJhdGVG
b28oKVswXSwgZ2VuZXJhdGVGb28oKVsxXSwgZ2VuZXJhdGVGb28oKVsyXSwgMS4wKTsKLX0KLWA7
Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQot
YXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0g
ZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29u
c3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVU
b3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRl
ID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0
YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdy
aXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhT
dGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVy
TG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJp
ZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0g
W2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRz
fTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxp
bmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZl
VG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0
YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQg
dmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3Jp
cHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hh
aW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0g
ICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRW
aWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5k
RW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAx
fTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0
dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAi
c3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFj
aG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5j
b2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRv
cik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0s
IFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewot
ICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAw
IiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWln
aHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVy
dGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6
IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewot
ICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsK
LSAgICByZXR1cm4gZmxvYXQoaW5kZXgpOwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRT
aGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBGb28gZjsKLSAgICByZXR1cm4gZmxvYXQ0KGZb
MV0sIGZbMV0sIGZbMV0sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkg
ewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2Nv
ZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hh
ZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21l
bnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hh
ZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwot
ICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2Rl
OiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJs
ZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0i
LCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3Jp
dGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAg
ICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQi
fTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmli
dXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElu
cHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91
dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5l
TGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3Rh
Z2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUs
IGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50
OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9
IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwot
Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXku
QllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8
IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2
aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7
Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2
ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
MF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
LnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIp
OwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3Jh
OHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hh
aW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBD
aGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0g
b3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVu
Y29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCBy
ZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50
cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGws
IGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0g
ICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVy
UGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVu
dH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJl
bmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNl
dFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0
ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAg
IGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZp
Y2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNl
KCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91
bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0
LWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxl
dmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9
IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0
ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3Qg
Rm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1aW50IGlu
ZGV4KSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yW109KEZvbyBmLCB1aW50
IGluZGV4LCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3Ry
dWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvcltdKEJhciBiLCB1aW50IGlu
ZGV4KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yW109KEJhciBiLCB1aW50
IGluZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLXN0cnVj
dCBCYXogewotICAgIEJhciBwOwotfQotCi1CYXIgb3BlcmF0b3JbXShCYXogYiwgdWludCBpbmRl
eCkgewotICAgIHJldHVybiBiLnA7Ci19Ci0KLUJheiBvcGVyYXRvcltdPShCYXogYiwgdWludCBp
bmRleCwgQmFyIGEpIHsKLSAgICBiLnAgPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFnbWVu
dCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXogYjsKLSAg
ICBiWzJdWzNdWzRdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXVs0XSwgYlsyXVsz
XVs0XSwgYlsyXVszXVs0XSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVy
LWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0
cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93
ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0Pgot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1do
aXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2
YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yW10oRm9vIGYsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3JbXT0oRm9vIGYs
IHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQot
Ci1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIsIHVp
bnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFyIGIs
IHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFy
IGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1bM10sIGJbMl1b
M10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewot
ICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6
IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVy
TW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRT
dGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVy
In07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAg
IGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAi
bm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBh
bHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVC
aXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBj
b25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsK
LSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRl
MF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0
ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERl
c2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2Us
IGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNv
bG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAx
LCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRl
dmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQ
VUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNl
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0
ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0g
PSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVu
bWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwot
ICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVu
b3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4o
c3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFp
bi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0
cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29k
ZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQg
PSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9
IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxv
YWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAg
Y29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRl
clBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhC
dWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRy
YXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNv
bnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2Uu
Z2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCku
dGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9
KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJ
blNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LXNldHRlci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlw
dD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRy
YXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUt
ZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25C
bHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5k
ZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLmh0bWwJKHJldmlz
aW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0
PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxv
YXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4g
cG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9w
ZXJhdG9yW10oRm9vIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gZi54OwotfQotCi1Gb28g
b3BlcmF0b3JbXT0oRm9vIGYsIHVpbnQgaW5kZXgsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4Owot
ICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFk
IEZvbyogb3BlcmF0b3ImW10odGhyZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVy
biAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJn
ZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYlsyXVszXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0
KGJbMl1bM10sIGJbMl1bM10sIGJbMl1bM10sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0
YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFk
ZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0g
e21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAg
Y29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
ImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5n
bGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJj
dyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBj
b25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDog
InJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8v
IEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVs
bDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3Jt
YXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRl
U2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNv
bnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBw
aXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5l
TGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
PSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJp
emF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQs
IHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5k
ZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBG
bG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVz
YWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4
QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBX
cml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAg
dmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBm
b3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25m
aWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4
dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
LSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29s
b3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVU
YXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xv
cjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5j
b2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5k
UGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2go
KTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdl
dEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2Up
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHly
ZXNvbHZlci9pbmRleGVyLXNldHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLmh0bWwJKHJldmlzaW9u
IDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItc2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBz
aGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRp
b24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsK
LX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVy
YXRvciZbXSh0aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54Owot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotRm9vIG9wZXJhdG9yW10oQmFyIGIs
IHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1CYXIgb3BlcmF0b3JbXT0oQmFy
IGIsIHVpbnQgaW5kZXgsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4gYjsKLX0K
LQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAg
QmFyIGI7Ci0gICAgRm9vIGZvbzsKLSAgICBmb28ueCA9IDEuMDsKLSAgICBiWzFdID0gZm9vOwot
ICAgIGZvbyA9IGJbMV07Ci0gICAgcmV0dXJuIGZsb2F0NChmb28ueCwgZm9vLngsIGZvby54LCAx
LjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFk
ZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9
KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQ
b2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxl
OiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0
IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJp
emF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBj
b25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNv
bnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29s
b3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRl
MCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5w
dXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25z
dCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZm
ZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2Jp
bmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5j
cmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdl
LCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVw
dGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBl
bGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVu
ZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
ICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5N
QVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIo
dmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlC
dWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAx
LjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5Wzld
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAg
Y29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2Fw
Q2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNv
bnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2Ny
aXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRl
eHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3Jl
YXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNy
ZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAs
IGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6
IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIs
IHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0g
e2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJl
bmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBh
c3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQ
aXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVy
dGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDAp
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVm
ZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3Vi
bWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24o
ZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlv
bigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52
YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1
ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBl
Y3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRo
PSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVC
YWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXIt
YWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxl
dmVscy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0
ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDog
U1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0g
ICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBm
Lng7Ci19Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7
Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28g
b3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53
PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1zdHJ1
Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotQmFyIG9wZXJhdG9yLnEoQmF6IGIpIHsKLSAgICBy
ZXR1cm4gYi5wOwotfQotCi1CYXogb3BlcmF0b3IucT0oQmF6IGIsIEJhciBhKSB7Ci0gICAgYi5w
ID0gYTsKLSAgICByZXR1cm4gYjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVy
KCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmF6IGI7Ci0gICAgYi5xLncueSA9IDEuMDsKLSAgICBy
ZXR1cm4gZmxvYXQ0KGIucS53LnksIGIucS53LnksIGIucS53LnksIDEuMCk7Ci19Ci1gOwotCi1j
b25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5j
IGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmlj
ZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZl
cnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hh
ZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xv
Z3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtm
cm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMg
PSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1h
c2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0
aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAx
NiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1
dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0K
LSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czog
W119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5
b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9s
b2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwg
dmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAg
ICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRv
ciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6
IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRl
eEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4
XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3Ig
PSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0g
Y29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29u
c3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNv
bnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0Vmlldygp
OwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29k
ZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0g
ICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZp
ZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3Jl
IiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9
IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50
cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIg
PSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0p
OwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5j
b2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZm
ZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBz
dGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJh
Y3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0
ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVl
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVy
dGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7
Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4Owot
fQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9v
IG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICByZXR1cm4g
ZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvci53KEJh
ciBiKSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9KEJhciBiLCBGb28g
YSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBm
cmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0g
MS4wOwotICAgIHJldHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7
Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQot
YXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0g
ZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29u
c3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9k
dWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVU
b3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRl
ID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFC
bGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0
YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdy
aXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhT
dGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVy
TG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJp
ZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0g
W2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRz
fTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlv
dXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxp
bmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZl
VG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0
YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9
OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNj
cmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQg
dmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0g
MS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0g
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3Jp
cHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hh
aW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAg
ICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0g
ICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRW
aWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5k
RW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAx
fTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0
dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAi
c3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFj
aG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5j
b2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRv
cik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0s
IFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewot
ICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0
ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBo
ZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3Vu
ZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL3NldHRlci1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQw
MCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZs
b2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bv
c2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZs
b2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsKLSAgICByZXR1cm4gZi54Owot
fQotCi1Gb28gb3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsKLSAgICBmLnggPSB4OwotICAg
IHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZv
byogb3BlcmF0b3ImLncodGhyZWFkIEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFy
IGI7Ci0gICAgYi53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIu
dy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25z
dCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJT
b3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAg
IGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCBy
YXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsK
LSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVu
ZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0
cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29u
c3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAg
ICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0
ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
ID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRl
dmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVu
dFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRl
cywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0
OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3Jl
YXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJV
c2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVC
dWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVy
QXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Nl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwot
Ci0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25z
dCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9Owot
ICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFp
bkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3Vy
cmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1
cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2
aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAs
IGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFj
aG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJj
bGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlw
dG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNv
bnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJl
bmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShy
ZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygw
LCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEs
IDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21t
YW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVl
KCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVu
Y3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBm
dW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2Fy
ZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgo=
</data>
<flag name="review"
          id="393438"
          type_id="1"
          status="+"
          setter="rmorisset"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377762</attachid>
            <date>2019-08-30 16:17:19 -0700</date>
            <delta_ts>2019-08-30 17:14:13 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2634261</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3OCBAQAorMjAxOS0wOC0yOSAgU2FhbSBC
YXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hMU0xdIFJlbW92ZSBnZXR0
ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDEwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBSb2JpbiBNb3Jpc3NldC4K
KworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgV0hMU0wgaW4gYSBzaWduaWZpY2FudCB3YXku
IFRoaXMgcGF0Y2ggcmVtb3ZlcyBnZXR0ZXJzL3NldHRlcnMvYW5kZXJzCisgICAgICAgIGZyb20g
dGhlIGxhbmd1YWdlLiBJbiBvdXIgZXhwZXJpZW5jZSB3cml0aW5nIFdITFNMIHNoYWRlcnMsIHRo
ZXNlIHBhcnRzIG9mIHRoZSBsYW5ndWFnZQorICAgICAgICB3ZW50IHVudXNlZCwgYW5kIHRoZXkg
YWRkZWQgYSBsb3Qgb2YgY29tcGxleGl0eSB0byB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNv
bXBpbGVyLgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBub3cgdHJlYXRzIGZpZWxkIGFj
Y2Vzc2VzIGFuZCBhcnJheSBpbmRleGVzIGFzIGludHJpbnNpY3MgaW5zaWRlIHRoZSBjb21waWxl
ci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBub3Rpb25zIG9mIG5hbWVkIG9wZXJh
dG9ycywgYW5kZXJzLCBhbmQgaW5kZXhlZCBvcGVyYXRvcnMKKyAgICAgICAgZnJvbSB0aGUgY29t
cGlsZXIgYW5kIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LiBUaGUgY2hlY2tlciBub3cgaW50cmluc2lj
YWxseSBrbm93cyB0aGUKKyAgICAgICAgcmV0dXJuIHR5cGUgZm9yIHByb3BlcnR5IGFjY2Vzc2Vz
IGFuZCBpbmRleGVkIGV4cHJlc3Npb25zIGJhc2VkIG9uIHdoYXQgdGhlCisgICAgICAgIGJhc2Ug
dHlwZSBpcy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIGluIHByYWN0aWNl
IHdhcyBkaWZmaWN1bHQsIHNpbmNlIGdldHRlcnMvc2V0dGVycy9hbmRlcnMKKyAgICAgICAgc29s
dmVkIGEgbG90IG9mIHRoZSBkaWZmaWN1bHQgcHJvYmxlbXMgd2UgaGFkIGluIGdlbmVyYXRpbmcg
bWV0YWwgY29kZS4gRm9yCisgICAgICAgIGV4YW1wbGUsIGFsbCBzd2l6emxlIG9wZXJhdG9ycyB3
ZXJlIGdldHRlcnMgYW5kIHNldHRlcnMsIHNvIGFzc2lnbmluZyB0byBhCisgICAgICAgIHN3aXp6
bGUgZmVsbCBvdXQgbmF0dXJhbGx5IGZyb20gaW1wbGVtZW50aW5nIHNldHRlcnMuIEhvd2V2ZXIs
IGR1cmluZyBtZXRhbAorICAgICAgICBjb2RlZ2VuLCBhbGwgd2Ugc2VlIGlzIGEgZG90IGV4cHJl
c3Npb24gd2l0aCAieHkiIGFzIGEgcHJvcGVydHkuIE91ciBwcmV2aW91cworICAgICAgICBhcmNo
aXRlY3R1cmUgb2YgZW1pdHRpbmcgTWV0YWwgY29kZSB1c2luZyBwb2ludGVycyB3aGljaCByZXBy
ZXNlbnQgbHZhbHVlcworICAgICAgICBkb2Vzbid0IHdvcmsgYmVjYXVzZSB5b3UgY2FuJ3QgdGFr
ZSB0aGUgYWRkcmVzcyBvZiBhIHN3aXp6bGUuIEZvciBleGFtcGxlLAorICAgICAgICAiYXV0byog
eCA9ICZ2ZWN0b3IueXoiIGlzIGludmFsaWQgbWV0YWwgY29kZS4KKyAgICAgICAgCisgICAgICAg
IFNvLCB0aGlzIHBhdGNoIGNoYW5nZXMgdGhlIGVudGlyZSBtZXRhbCBjb2RlIGdlbmVyYXRvciB0
byBlbWl0IFdITFNMIGV4cHJlc3Npb25zCisgICAgICAgIGFzIE1ldGFsIGV4cHJlc3Npb25zLiBU
byBkbyB0aGlzLCBJIGhhZCB0byBjaGFuZ2UgYSBsb3QgYWJvdXQgaG93IHRoZSBjb21waWxlcgor
ICAgICAgICB3YXMgaW1wbGVtZW50ZWQ6CisgICAgICAgIC0gSSBjaGFuZ2VkIHRoZSBpbmRleGVk
IGFjY2Vzc2VzIG9mIG1hdHJpY2VzIHRvIHJldHVybiBjb2x1bW5zIGluc3RlYWQgb2YKKyAgICAg
ICAgcm93cy4gVGhpcyBhbGxvd2VkIFdITFNMIGNvZGUgbGlrZSBgbWF0WzBdLnh5ID0gNDJgIHRv
IGJlIGNvbXBpbGVkIGludG8KKyAgICAgICAgdGhlIGVxdWl2YWxlbnQgbWV0YWwgY29kZSBvZiBg
bWF0WzBdLnh5ID0gNDJgLgorICAgICAgICAtIEkgY2hhbmdlZCB0aGUgbmF0aXZlIGZ1bmN0aW9u
IGlubGluZXIgdG8gZW1pdCBleHByZXNzaW9ucyBpbnN0ZWFkIG9mCisgICAgICAgIHN0YXRlbWVu
dHMuCisgICAgICAgIC0gV2UgYWxzbyBzaW1wbGlmeSB0aGUgbGFuZ3VhZ2UgYnkgcmVtb3Zpbmcg
bnVsbCBhbmQgcmVxdWlyaW5nIGFsbAorICAgICAgICByZWZlcmVuY2UgdHlwZSB2YXJpYWJsZXMg
dG8gaGF2ZSBhbiBpbml0aWFsaXplci4gVGhpcyBtZWFucyB0aGF0CisgICAgICAgIG51bGwgaXMg
bm8gbG9uZ2VyIGEgdmFsaWQgdmFsdWUsIHdoaWNoIGFsbG93cyB1cyB0byBvbWl0IG51bGwgY2hl
Y2tzCisgICAgICAgIGluc2lkZSB0aGUgbWV0YWwgY29kZSBnZW5lcmF0b3IuIFRvIG1ha2UgdGhp
cyB3b3JrIHdpdGggYXJyYXkKKyAgICAgICAgYWNjZXNzZXMsIHdlIG5vdyBjbGFtcCBhY2Nlc3Nl
cyBpbnN0ZWFkIG9mIHJldHVybmluZyBudWxsIGZvciBPT0IKKyAgICAgICAgYWNjZXNzZXMuCisg
ICAgICAgIAorICAgICAgICBJJ3ZlIGFsc28gZmlsZWQgb25lIHJlcXVpcmVkIGJ1ZyBhcyBhIGZv
bGxvd3VwLiBJIGRpZG4ndCBpbmNsdWRlIGl0IGluIHRoaXMKKyAgICAgICAgcGF0Y2ggdG8gbWFr
ZSBpdCBlYXNpZXIgdG8gcmV2aWV3IGFsb25nLiBDdXJyZW50bHksIHRoZXJlIGFyZSB0d28gcGxh
Y2VzIGluCisgICAgICAgIG1ldGFsIGNvZGVnZW4gd2hlcmUgd2UgZXZhbHVhdGUgZWZmZWN0cyB0
d2ljZS4gVGhhdCB3aWxsIGJlIGZpeGVkIGluOgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjUxCisKKyAgICAgICAgVGVzdHM6IHdlYmdwdS93aGxz
bC9hZGRyZXNzLW9mLXN3aXp6bGUuaHRtbAorICAgICAgICAgICAgICAgd2ViZ3B1L3dobHNsL2Fy
cmF5LW9vYi1hbGlhcy5odG1sCisgICAgICAgICAgICAgICB3ZWJncHUvd2hsc2wvbWF0cml4LWlu
ZGV4LWFzc2lnbi5odG1sCisgICAgICAgICAgICAgICB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4
LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHdlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRt
bAorICAgICAgICAgICAgICAgd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5bnRheC5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1QuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xDb25zdGFudEV4cHJlc3Npb24uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xEb3RFeHByZXNzaW9uLmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpFeHByZXNzaW9uOjpkZXN0cm95KToKKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjpBU1Q6OkV4cHJlc3Npb246OmRlc3RydWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6Z2V0dGVyRnVuY3Rp
b25OYW1lIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rpb25OYW1lIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bjo6YW5kZXJGdW5jdGlvbk5hbWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OldI
TFNMOjpBU1Q6OkV4cHJlc3Npb246OmNvcHlUeXBlVG8gY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OkFTVDo6RXhwcmVzc2lvbjo6aXNNYWtlUG9pbnRlckV4cHJlc3Npb24gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6RXhwcmVzc2lvbjo6aXNOdWxsTGl0ZXJh
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dI
TFNMSW5kZXhFeHByZXNzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUv
V0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oOiBS
ZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uOjpnZXR0ZXJGdW5jdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OmFuZGVyRnVuY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uOjp0aHJlYWRBbmRlckZ1bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uOjpzZXRHZXR0ZXJGdW5jdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246OnNldEFuZGVyRnVuY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uOjpzZXRUaHJlYWRBbmRlckZ1bmN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjpBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0U2V0dGVy
RnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldI
TFNMOjpBU1Q6OlR5cGU6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6
VHlwZTo6ZGVzdHJ1Y3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6UmVzb2x2YWJs
ZVR5cGU6OmNhblJlc29sdmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6
UmVzb2x2YWJsZVR5cGU6OmNvbnZlcnNpb25Db3N0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
QVNUOjpUeXBlOjppc0ludGVnZXJMaXRlcmFsVHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpXSExTTDo6QVNUOjpUeXBlOjppc051bGxMaXRlcmFsVHlwZSBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6SG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yOjpIb2lzdGVkVmFyaWFibGVDb2xsZWN0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0TG9vcCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6
OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdENvbnN0YW50RXhwcmVzc2lvblN0cmluZyk6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6YXBwZW5kUmlnaHRWYWx1ZVdpdGhOdWxsYWJpbGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kUmln
aHRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0
aW9uRGVmaW5pdGlvbldyaXRlcjo6YXBwZW5kTGVmdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFz
dFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpNZXRhbDo6RnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjpGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OnRha2VMYXN0TGVmdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXSExTTDo6TWV0YWw6Om1ldGFsQ29kZVByb2xvZ3VlKToKKyAgICAgICAgKFdlYkNvcmU6
OldITFNMOjpNZXRhbDo6Z2VuZXJhdGVNZXRhbENvZGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hM
U0w6Ok1ldGFsOjptZXRhbENvZGVQcm9sb2cpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V0hMU0w6Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OnZlY3RvcklubmVyVHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTmF0aXZlVHlw
ZVdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OndyaXRlTmF0aXZl
VHlwZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVER1bXBlcjo6dmlzaXQpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNURHVtcGVyLmg6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXSExTTDo6Y2hlY2tEdXBsaWNhdGVGdW5jdGlvbnMpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6cmVzb2x2ZUJ5SW5zdGFudGlhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
Y2hlY2tPcGVyYXRvck92ZXJsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2Vy
Ojp3cmFwcGVkVWludFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6Om5v
cm1hbGl6ZWRUeXBlRm9yRnVuY3Rpb25LZXkpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNo
ZWNrZXI6OnZpc2l0KToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjptYXRjaEFuZENvbW1pdCk6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Q2hlY2tlcjo6cmVzb2x2ZUZ1bmN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OldITFNMOjpDaGVja2VyOjphc3NpZ25Db25jcmV0ZVR5cGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVXaXRoT3BlcmF0b3JMZW5ndGgpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkNoZWNrZXI6OmdlbmVyaWNQb2ludGVyVHlwZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Q2hlY2tlcjo6ZmluaXNoVmlzaXRp
bmcpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpv
bWJpZUZpbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6ZmluZEhpZ2hab21iaWVz
KToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xJbmZlclR5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjptYXRjaEFuZENv
bW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y29tbWl0KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNpY3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OldI
TFNMOjpJbnRyaW5zaWNzOjpib29sVmVjdG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6V0hMU0w6OkludHJpbnNpY3M6OnVpbnRWZWN0b3JUeXBlRm9yU2l6ZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6SW50cmluc2ljczo6aW50VmVjdG9yVHlwZUZvclNp
emUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkludHJpbnNpY3M6OmZsb2F0VmVj
dG9yVHlwZUZvclNpemUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMTGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkxleGVyOjpjb25zdW1lVG9r
ZW5Gcm9tU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVy
YWxUeXBlQ2hlY2tlci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQ
YXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OlBhcnNlcjo6cGFyc2VDb25zdGFu
dEV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OlBhcnNlcjo6cGFyc2VFbnVt
ZXJhdGlvbk1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6UGFyc2VyOjpwYXJzZVRl
cm0pOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXSExTTDo6cHJlcGFyZVNoYXJlZCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFtLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXSExTTDo6UHJvZ3JhbTo6aXNWYWxpZFZlY3RvclByb3BlcnR5KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hM
U0w6OnJlc29sdmVQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0
eVJlc29sdmVyOjp2aXNpdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6d3Jh
cEFuZGVyQ2FsbEFyZ3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjph
bmRlckNhbGxBcmd1bWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6c2V0
dGVyQ2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Z2V0dGVyQ2FsbCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6bW9kaWZ5KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldITFNMOjpQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFs
dWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkxlZnRWYWx1ZVNpbXBsaWZp
ZXI6OmZpbmlzaFZpc2l0aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpM
ZWZ0VmFsdWVTaW1wbGlmaWVyOjp2aXNpdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
SExTTDo6UHJvcGVydHlSZXNvbHZlcjo6c2ltcGxpZnlMZWZ0VmFsdWUpOiBEZWxldGVkLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0YW5kYXJk
TGlicmFyeUZ1bmN0aW9ucy5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTdGFuZGFyZExpYnJhcnkudHh0OgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJh
dG9yTGVuZ3RoLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OnN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucyk6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNM
OjpWaXNpdG9yOjp2aXNpdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xW
aXNpdG9yLmg6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA4LTI5ICBUaW1vdGh5IEhhdGNoZXIgIDx0
aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBDb3B5aW5nIGFuZCBwYXN0aW5nIHR3byBwYXJh
Z3JhcGhzIHdpdGggYSBuZXdsaW5lIGJldHdlZW4gdGhlbSByZXN1bHRzIGluIHN0cmF5IHBhcmFn
cmFwaCB3aXRoIG5ld2xpbmUgaW5zaWRlLgpJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0
OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0z
MTYsMTAgKzMxNiw4IEBAIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAKIE1v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMR2F0aGVyRW50cnlQb2ludEl0ZW1zLmNwcAogTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5jcHAKIE1vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMUmVjdXJzaXZlVHlwZUNoZWNrZXIuY3BwCi1Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAogTW9kdWxlcy93
ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQ29uc3RydWN0b3JzLmNwcAogTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCi1Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTEludHJpbnNpY3MuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMTmFtZUNvbnRleHQuY3BwCkBAIC0zMzEsNiArMzI5LDcgQEAgTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xWaXNpdG9yLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTZW1hbnRp
Y01hdGNoZXIuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tl
ci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRlci5jcHAKK01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L01ldGFsL1dITFNMVHlwZU5hbWVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hM
U0xGdW5jdGlvbldyaXRlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0
YWxDb2RlR2VuZXJhdG9yLmNwcApAQCAtMzQ3LDcgKzM0Niw2IEBAIE1vZHVsZXMvd2ViZ3B1L1dI
TFNML0FTVC9XSExTTFNwZWNpYWxpemEKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFN0
YWdlSW5PdXRTZW1hbnRpYy5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0
TGl0ZXJhbFR5cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0
ZXJhbFR5cGUuY3BwCi1Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5
cGUuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRl
cmFsVHlwZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFN0YXRlbWVudC5jcHAK
IE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuY3BwCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xBU1REdW1wZXIuY3Bw
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTEFTVER1bXBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMiwxMiArMzAyLDYgQEAg
dm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJgogICAgIG1fb3V0LnByaW50
KGZsb2F0TGl0ZXJhbC52YWx1ZSgpKTsKIH0KIAotdm9pZCBBU1REdW1wZXI6OnZpc2l0KEFTVDo6
TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewotICAgIG1fb3V0LnByaW50KCJudWxsIik7Ci0g
ICAgdmlzaXQobnVsbExpdGVyYWwudHlwZSgpKTsKLX0KLQogdm9pZCBBU1REdW1wZXI6OnZpc2l0
KEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKQogewogICAgIGlmIChib29sZWFu
TGl0ZXJhbC52YWx1ZSgpKQpAQCAtMzI4LDEwICszMjIsNiBAQCB2b2lkIEFTVER1bXBlcjo6dmlz
aXQoQVNUOjpGbG9hdExpdGVyYWxUCiB7CiB9CiAKLXZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6
Ok51bGxMaXRlcmFsVHlwZSYpCi17Ci19Ci0KIHZvaWQgQVNURHVtcGVyOjp2aXNpdChBU1Q6OkVu
dW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsKQogewogICAg
IG1fb3V0LnByaW50KGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbC5sZWZ0KCksICIuIiwgZW51bWVy
YXRpb25NZW1iZXJMaXRlcmFsLnJpZ2h0KCkpOwpAQCAtNDI1LDcgKzQxNSw2IEBAIHZvaWQgQVNU
RHVtcGVyOjp2aXNpdChBU1Q6OkV4cHJlc3Npb24mIGUKICAgICBib29sIHNraXBQYXJlbnMgPSBp
czxBU1Q6OkJvb2xlYW5MaXRlcmFsPihleHByZXNzaW9uKQogICAgICAgICB8fCBpczxBU1Q6OkZs
b2F0TGl0ZXJhbD4oZXhwcmVzc2lvbikKICAgICAgICAgfHwgaXM8QVNUOjpJbnRlZ2VyTGl0ZXJh
bD4oZXhwcmVzc2lvbikKLSAgICAgICAgfHwgaXM8QVNUOjpOdWxsTGl0ZXJhbD4oZXhwcmVzc2lv
bikKICAgICAgICAgfHwgaXM8QVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsPihleHByZXNzaW9u
KQogICAgICAgICB8fCBpczxBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4oZXhwcmVzc2lv
bikKICAgICAgICAgfHwgaXM8QVNUOjpDb21tYUV4cHJlc3Npb24+KGV4cHJlc3Npb24pCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEFTVER1bXBlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQVNU
RHVtcGVyLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMQVNURHVtcGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDEyICs3MSwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmKSBvdmVycmlk
ZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6
OkJvb2xlYW5MaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJM
aXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVn
ZXJMaXRlcmFsVHlwZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVy
YWxUeXBlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYp
IG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwm
KSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25BdHRyaWJ1dGUmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6TnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJikg
b3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TENoZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrRHVwbGljYXRlRnVuY3Rpb25zLmNwcAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xDaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwy
NCArMTIyLDcgQEAgcHJpdmF0ZToKIEV4cGVjdGVkPHZvaWQsIEVycm9yPiBjaGVja0R1cGxpY2F0
ZUZ1bmN0aW9ucyhjb25zdCBQcm9ncmFtJiBwcm9ncmFtKQogewogICAgIGF1dG8gcGFzc2VzU3Rh
dGljQ2hlY2tzID0gWyZdIChjb25zdCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24mIGZ1bmN0aW9u
KSAtPiBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gewotICAgICAgICBpZiAoZnVuY3Rpb24ubmFtZSgp
ID09ICJvcGVyYXRvciZbXSIgJiYgZnVuY3Rpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyCi0g
ICAgICAgICAgICAmJiBpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8Y29u
c3QgQVNUOjpVbm5hbWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkp
KSB7Ci0gICAgICAgICAgICBhdXRvJiB0eXBlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5h
bWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAg
ICBpZiAoaXM8QVNUOjpUeXBlUmVmZXJlbmNlPih0eXBlKSkgewotICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTYxIFNo
b3VsZG4ndCB3ZSBhbHJlYWR5IGtub3cgd2hldGhlciB0aGUgdHlwZXMgaGF2ZSBiZWVuIHJlc29s
dmVkIGJ5IG5vdz8KLSAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gZG93
bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPih0eXBlKS5tYXliZVJlc29sdmVkVHlwZSgpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oKnJl
c29sdmVkVHlwZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPigqcmVzb2x2
ZWRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuYXRpdmVUeXBlRGVjbGFyYXRp
b24ubmFtZSgpID09ICJ1aW50IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBkZWZpbmUgYXJyYXkgcmVmZXJlbmNlIGFuZGVy
LiIpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChmdW5jdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yLmxl
bmd0aCIgJiYgZnVuY3Rpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxCi0gICAgICAgICAgICAm
JiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHN0YXRpY19jYXN0PGNvbnN0IEFTVDo6VW5u
YW1lZFR5cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKQotICAgICAgICAg
ICAgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHN0YXRpY19jYXN0PGNvbnN0IEFTVDo6VW5uYW1lZFR5
cGUmPigqZnVuY3Rpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKSkpCi0gICAgICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBkZWZpbmUgb3BlcmF0b3IubGVuZ3Ro
IGZvciBhbiBhcnJheS4iKSk7Ci0gICAgICAgIGVsc2UgaWYgKGZ1bmN0aW9uLm5hbWUoKSA9PSAi
b3BlcmF0b3I9PSIKKyAgICAgICAgaWYgKGZ1bmN0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3I9PSIK
ICAgICAgICAgICAgICYmIGZ1bmN0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMgogICAgICAg
ICAgICAgJiYgaXM8QVNUOjpSZWZlcmVuY2VUeXBlPihzdGF0aWNfY2FzdDxjb25zdCBBU1Q6OlVu
bmFtZWRUeXBlJj4oKmZ1bmN0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpKSkKICAgICAgICAg
ICAgICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8Y29uc3QgQVNUOjpVbm5h
bWVkVHlwZSY+KCpmdW5jdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSkpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5j
cHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSw3NiArMTk5LDYgQEAg
cHJpdmF0ZToKICAgICBBU1Q6Ok5hbWVkVHlwZSogbV9jYXN0UmV0dXJuVHlwZTsKIH07CiAKLWNs
YXNzIEFuZE92ZXJsb2FkVHlwZUtleSB7Ci1wdWJsaWM6Ci0gICAgQW5kT3ZlcmxvYWRUeXBlS2V5
KCkgPSBkZWZhdWx0OwotICAgIEFuZE92ZXJsb2FkVHlwZUtleShXVEY6Okhhc2hUYWJsZURlbGV0
ZWRWYWx1ZVR5cGUpCi0gICAgewotICAgICAgICBtX3R5cGUgPSBiaXR3aXNlX2Nhc3Q8QVNUOjpV
bm5hbWVkVHlwZSo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oMSkpOwotICAgIH0KLQotICAgIEFu
ZE92ZXJsb2FkVHlwZUtleShBU1Q6OlVubmFtZWRUeXBlJiB0eXBlLCBBU1Q6OkFkZHJlc3NTcGFj
ZSBhZGRyZXNzU3BhY2UpCi0gICAgICAgIDogbV90eXBlKCZ0eXBlKQotICAgICAgICAsIG1fYWRk
cmVzc1NwYWNlKGFkZHJlc3NTcGFjZSkKLSAgICB7IH0KLQotICAgIGJvb2wgaXNFbXB0eVZhbHVl
KCkgY29uc3QgeyByZXR1cm4gIW1fdHlwZTsgfQotICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVk
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gYml0d2lzZV9jYXN0PEFTVDo6VW5uYW1l
ZFR5cGUqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpKTsgfQotCi0gICAgdW5zaWduZWQgaGFz
aCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gSW50SGFzaDx1aW50OF90Pjo6aGFzaChz
dGF0aWNfY2FzdDx1aW50OF90PihtX2FkZHJlc3NTcGFjZSkpIF4gbV90eXBlLT5oYXNoKCk7Ci0g
ICAgfQotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgb3Ro
ZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbV9hZGRyZXNzU3BhY2UgPT0gb3RoZXIu
bV9hZGRyZXNzU3BhY2UKLSAgICAgICAgICAgICYmICptX3R5cGUgPT0gKm90aGVyLm1fdHlwZTsK
LSAgICB9Ci0KLSAgICBzdHJ1Y3QgSGFzaCB7Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNo
KGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYga2V5KQotICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4ga2V5Lmhhc2goKTsKLSAgICAgICAgfQotCi0gICAgICAgIHN0YXRpYyBib29sIGVxdWFs
KGNvbnN0IEFuZE92ZXJsb2FkVHlwZUtleSYgYSwgY29uc3QgQW5kT3ZlcmxvYWRUeXBlS2V5JiBi
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYSA9PSBiOwotICAgICAgICB9Ci0KLSAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBm
YWxzZTsKLSAgICB9OwotCi0gICAgc3RydWN0IFRyYWl0cyA6IHB1YmxpYyBXVEY6OlNpbXBsZUNs
YXNzSGFzaFRyYWl0czxBbmRPdmVybG9hZFR5cGVLZXk+IHsKLSAgICAgICAgc3RhdGljIGNvbnN0
IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24gPSB0cnVlOwotICAgICAgICBzdGF0aWMgYm9v
bCBpc0VtcHR5VmFsdWUoY29uc3QgQW5kT3ZlcmxvYWRUeXBlS2V5JiBrZXkpIHsgcmV0dXJuIGtl
eS5pc0VtcHR5VmFsdWUoKTsgfQotICAgIH07Ci0KLXByaXZhdGU6Ci0gICAgQVNUOjpVbm5hbWVk
VHlwZSogbV90eXBlIHsgbnVsbHB0ciB9OwotICAgIEFTVDo6QWRkcmVzc1NwYWNlIG1fYWRkcmVz
c1NwYWNlOwotfTsKLQotc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZXNv
bHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKENvZGVMb2NhdGlvbiBsb2NhdGlvbiwgQVNUOjpB
cnJheVJlZmVyZW5jZVR5cGUmIGZpcnN0QXJndW1lbnQsIGNvbnN0IEludHJpbnNpY3MmIGludHJp
bnNpY3MpCi17Ci0gICAgY29uc3QgYm9vbCBpc09wZXJhdG9yID0gdHJ1ZTsKLSAgICBhdXRvIHJl
dHVyblR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUobG9jYXRpb24sIGZpcnN0QXJndW1l
bnQuYWRkcmVzc1NwYWNlKCksIGZpcnN0QXJndW1lbnQuZWxlbWVudFR5cGUoKSk7Ci0gICAgQVNU
OjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgIHBhcmFtZXRlcnMuYXBwZW5k
KG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpR
dWFsaWZpZXJzKCksICZmaXJzdEFyZ3VtZW50LCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cikp
OwotICAgIHBhcmFtZXRlcnMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xh
cmF0aW9uPihsb2NhdGlvbiwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChsb2NhdGlvbiwgaW50cmluc2ljcy51aW50VHlwZSgpKSwgU3RyaW5nKCksIG51bGxwdHIs
IG51bGxwdHIpKTsKLSAgICByZXR1cm4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFT
VDo6RnVuY3Rpb25EZWNsYXJhdGlvbihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBX
VEY6Om51bGxvcHQsIFdURk1vdmUocmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3ImW10iLCBT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0
ciwgaXNPcGVyYXRvciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwotfQotCi1zdGF0
aWMgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIHJlc29sdmVXaXRoT3BlcmF0b3JMZW5n
dGgoQ29kZUxvY2F0aW9uIGxvY2F0aW9uLCBBU1Q6OlVubmFtZWRUeXBlJiBmaXJzdEFyZ3VtZW50
LCBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKQotewotICAgIGNvbnN0IGJvb2wgaXNPcGVy
YXRvciA9IHRydWU7Ci0gICAgYXV0byByZXR1cm5UeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3
cmFwKGxvY2F0aW9uLCBpbnRyaW5zaWNzLnVpbnRUeXBlKCkpOwotICAgIEFTVDo6VmFyaWFibGVE
ZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKLSAgICBwYXJhbWV0ZXJzLmFwcGVuZChtYWtlVW5pcXVl
UmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygp
LCAmZmlyc3RBcmd1bWVudCwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICByZXR1
cm4gQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlv
bihsb2NhdGlvbiwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUo
cmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3IubGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBh
cnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLX0KLQogc3RhdGljIEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aFJlZmVyZW5jZUNvbXBhcmF0b3IoQ29kZUxvY2F0
aW9uIGxvY2F0aW9uLCBSZXNvbHZpbmdUeXBlJiBmaXJzdEFyZ3VtZW50LCBSZXNvbHZpbmdUeXBl
JiBzZWNvbmRBcmd1bWVudCwgY29uc3QgSW50cmluc2ljcyYgaW50cmluc2ljcykKIHsKICAgICBj
b25zdCBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwpAQCAtMjkzLDQ0ICsyMjMsMTggQEAgc3RhdGlj
IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiByZQogCiBlbnVtIGNsYXNzIEFjY2VwdGFi
aWxpdHkgewogICAgIFllcywKLSAgICBNYXliZSwKICAgICBObwogfTsKIAogc3RhdGljIE9wdGlv
bmFsPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbj4gcmVzb2x2ZUJ5SW5zdGFudGlhdGlv
bihjb25zdCBTdHJpbmcmIG5hbWUsIENvZGVMb2NhdGlvbiBsb2NhdGlvbiwgY29uc3QgVmVjdG9y
PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBlcywgY29uc3QgSW50
cmluc2ljcyYgaW50cmluc2ljcykKIHsKLSAgICBpZiAobmFtZSA9PSAib3BlcmF0b3ImW10iICYm
IHR5cGVzLnNpemUoKSA9PSAyKSB7Ci0gICAgICAgIGF1dG8qIGZpcnN0QXJndW1lbnRBcnJheVJl
ZiA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6bWFrZVZpc2l0b3IoW10oUmVmPEFTVDo6VW5u
YW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpBcnJheVJlZmVyZW5jZVR5cGUqIHsKLSAg
ICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8QVNU
OjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuICZk
b3duY2FzdDxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpVbm5hbWVk
VHlwZSY+KHVubmFtZWRUeXBlKSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgfSwgW10oUmVmUHRyPFJlc29sdmFibGVUeXBlUmVmZXJlbmNlPiYpIC0+IEFTVDo6QXJyYXlS
ZWZlcmVuY2VUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfSkp
OwotICAgICAgICBib29sIHNlY29uZEFyZ3VtZW50SXNVaW50ID0gdHlwZXNbMV0uZ2V0KCkudmlz
aXQoV1RGOjptYWtlVmlzaXRvcihbJl0oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlw
ZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh1bm5hbWVkVHlwZSwgaW50
cmluc2ljcy51aW50VHlwZSgpKTsKLSAgICAgICAgfSwgWyZdKFJlZlB0cjxSZXNvbHZhYmxlVHlw
ZVJlZmVyZW5jZT4mIHJlc29sdmFibGVUeXBlUmVmZXJlbmNlKSAtPiBib29sIHsKLSAgICAgICAg
ICAgIHJldHVybiByZXNvbHZhYmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUoKS5jYW5S
ZXNvbHZlKGludHJpbnNpY3MudWludFR5cGUoKSk7Ci0gICAgICAgIH0pKTsKLSAgICAgICAgaWYg
KGZpcnN0QXJndW1lbnRBcnJheVJlZiAmJiBzZWNvbmRBcmd1bWVudElzVWludCkKLSAgICAgICAg
ICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKGxvY2F0aW9uLCAqZmly
c3RBcmd1bWVudEFycmF5UmVmLCBpbnRyaW5zaWNzKTsKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
Im9wZXJhdG9yLmxlbmd0aCIgJiYgdHlwZXMuc2l6ZSgpID09IDEpIHsKLSAgICAgICAgYXV0byog
Zmlyc3RBcmd1bWVudFJlZmVyZW5jZSA9IHR5cGVzWzBdLmdldCgpLnZpc2l0KFdURjo6bWFrZVZp
c2l0b3IoW10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQVNUOjpVbm5h
bWVkVHlwZSogewotICAgICAgICAgICAgaWYgKGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPihz
dGF0aWNfY2FzdDxBU1Q6OlVubmFtZWRUeXBlJj4odW5uYW1lZFR5cGUpKSB8fCBpczxBU1Q6OkFy
cmF5VHlwZT4oc3RhdGljX2Nhc3Q8QVNUOjpVbm5hbWVkVHlwZSY+KHVubmFtZWRUeXBlKSkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIHVubmFtZWRUeXBlLnB0cigpOwotICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5j
ZT4mKSAtPiBBU1Q6OlVubmFtZWRUeXBlKiB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgfSkpOwotICAgICAgICBpZiAoZmlyc3RBcmd1bWVudFJlZmVyZW5jZSkKLSAgICAg
ICAgICAgIHJldHVybiByZXNvbHZlV2l0aE9wZXJhdG9yTGVuZ3RoKGxvY2F0aW9uLCAqZmlyc3RB
cmd1bWVudFJlZmVyZW5jZSwgaW50cmluc2ljcyk7Ci0gICAgfSBlbHNlIGlmIChuYW1lID09ICJv
cGVyYXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgeworICAgIGlmIChuYW1lID09ICJvcGVy
YXRvcj09IiAmJiB0eXBlcy5zaXplKCkgPT0gMikgewogICAgICAgICBhdXRvIGFjY2VwdGFiaWxp
dHkgPSBbXShSZXNvbHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKSAtPiBBY2NlcHRhYmlsaXR5IHsK
ICAgICAgICAgICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZpc2l0KFdURjo6bWFrZVZpc2l0b3Io
W10oUmVmPEFTVDo6VW5uYW1lZFR5cGU+JiB1bm5hbWVkVHlwZSkgLT4gQWNjZXB0YWJpbGl0eSB7
CiAgICAgICAgICAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gdW5uYW1lZFR5cGUtPnVuaWZ5Tm9k
ZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiBpczxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5v
ZGUpICYmIGlzPEFTVDo6UmVmZXJlbmNlVHlwZT4oZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4o
dW5pZnlOb2RlKSkgPyBBY2NlcHRhYmlsaXR5OjpZZXMgOiBBY2NlcHRhYmlsaXR5OjpObzsKLSAg
ICAgICAgICAgIH0sIFtdKFJlZlB0cjxSZXNvbHZhYmxlVHlwZVJlZmVyZW5jZT4mIHJlc29sdmFi
bGVUeXBlUmVmZXJlbmNlKSAtPiBBY2NlcHRhYmlsaXR5IHsKLSAgICAgICAgICAgICAgICByZXR1
cm4gaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNv
bHZhYmxlVHlwZSgpKSA/IEFjY2VwdGFiaWxpdHk6Ok1heWJlIDogQWNjZXB0YWJpbGl0eTo6Tm87
CisgICAgICAgICAgICB9LCBbXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+JikgLT4g
QWNjZXB0YWJpbGl0eSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFjY2VwdGFiaWxpdHk6Ok5v
OwogICAgICAgICAgICAgfSkpOwogICAgICAgICB9OwogICAgICAgICBhdXRvIGxlZnRBY2NlcHRh
YmlsaXR5ID0gYWNjZXB0YWJpbGl0eSh0eXBlc1swXS5nZXQoKSk7CkBAIC0zNDAsOSArMjQ0LDcg
QEAgc3RhdGljIE9wdGlvbmFsPEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYQogICAgICAgICAgICAg
YXV0byYgdW5uYW1lZFR5cGUxID0gKnR5cGVzWzBdLmdldCgpLmdldFVubmFtZWRUeXBlKCk7CiAg
ICAgICAgICAgICBhdXRvJiB1bm5hbWVkVHlwZTIgPSAqdHlwZXNbMV0uZ2V0KCkuZ2V0VW5uYW1l
ZFR5cGUoKTsKICAgICAgICAgICAgIHN1Y2Nlc3MgPSBtYXRjaGVzKHVubmFtZWRUeXBlMSwgdW5u
YW1lZFR5cGUyKTsKLSAgICAgICAgfSBlbHNlIGlmICgobGVmdEFjY2VwdGFiaWxpdHkgPT0gQWNj
ZXB0YWJpbGl0eTo6TWF5YmUgJiYgcmlnaHRBY2NlcHRhYmlsaXR5ID09IEFjY2VwdGFiaWxpdHk6
OlllcykKLSAgICAgICAgICAgIHx8IChsZWZ0QWNjZXB0YWJpbGl0eSA9PSBBY2NlcHRhYmlsaXR5
OjpZZXMgJiYgcmlnaHRBY2NlcHRhYmlsaXR5ID09IEFjY2VwdGFiaWxpdHk6Ok1heWJlKSkKLSAg
ICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlOworICAgICAgICB9IAogICAgICAgICBpZiAoc3VjY2Vz
cykKICAgICAgICAgICAgIHJldHVybiByZXNvbHZlV2l0aFJlZmVyZW5jZUNvbXBhcmF0b3IobG9j
YXRpb24sIHR5cGVzWzBdLmdldCgpLCB0eXBlc1sxXS5nZXQoKSwgaW50cmluc2ljcyk7CiAgICAg
fQpAQCAtNDI3LDk3ICszMjksMTMgQEAgc3RhdGljIGJvb2wgY2hlY2tTZW1hbnRpY3MoVmVjdG9y
PEVudHJ5UAogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBjaGVja09wZXJhdG9y
T3ZlcmxvYWQoY29uc3QgQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1bmN0aW9uRGVmaW5pdGlv
biwgTmFtZUNvbnRleHQmIG5hbWVDb250ZXh0LCBBU1Q6Ok5hbWVTcGFjZSBjdXJyZW50TmFtZVNw
YWNlKQorc3RhdGljIGJvb2wgY2hlY2tPcGVyYXRvck92ZXJsb2FkKGNvbnN0IEFTVDo6RnVuY3Rp
b25EZWZpbml0aW9uJiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CiAgICAgZW51bSBjbGFzcyBDaGVj
a0tpbmQgewogICAgICAgICBJbmRleCwKICAgICAgICAgRG90CiAgICAgfTsKIAotICAgIGF1dG8g
Y2hlY2tHZXR0ZXIgPSBbJl0oQ2hlY2tLaW5kIGtpbmQpIC0+IGJvb2wgewotICAgICAgICBzaXpl
X3QgbnVtRXhwZWN0ZWRQYXJhbWV0ZXJzID0ga2luZCA9PSBDaGVja0tpbmQ6OkluZGV4ID8gMiA6
IDE7Ci0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKSAh
PSBudW1FeHBlY3RlZFBhcmFtZXRlcnMpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGF1dG8mIGZpcnN0UGFyYW1ldGVyVW5pZnlOb2RlID0gZnVuY3Rpb25EZWZpbml0aW9uLnBh
cmFtZXRlcnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgaWYgKGlzPEFTVDo6
VW5uYW1lZFR5cGU+KGZpcnN0UGFyYW1ldGVyVW5pZnlOb2RlKSkgewotICAgICAgICAgICAgYXV0
byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPihmaXJzdFBhcmFtZXRl
clVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8QVNUOjpQb2ludGVyVHlwZT4odW5uYW1l
ZFR5cGUpIHx8IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8
QVNUOjpBcnJheVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGtpbmQgPT0gQ2hlY2tLaW5kOjpJbmRleCkgewot
ICAgICAgICAgICAgYXV0byYgc2Vjb25kUGFyYW1ldGVyVW5pZnlOb2RlID0gZnVuY3Rpb25EZWZp
bml0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgICAg
IGlmICghaXM8QVNUOjpOYW1lZFR5cGU+KHNlY29uZFBhcmFtZXRlclVuaWZ5Tm9kZSkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgbmFtZWRUeXBlID0g
ZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHNlY29uZFBhcmFtZXRlclVuaWZ5Tm9kZSk7Ci0gICAg
ICAgICAgICBpZiAoIWlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5
cGVEZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1l
ZFR5cGUpOwotICAgICAgICAgICAgaWYgKCFuYXRpdmVUeXBlRGVjbGFyYXRpb24uaXNJbnQoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfTsKLQotICAgIGF1dG8gY2hlY2tTZXR0ZXIgPSBbJl0oQ2hlY2tLaW5kIGtp
bmQpIC0+IGJvb2wgewotICAgICAgICBzaXplX3QgbnVtRXhwZWN0ZWRQYXJhbWV0ZXJzID0ga2lu
ZCA9PSBDaGVja0tpbmQ6OkluZGV4ID8gMyA6IDI7Ci0gICAgICAgIGlmIChmdW5jdGlvbkRlZmlu
aXRpb24ucGFyYW1ldGVycygpLnNpemUoKSAhPSBudW1FeHBlY3RlZFBhcmFtZXRlcnMpCi0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGF1dG8mIGZpcnN0QXJndW1lbnRVbmlmeU5v
ZGUgPSBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCktPnVuaWZ5Tm9k
ZSgpOwotICAgICAgICBpZiAoaXM8QVNUOjpVbm5hbWVkVHlwZT4oZmlyc3RBcmd1bWVudFVuaWZ5
Tm9kZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIHVubmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpV
bm5hbWVkVHlwZT4oZmlyc3RBcmd1bWVudFVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoaXM8
QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpIHx8IGlzPEFTVDo6QXJyYXlSZWZlcmVuY2VU
eXBlPih1bm5hbWVkVHlwZSkgfHwgaXM8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRUeXBlKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGtpbmQg
PT0gQ2hlY2tLaW5kOjpJbmRleCkgewotICAgICAgICAgICAgYXV0byYgc2Vjb25kUGFyYW1ldGVy
VW5pZnlOb2RlID0gZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpLT51
bmlmeU5vZGUoKTsKLSAgICAgICAgICAgIGlmICghaXM8QVNUOjpOYW1lZFR5cGU+KHNlY29uZFBh
cmFtZXRlclVuaWZ5Tm9kZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgYXV0byYgbmFtZWRUeXBlID0gZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHNlY29uZFBh
cmFtZXRlclVuaWZ5Tm9kZSk7Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uPihuYW1lZFR5cGUpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgIGF1dG8mIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGRvd25jYXN0PEFTVDo6TmF0
aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgaWYgKCFuYXRpdmVU
eXBlRGVjbGFyYXRpb24uaXNJbnQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKCFtYXRjaGVzKGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCks
ICpmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBhdXRvJiB2YWx1ZVR5cGUgPSAqZnVuY3Rpb25EZWZp
bml0aW9uLnBhcmFtZXRlcnMoKVtudW1FeHBlY3RlZFBhcmFtZXRlcnMgLSAxXS0+dHlwZSgpOwot
ICAgICAgICBhdXRvIGdldHRlck5hbWUgPSBmdW5jdGlvbkRlZmluaXRpb24ubmFtZSgpLnN1YnN0
cmluZygwLCBmdW5jdGlvbkRlZmluaXRpb24ubmFtZSgpLmxlbmd0aCgpIC0gMSk7Ci0gICAgICAg
IGF1dG8gZ2V0dGVyRnVuY3MgPSBuYW1lQ29udGV4dC5nZXRGdW5jdGlvbnMoZ2V0dGVyTmFtZSwg
Y3VycmVudE5hbWVTcGFjZSk7Ci0gICAgICAgIFZlY3RvcjxSZXNvbHZpbmdUeXBlPiBhcmd1bWVu
dFR5cGVzOwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZXNvbHZpbmdU
eXBlPj4gYXJndW1lbnRUeXBlUmVmZXJlbmNlczsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgLSAxOyArK2kpCi0gICAgICAgICAgICBhcmd1bWVu
dFR5cGVzLmFwcGVuZCgqZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKVtpXS0+dHlwZSgp
KTsKLSAgICAgICAgZm9yIChhdXRvJiBhcmd1bWVudFR5cGUgOiBhcmd1bWVudFR5cGVzKQotICAg
ICAgICAgICAgYXJndW1lbnRUeXBlUmVmZXJlbmNlcy5hcHBlbmQoYXJndW1lbnRUeXBlKTsKLSAg
ICAgICAgYXV0byogb3ZlcmxvYWQgPSByZXNvbHZlRnVuY3Rpb25PdmVybG9hZChnZXR0ZXJGdW5j
cywgYXJndW1lbnRUeXBlUmVmZXJlbmNlcywgY3VycmVudE5hbWVTcGFjZSk7Ci0gICAgICAgIGlm
ICghb3ZlcmxvYWQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGF1dG8mIHJl
c3VsdFR5cGUgPSBvdmVybG9hZC0+dHlwZSgpOwotICAgICAgICByZXR1cm4gbWF0Y2hlcyhyZXN1
bHRUeXBlLCB2YWx1ZVR5cGUpOwotICAgIH07Ci0KLSAgICBhdXRvIGNoZWNrQW5kZXIgPSBbJl0o
Q2hlY2tLaW5kIGtpbmQpIC0+IGJvb2wgewotICAgICAgICBzaXplX3QgbnVtRXhwZWN0ZWRQYXJh
bWV0ZXJzID0ga2luZCA9PSBDaGVja0tpbmQ6OkluZGV4ID8gMiA6IDE7Ci0gICAgICAgIGlmIChm
dW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVycygpLnNpemUoKSAhPSBudW1FeHBlY3RlZFBhcmFt
ZXRlcnMpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHsKLSAgICAgICAgICAg
IGF1dG8mIHVuaWZ5Tm9kZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkudW5pZnlOb2RlKCk7
Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUg
PSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAgICAgaWYg
KCFpczxBU1Q6OlBvaW50ZXJUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8mIHVuaWZ5
Tm9kZSA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlO
b2RlKCk7Ci0gICAgICAgICAgICBpZiAoIWlzPEFTVDo6VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSkp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgYXV0byYgdW5uYW1l
ZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAg
ICAgcmV0dXJuIGlzPEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKSB8fCBpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpOwotICAgICAgICB9Ci0gICAgfTsKLQogICAg
IGlmICghZnVuY3Rpb25EZWZpbml0aW9uLmlzT3BlcmF0b3IoKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvbi5pc0Nhc3QoKSkKQEAgLTUzOSwxOSArMzU3
LDYgQEAgc3RhdGljIGJvb2wgY2hlY2tPcGVyYXRvck92ZXJsb2FkKGNvbnN0IAogICAgICAgICBy
ZXR1cm4gZnVuY3Rpb25EZWZpbml0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMjsKICAgICBp
ZiAoZnVuY3Rpb25EZWZpbml0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3J+IikKICAgICAgICAgcmV0
dXJuIGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDE7Ci0gICAgaWYg
KGZ1bmN0aW9uRGVmaW5pdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW10iKQotICAgICAgICByZXR1
cm4gY2hlY2tHZXR0ZXIoQ2hlY2tLaW5kOjpJbmRleCk7Ci0gICAgaWYgKGZ1bmN0aW9uRGVmaW5p
dGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW109IikKLSAgICAgICAgcmV0dXJuIGNoZWNrU2V0dGVy
KENoZWNrS2luZDo6SW5kZXgpOwotICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24ubmFtZSgpID09
ICJvcGVyYXRvciZbXSIpCi0gICAgICAgIHJldHVybiBjaGVja0FuZGVyKENoZWNrS2luZDo6SW5k
ZXgpOwotICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24ubmFtZSgpLnN0YXJ0c1dpdGgoIm9wZXJh
dG9yLiIpKSB7Ci0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24ubmFtZSgpLmVuZHNXaXRo
KCI9IikpCi0gICAgICAgICAgICByZXR1cm4gY2hlY2tTZXR0ZXIoQ2hlY2tLaW5kOjpEb3QpOwot
ICAgICAgICByZXR1cm4gY2hlY2tHZXR0ZXIoQ2hlY2tLaW5kOjpEb3QpOwotICAgIH0KLSAgICBp
ZiAoZnVuY3Rpb25EZWZpbml0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvciYuIikpCi0g
ICAgICAgIHJldHVybiBjaGVja0FuZGVyKENoZWNrS2luZDo6RG90KTsKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKQEAgLTYwMCwxMCArNDA1LDEyIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEFTVDo6
VW5uYW1lZFR5cGU+IHJlY3Vyc2VBbmRXcmFwQmFzZVR5cGUoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24mKTsKICAgICBib29sIHJlY3Vyc2VBbmRSZXF1aXJlQm9vbFR5cGUoQVNUOjpFeHBy
ZXNzaW9uJik7CiAgICAgdm9pZCBhc3NpZ25Db25jcmV0ZVR5cGUoQVNUOjpFeHByZXNzaW9uJiwg
UmVmPEFTVDo6VW5uYW1lZFR5cGU+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKKyAgICB2b2lkIGFz
c2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBBU1Q6Ok5hbWVkVHlwZSYsIEFTVDo6
VHlwZUFubm90YXRpb24pOwogICAgIHZvaWQgYXNzaWduVHlwZShBU1Q6OkV4cHJlc3Npb24mLCBS
ZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+LCBBU1Q6OlR5cGVBbm5vdGF0aW9uKTsKICAg
ICB2b2lkIGZvcndhcmRUeXBlKEFTVDo6RXhwcmVzc2lvbiYsIFJlc29sdmluZ1R5cGUmLCBBU1Q6
OlR5cGVBbm5vdGF0aW9uKTsKIAogICAgIHZvaWQgdmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRp
b24mKSBvdmVycmlkZTsKKyAgICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbkRlZmluaXRpb24mKSBv
dmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VHlwZVJlZmVyZW5jZSYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgdmlzaXQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CkBAIC02
MjEsNyArNDI4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVy
YWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFT
VDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChB
U1Q6OkxvZ2ljYWxOb3RFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC02MzUsMTIgKzQ0MSw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB2aXNpdChBU1Q6OlRlcm5hcnlFeHByZXNzaW9uJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAKLSAg
ICB2b2lkIGZpbmlzaFZpc2l0aW5nKEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiwgUmVz
b2x2aW5nVHlwZSogYWRkaXRpb25hbEFyZ3VtZW50VHlwZSA9IG51bGxwdHIpOwotCiAgICAgQVNU
OjpGdW5jdGlvbkRlY2xhcmF0aW9uKiByZXNvbHZlRnVuY3Rpb24oVmVjdG9yPHN0ZDo6cmVmZXJl
bmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+JiB0eXBlcywgY29uc3QgU3RyaW5nJiBuYW1lLCBD
b2RlTG9jYXRpb24sIEFTVDo6TmFtZWRUeXBlKiBjYXN0UmV0dXJuVHlwZSA9IG51bGxwdHIpOwog
Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGFyZ3VtZW50VHlwZUZvckFuZE92ZXJsb2Fk
KEFTVDo6VW5uYW1lZFR5cGUmIGJhc2VUeXBlLCBBU1Q6OkFkZHJlc3NTcGFjZSk7Ci0KICAgICBB
U1Q6OlVubmFtZWRUeXBlJiB3cmFwcGVkRmxvYXRUeXBlKCkKICAgICB7CiAgICAgICAgIGlmICgh
bV93cmFwcGVkRmxvYXRUeXBlKQpAQCAtNjQ4LDExICs0NTAsMTEgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuICptX3dyYXBwZWRGbG9hdFR5cGU7CiAgICAgfQogCi0gICAgQVNUOjpVbm5hbWVk
VHlwZSYgZ2VuZXJpY1BvaW50ZXJUeXBlKCkKKyAgICBBU1Q6OlVubmFtZWRUeXBlJiB3cmFwcGVk
VWludFR5cGUoKQogICAgIHsKLSAgICAgICAgaWYgKCFtX2dlbmVyaWNQb2ludGVyVHlwZSkKLSAg
ICAgICAgICAgIG1fZ2VuZXJpY1BvaW50ZXJUeXBlID0gQVNUOjpQb2ludGVyVHlwZTo6Y3JlYXRl
KHsgfSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFw
KHsgfSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSk7Ci0gICAgICAgIHJldHVybiAqbV9nZW5l
cmljUG9pbnRlclR5cGU7CisgICAgICAgIGlmICghbV93cmFwcGVkVWludFR5cGUpCisgICAgICAg
ICAgICBtX3dyYXBwZWRVaW50VHlwZSA9IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcCh7IH0sIG1f
aW50cmluc2ljcy51aW50VHlwZSgpKTsKKyAgICAgICAgcmV0dXJuICptX3dyYXBwZWRVaW50VHlw
ZTsKICAgICB9CiAKICAgICBBU1Q6OlVubmFtZWRUeXBlJiBub3JtYWxpemVkVHlwZUZvckZ1bmN0
aW9uS2V5KEFTVDo6VW5uYW1lZFR5cGUmIHR5cGUpCkBAIC02NjEsMTQgKzQ2MywxMSBAQCBwcml2
YXRlOgogICAgICAgICBpZiAodW5pZnlOb2RlID09ICZtX2ludHJpbnNpY3MudWludFR5cGUoKSB8
fCB1bmlmeU5vZGUgPT0gJm1faW50cmluc2ljcy5pbnRUeXBlKCkpCiAgICAgICAgICAgICByZXR1
cm4gd3JhcHBlZEZsb2F0VHlwZSgpOwogCi0gICAgICAgIGlmIChpczxBU1Q6OlJlZmVyZW5jZVR5
cGU+KHR5cGUpKQotICAgICAgICAgICAgcmV0dXJuIGdlbmVyaWNQb2ludGVyVHlwZSgpOwotCiAg
ICAgICAgIHJldHVybiB0eXBlOwogICAgIH0KIAogICAgIFJlZlB0cjxBU1Q6OlR5cGVSZWZlcmVu
Y2U+IG1fd3JhcHBlZEZsb2F0VHlwZTsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4gbV9n
ZW5lcmljUG9pbnRlclR5cGU7CisgICAgUmVmUHRyPEFTVDo6VHlwZVJlZmVyZW5jZT4gbV93cmFw
cGVkVWludFR5cGU7CiAgICAgSGFzaE1hcDxBU1Q6OkV4cHJlc3Npb24qLCBzdGQ6OnVuaXF1ZV9w
dHI8UmVzb2x2aW5nVHlwZT4+IG1fdHlwZU1hcDsKICAgICBIYXNoU2V0PFN0cmluZz4gbV92ZXJ0
ZXhFbnRyeVBvaW50c1tBU1Q6Om5hbWVTcGFjZUNvdW50XTsKICAgICBIYXNoU2V0PFN0cmluZz4g
bV9mcmFnbWVudEVudHJ5UG9pbnRzW0FTVDo6bmFtZVNwYWNlQ291bnRdOwpAQCAtNjc3LDggKzQ3
Niw4IEBAIHByaXZhdGU6CiAgICAgUHJvZ3JhbSYgbV9wcm9ncmFtOwogICAgIEFTVDo6RnVuY3Rp
b25EZWZpbml0aW9uKiBtX2N1cnJlbnRGdW5jdGlvbiB7IG51bGxwdHIgfTsKICAgICBIYXNoTWFw
PEZ1bmN0aW9uS2V5LCBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxBU1Q6OkZ1bmN0aW9u
RGVjbGFyYXRpb24+LCAxPiwgRnVuY3Rpb25LZXk6Okhhc2gsIEZ1bmN0aW9uS2V5OjpUcmFpdHM+
IG1fZnVuY3Rpb25zOwotICAgIEhhc2hNYXA8QW5kT3ZlcmxvYWRUeXBlS2V5LCBSZWZQdHI8QVNU
OjpVbm5hbWVkVHlwZT4sIEFuZE92ZXJsb2FkVHlwZUtleTo6SGFzaCwgQW5kT3ZlcmxvYWRUeXBl
S2V5OjpUcmFpdHM+IG1fYW5kT3ZlcmxvYWRUeXBlTWFwOwogICAgIEFTVDo6TmFtZVNwYWNlIG1f
Y3VycmVudE5hbWVTcGFjZSB7IEFTVDo6TmFtZVNwYWNlOjpTdGFuZGFyZExpYnJhcnkgfTsKKyAg
ICBib29sIG1faXNWaXNpdGluZ1BhcmFtZXRlcnMgeyBmYWxzZSB9OwogfTsKIAogdm9pZCBDaGVj
a2VyOjp2aXNpdChQcm9ncmFtJiBwcm9ncmFtKQpAQCAtNzMzLDYgKzUzMiwxMyBAQCBib29sIENo
ZWNrZXI6OmNoZWNrU2hhZGVyVHlwZShjb25zdCBBU1Q6CiAgICAgfQogfQogCit2b2lkIENoZWNr
ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiYgZnVuY3Rpb25EZWNsYXJhdGlvbikK
K3sKKyAgICBtX2lzVmlzaXRpbmdQYXJhbWV0ZXJzID0gdHJ1ZTsKKyAgICBWaXNpdG9yOjp2aXNp
dChmdW5jdGlvbkRlY2xhcmF0aW9uKTsKKyAgICBtX2lzVmlzaXRpbmdQYXJhbWV0ZXJzID0gZmFs
c2U7Cit9CisKIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mIGZ1
bmN0aW9uRGVmaW5pdGlvbikKIHsKICAgICBtX2N1cnJlbnROYW1lU3BhY2UgPSBmdW5jdGlvbkRl
ZmluaXRpb24ubmFtZVNwYWNlKCk7CkBAIC03NTIsNyArNTU4LDcgQEAgdm9pZCBDaGVja2VyOjp2
aXNpdChBU1Q6OkZ1bmN0aW9uRGVmaW5pdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQotICAgIGlmICghY2hlY2tPcGVyYXRvck92ZXJsb2FkKGZ1bmN0aW9uRGVmaW5pdGlv
biwgbV9wcm9ncmFtLm5hbWVDb250ZXh0KCksIG1fY3VycmVudE5hbWVTcGFjZSkpIHsKKyAgICBp
ZiAoIWNoZWNrT3BlcmF0b3JPdmVybG9hZChmdW5jdGlvbkRlZmluaXRpb24pKSB7CiAgICAgICAg
IHNldEVycm9yKEVycm9yKCJPcGVyYXRvciBkb2VzIG5vdCBtYXRjaCBleHBlY3RlZCBzaWduYXR1
cmUuIiwgZnVuY3Rpb25EZWZpbml0aW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC03OTAsNiArNTk2LDE3IEBAIHN0YXRpYyBSZWZQdHI8QVNUOjpVbm5hbWVk
VHlwZT4gbWF0Y2hBbmQKICAgICB9KSk7CiB9CiAKK3N0YXRpYyBib29sIG1hdGNoQW5kQ29tbWl0
KFJlc29sdmluZ1R5cGUmIHJlc29sdmluZ1R5cGUsIEFTVDo6TmFtZWRUeXBlJiBuYW1lZFR5cGUp
Cit7CisgICAgcmV0dXJuIHJlc29sdmluZ1R5cGUudmlzaXQoV1RGOjptYWtlVmlzaXRvcihbJl0o
UmVmPEFTVDo6VW5uYW1lZFR5cGU+JiByZXNvbHZpbmdUeXBlKSB7CisgICAgICAgIGlmIChtYXRj
aGVzKHJlc29sdmluZ1R5cGUsIG5hbWVkVHlwZSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0sIFsmXShSZWZQdHI8UmVzb2x2YWJsZVR5cGVS
ZWZlcmVuY2U+JiByZXNvbHZpbmdUeXBlKSAtPiBib29sIHsKKyAgICAgICAgcmV0dXJuIG1hdGNo
QW5kQ29tbWl0KG5hbWVkVHlwZSwgcmVzb2x2aW5nVHlwZS0+cmVzb2x2YWJsZVR5cGUoKSk7Cisg
ICAgfSkpOworfQorCiBzdGF0aWMgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGNvbW1pdChSZXNv
bHZpbmdUeXBlJiByZXNvbHZpbmdUeXBlKQogewogICAgIHJldHVybiByZXNvbHZpbmdUeXBlLnZp
c2l0KFdURjo6bWFrZVZpc2l0b3IoWyZdKFJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgdW5uYW1lZFR5
cGUpIC0+IFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB7CkBAIC04MTgsOSArNjM1LDYgQEAgQVNU
OjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBDaGVja2VyOjpyZXNvbAogICAgICAgICAgICAgICAgIHx8
IHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZhYmxlVHlwZSgpLmlzVW5zaWduZWRJbnRl
Z2VyTGl0ZXJhbFR5cGUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gJndyYXBwZWRGbG9hdFR5
cGUoKTsKIAotICAgICAgICAgICAgaWYgKHJlc29sdmFibGVUeXBlUmVmZXJlbmNlLT5yZXNvbHZh
YmxlVHlwZSgpLmlzTnVsbExpdGVyYWxUeXBlKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuICZn
ZW5lcmljUG9pbnRlclR5cGUoKTsKLQogICAgICAgICAgICAgcmV0dXJuIGNvbW1pdChyZXNvbHZh
YmxlVHlwZVJlZmVyZW5jZS0+cmVzb2x2YWJsZVR5cGUoKSkuZ2V0KCk7CiAgICAgICAgIH0pKTsK
IApAQCAtOTU4LDYgKzc3MiwxNCBAQCB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6VmFyaWFibGVE
ZWNsYXJhCiAgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiRGVjbGFyZWQgdmFyaWFibGUgdHlw
ZSBkb2VzIG5vdCBtYXRjaCBpdHMgaW5pdGlhbGl6ZXIncyB0eXBlLiIsIHZhcmlhYmxlRGVjbGFy
YXRpb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQor
ICAgIH0gZWxzZSBpZiAoIW1faXNWaXNpdGluZ1BhcmFtZXRlcnMgJiYgaXM8QVNUOjpSZWZlcmVu
Y2VUeXBlPih2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKS0+dW5pZnlOb2RlKCkpKSB7CisgICAg
ICAgIGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPih2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKS0+
dW5pZnlOb2RlKCkpKQorICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIk11c3QgYXNzaWduIHRv
IGEgcG9pbnRlciB2YXJpYWJsZSBkZWNsYXJhdGlvbiBpbiBpdHMgaW5pdGlhbGl6ZXIuIiwgdmFy
aWFibGVEZWNsYXJhdGlvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odmFyaWFibGVEZWNsYXJh
dGlvbi50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigi
TXVzdCBhc3NpZ24gdG8gYW4gYXJyYXkgcmVmZXJlbmNlIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGlu
IGl0cyBpbml0aWFsaXplci4iLCB2YXJpYWJsZURlY2xhcmF0aW9uLmNvZGVMb2NhdGlvbigpKSk7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KIApAQCAtOTY4LDYgKzc5MCwx
MyBAQCB2b2lkIENoZWNrZXI6OmFzc2lnbkNvbmNyZXRlVHlwZShBU1Q6OkV4CiAgICAgZXhwcmVz
c2lvbi5zZXRUeXBlQW5ub3RhdGlvbihXVEZNb3ZlKHR5cGVBbm5vdGF0aW9uKSk7CiB9CiAKK3Zv
aWQgQ2hlY2tlcjo6YXNzaWduQ29uY3JldGVUeXBlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lv
biwgQVNUOjpOYW1lZFR5cGUmIHR5cGUsIEFTVDo6VHlwZUFubm90YXRpb24gYW5ub3RhdGlvbikK
K3sKKyAgICBhdXRvIHVubmFtZWRUeXBlID0gQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKHR5cGUu
Y29kZUxvY2F0aW9uKCksIHR5cGUpOworICAgIFZpc2l0b3I6OnZpc2l0KHVubmFtZWRUeXBlKTsK
KyAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZXhwcmVzc2lvbiwgV1RGTW92ZSh1bm5hbWVkVHlwZSks
IGFubm90YXRpb24pOworfQorCiB2b2lkIENoZWNrZXI6OmFzc2lnblR5cGUoQVNUOjpFeHByZXNz
aW9uJiBleHByZXNzaW9uLCBSZWZQdHI8UmVzb2x2YWJsZVR5cGVSZWZlcmVuY2U+IHJlc29sdmFi
bGVUeXBlUmVmZXJlbmNlLCBBU1Q6OlR5cGVBbm5vdGF0aW9uIHR5cGVBbm5vdGF0aW9uID0gQVNU
OjpSaWdodFZhbHVlKCkpCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3R5cGVNYXAuYWRkKCZl
eHByZXNzaW9uLCBtYWtlVW5pcXVlPFJlc29sdmluZ1R5cGU+KFdURk1vdmUocmVzb2x2YWJsZVR5
cGVSZWZlcmVuY2UpKSk7CkBAIC0xMDI5LDcgKzg1OCw3IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQo
QVNUOjpSZWFkTW9kaWZ5V3JpdGUKICAgICBpZiAoIXJlc3VsdEluZm8pCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGZvcndhcmRUeXBlKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24sIHJlc3VsdElu
Zm8tPnJlc29sdmluZ1R5cGUpOworICAgIGZvcndhcmRUeXBlKHJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24sIHJlc3VsdEluZm8tPnJlc29sdmluZ1R5cGUsIEFTVDo6UmlnaHRWYWx1ZSgpKTsKIH0K
IAogc3RhdGljIEFTVDo6VW5uYW1lZFR5cGUqIGdldFVubmFtZWRUeXBlKFJlc29sdmluZ1R5cGUm
IHJlc29sdmluZ1R5cGUpCkBAIC0xMTM1LDE3OSArOTY0LDExNSBAQCB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlCiAgICAgYXNzaWduQ29uY3JldGVUeXBlKG1ha2VBcnJh
eVJlZmVyZW5jZUV4cHJlc3Npb24sIEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlOjpjcmVhdGUobWFr
ZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgKmxlZnRBZGRyZXNzU3Bh
Y2UsICpsZWZ0VmFsdWVUeXBlKSk7CiB9CiAKLVJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiBDaGVj
a2VyOjphcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZChBU1Q6OlVubmFtZWRUeXBlJiBiYXNlVHlw
ZSwgQVNUOjpBZGRyZXNzU3BhY2UgYWRkcmVzc1NwYWNlKQotewotICAgIEFuZE92ZXJsb2FkVHlw
ZUtleSBrZXkgeyBiYXNlVHlwZSwgYWRkcmVzc1NwYWNlIH07Ci0gICAgewotICAgICAgICBhdXRv
IGl0ZXIgPSBtX2FuZE92ZXJsb2FkVHlwZU1hcC5maW5kKGtleSk7Ci0gICAgICAgIGlmIChpdGVy
ICE9IG1fYW5kT3ZlcmxvYWRUeXBlTWFwLmVuZCgpKQotICAgICAgICAgICAgcmV0dXJuIGl0ZXIt
PnZhbHVlOwotICAgIH0KLQotICAgIGF1dG8gY3JlYXRlQXJndW1lbnRUeXBlID0gWyZdICgpIC0+
IFJlZlB0cjxBU1Q6OlVubmFtZWRUeXBlPiB7Ci0gICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IGJh
c2VUeXBlLnVuaWZ5Tm9kZSgpOwotICAgICAgICBpZiAoaXM8QVNUOjpOYW1lZFR5cGU+KHVuaWZ5
Tm9kZSkpIHsKLSAgICAgICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFt
ZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAgICAgcmV0dXJuIHsgQVNUOjpQb2ludGVyVHlw
ZTo6Y3JlYXRlKG5hbWVkVHlwZS5jb2RlTG9jYXRpb24oKSwgYWRkcmVzc1NwYWNlLCBBU1Q6OlR5
cGVSZWZlcmVuY2U6OndyYXAobmFtZWRUeXBlLmNvZGVMb2NhdGlvbigpLCBuYW1lZFR5cGUpKSB9
OwotICAgICAgICB9Ci0KLSAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6
OlVubmFtZWRUeXBlPih1bmlmeU5vZGUpOwotCi0gICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVm
ZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgcmV0dXJuICZ1bm5hbWVkVHlw
ZTsKLQotICAgICAgICBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHVubmFtZWRUeXBlKSkKLSAgICAg
ICAgICAgIHJldHVybiB7IEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlOjpjcmVhdGUodW5uYW1lZFR5
cGUuY29kZUxvY2F0aW9uKCksIGFkZHJlc3NTcGFjZSwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+
KHVubmFtZWRUeXBlKS50eXBlKCkpIH07Ci0KLSAgICAgICAgaWYgKGlzPEFTVDo6UG9pbnRlclR5
cGU+KHVubmFtZWRUeXBlKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAg
IHJldHVybiB7IEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZSh1bm5hbWVkVHlwZS5jb2RlTG9jYXRp
b24oKSwgYWRkcmVzc1NwYWNlLCB1bm5hbWVkVHlwZSkgfTsKLSAgICB9OwotCi0gICAgYXV0byBy
ZXN1bHQgPSBjcmVhdGVBcmd1bWVudFR5cGUoKTsKLSAgICBtX2FuZE92ZXJsb2FkVHlwZU1hcC5h
ZGQoa2V5LCByZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6
ZmluaXNoVmlzaXRpbmcoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNj
ZXNzRXhwcmVzc2lvbiwgUmVzb2x2aW5nVHlwZSogYWRkaXRpb25hbEFyZ3VtZW50VHlwZSkKK3Zv
aWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJiBkb3RFeHByZXNzaW9uKQogewot
ICAgIGF1dG8gYmFzZUluZm8gPSByZWN1cnNlQW5kR2V0SW5mbyhwcm9wZXJ0eUFjY2Vzc0V4cHJl
c3Npb24uYmFzZSgpKTsKKyAgICBhdXRvIGJhc2VJbmZvID0gcmVjdXJzZUFuZEdldEluZm8oZG90
RXhwcmVzc2lvbi5iYXNlKCkpOwogICAgIGlmICghYmFzZUluZm8pCiAgICAgICAgIHJldHVybjsK
KwogICAgIGF1dG8gYmFzZVVubmFtZWRUeXBlID0gY29tbWl0KGJhc2VJbmZvLT5yZXNvbHZpbmdU
eXBlKTsKICAgICBpZiAoIWJhc2VVbm5hbWVkVHlwZSkgewotICAgICAgICBzZXRFcnJvcihFcnJv
cigiQ2Fubm90IHJlc29sdmUgdGhlIHR5cGUgb2YgdGhlIGJhc2Ugb2YgYSBwcm9wZXJ0eSBhY2Nl
c3MgZXhwcmVzc2lvbi4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
KTsKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNhbm5vdCByZXNvbHZlIHRoZSB0eXBlIG9mIHRo
ZSBiYXNlIG9mIGEgZG90IGV4cHJlc3Npb24uIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0
aW9uKiBnZXR0ZXJGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5
cGU+IGdldHRlclJldHVyblR5cGUgPSBudWxscHRyOwotICAgIHsKLSAgICAgICAgVmVjdG9yPHN0
ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVzb2x2aW5nVHlwZT4+IGdldHRlckFyZ3VtZW50VHlwZXMg
eyBiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSB9OwotICAgICAgICBpZiAoYWRkaXRpb25hbEFyZ3Vt
ZW50VHlwZSkKLSAgICAgICAgICAgIGdldHRlckFyZ3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlv
bmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgYXV0byBnZXR0ZXJOYW1lID0gcHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uLmdldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgICAgICBnZXR0ZXJGdW5jdGlv
biA9IHJlc29sdmVGdW5jdGlvbihnZXR0ZXJBcmd1bWVudFR5cGVzLCBnZXR0ZXJOYW1lLCBwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpOwotICAgICAgICBpZiAoaGFzRXJy
b3IoKSkKKyAgICBhdXRvJiB0eXBlID0gYmFzZVVubmFtZWRUeXBlLT51bmlmeU5vZGUoKTsKKyAg
ICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRv
JiBzdHJ1Y3R1cmUgPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURlZmluaXRpb24+KHR5cGUpOyAg
ICAKKyAgICAgICAgaWYgKEFTVDo6U3RydWN0dXJlRWxlbWVudCogZWxlbWVudCA9IHN0cnVjdHVy
ZS5maW5kKGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCkpKQorICAgICAgICAgICAgYXNzaWduQ29u
Y3JldGVUeXBlKGRvdEV4cHJlc3Npb24sIGVsZW1lbnQtPnR5cGUoKSwgYmFzZUluZm8tPnR5cGVB
bm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvciht
YWtlU3RyaW5nKCJGaWVsZCBuYW1lOiAnIiwgZG90RXhwcmVzc2lvbi5maWVsZE5hbWUoKSwgIicg
ZG9lcyBub3QgZXhpc3Qgb24gc3RydWN0dXJlOiAiLCBzdHJ1Y3R1cmUubmFtZSgpKSwgZG90RXhw
cmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBp
ZiAoZ2V0dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICBnZXR0ZXJSZXR1cm5UeXBlID0gJmdldHRl
ckZ1bmN0aW9uLT50eXBlKCk7Ci0gICAgfQotCi0gICAgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9u
KiBhbmRlckZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8QVNUOjpVbm5hbWVkVHlwZT4g
YW5kZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICBhdXRvIGxlZnRBZGRyZXNzU3BhY2UgPSBi
YXNlSW5mby0+dHlwZUFubm90YXRpb24ubGVmdEFkZHJlc3NTcGFjZSgpOwotICAgIGlmIChsZWZ0
QWRkcmVzc1NwYWNlKSB7Ci0gICAgICAgIGlmIChhdXRvIGFyZ3VtZW50VHlwZUZvckFuZE92ZXJs
b2FkID0gdGhpcy0+YXJndW1lbnRUeXBlRm9yQW5kT3ZlcmxvYWQoKmJhc2VVbm5hbWVkVHlwZSwg
KmxlZnRBZGRyZXNzU3BhY2UpKSB7Ci0gICAgICAgICAgICBSZXNvbHZpbmdUeXBlIGFyZ3VtZW50
VHlwZSA9IHsgUmVmPEFTVDo6VW5uYW1lZFR5cGU+KCphcmd1bWVudFR5cGVGb3JBbmRPdmVybG9h
ZCkgfTsKLSAgICAgICAgICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmlu
Z1R5cGU+PiBhbmRlckFyZ3VtZW50VHlwZXMgeyBhcmd1bWVudFR5cGUgfTsKLSAgICAgICAgICAg
IGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAgICAgICAgIGFuZGVyQXJndW1l
bnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwotICAgICAgICAgICAgYXV0
byBhbmRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUo
KTsKLSAgICAgICAgICAgIGFuZGVyRnVuY3Rpb24gPSByZXNvbHZlRnVuY3Rpb24oYW5kZXJBcmd1
bWVudFR5cGVzLCBhbmRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRp
b24oKSk7Ci0gICAgICAgICAgICBpZiAoaGFzRXJyb3IoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikKLSAgICAgICAgICAgICAgICBhbmRl
clJldHVyblR5cGUgPSAmZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5kZXJGdW5jdGlvbi0+
dHlwZSgpKS5lbGVtZW50VHlwZSgpOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5ODE2NCBFbmZvcmNlIHRoZSByZXR1cm4gb2YgYW5kZXJzIHdpbGwg
YWx3YXlzIGJlIGEgcG9pbnRlcgogICAgICAgICB9Ci0gICAgfQotCi0gICAgQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKiB0aHJlYWRBbmRlckZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBSZWZQdHI8
QVNUOjpVbm5hbWVkVHlwZT4gdGhyZWFkQW5kZXJSZXR1cm5UeXBlID0gbnVsbHB0cjsKLSAgICBp
ZiAoYXV0byBhcmd1bWVudFR5cGVGb3JBbmRPdmVybG9hZCA9IHRoaXMtPmFyZ3VtZW50VHlwZUZv
ckFuZE92ZXJsb2FkKCpiYXNlVW5uYW1lZFR5cGUsIEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQp
KSB7Ci0gICAgICAgIFJlc29sdmluZ1R5cGUgYXJndW1lbnRUeXBlID0geyBSZWY8QVNUOjpVbm5h
bWVkVHlwZT4oQVNUOjpQb2ludGVyVHlwZTo6Y3JlYXRlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSwgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCwgKmJhc2VVbm5hbWVk
VHlwZSkpIH07Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlc29sdmlu
Z1R5cGU+PiB0aHJlYWRBbmRlckFyZ3VtZW50VHlwZXMgeyBhcmd1bWVudFR5cGUgfTsKLSAgICAg
ICAgaWYgKGFkZGl0aW9uYWxBcmd1bWVudFR5cGUpCi0gICAgICAgICAgICB0aHJlYWRBbmRlckFy
Z3VtZW50VHlwZXMuYXBwZW5kKCphZGRpdGlvbmFsQXJndW1lbnRUeXBlKTsKLSAgICAgICAgYXV0
byBhbmRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbk5hbWUo
KTsKLSAgICAgICAgdGhyZWFkQW5kZXJGdW5jdGlvbiA9IHJlc29sdmVGdW5jdGlvbih0aHJlYWRB
bmRlckFyZ3VtZW50VHlwZXMsIGFuZGVyTmFtZSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKTsKLSAgICAgICAgaWYgKGhhc0Vycm9yKCkpCisgICAgfSBlbHNlIGlmIChk
b3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpID09ICJsZW5ndGgiKSB7CisgICAgICAgIGlmIChpczxB
U1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odHlwZSkKKyAgICAgICAgICAgIHx8IGlzPEFTVDo6QXJy
YXlUeXBlPih0eXBlKQorICAgICAgICAgICAgfHwgKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKSAmJiBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSku
aXNWZWN0b3IoKSkpIHsKKyAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNz
aW9uLCB3cmFwcGVkVWludFR5cGUoKSwgQVNUOjpSaWdodFZhbHVlKCkpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgc2V0RXJyb3IoRXJyb3IoIi5sZW5ndGggZmllbGQgaXMgb25seSBh
dmFpbGFibGUgb24gYXJyYXlzLCBhcnJheSByZWZlcmVuY2VzLCBvciB2ZWN0b3JzLiIsIGRvdEV4
cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
aWYgKHRocmVhZEFuZGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0aHJlYWRBbmRlclJldHVyblR5
cGUgPSAmZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4odGhyZWFkQW5kZXJGdW5jdGlvbi0+dHlw
ZSgpKS5lbGVtZW50VHlwZSgpOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5ODE2NCBFbmZvcmNlIHRoZSByZXR1cm4gb2YgYW5kZXJzIHdpbGwgYWx3
YXlzIGJlIGEgcG9pbnRlcgotICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaXM8QVNU
OjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlw
ZURlY2xhcmF0aW9uPih0eXBlKS5pc1ZlY3RvcigpKSB7CisgICAgICAgIGlmICghbV9wcm9ncmFt
LmlzVmFsaWRWZWN0b3JQcm9wZXJ0eShkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKSkgeworICAg
ICAgICAgICAgc2V0RXJyb3IoRXJyb3IobWFrZVN0cmluZygiJy4iLCBkb3RFeHByZXNzaW9uLmZp
ZWxkTmFtZSgpLCAiJyBpcyBub3QgYSB2YWxpZCBwcm9wZXJ0eSBvbiBhIHZlY3Rvci4iKSwgZG90
RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAKLSAgICBpZiAobGVmdEFkZHJlc3NTcGFjZSAmJiAhYW5kZXJGdW5jdGlvbiAmJiAhZ2V0
dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlByb3BlcnR5IGFjY2VzcyBp
bnN0cnVjdGlvbiBtdXN0IGVpdGhlciBoYXZlIGFuIGFuZGVyIG9yIGEgZ2V0dGVyLiIsIHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQorICAgICAgICBhdXRvIHR5cGVBbm5vdGF0aW9uID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0
aW9uLmlzUmlnaHRWYWx1ZSgpID8gQVNUOjpUeXBlQW5ub3RhdGlvbiB7IEFTVDo6UmlnaHRWYWx1
ZSgpIH0gOiBBU1Q6OlR5cGVBbm5vdGF0aW9uIHsgQVNUOjpBYnN0cmFjdExlZnRWYWx1ZSgpIH07
CiAKLSAgICBpZiAoIWxlZnRBZGRyZXNzU3BhY2UgJiYgIXRocmVhZEFuZGVyRnVuY3Rpb24gJiYg
IWdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKEVycm9yKCJQcm9wZXJ0eSBhY2Nl
c3MgaW5zdHJ1Y3Rpb24gbXVzdCBlaXRoZXIgaGF2ZSBhIHRocmVhZCBhbmRlciBvciBhIGdldHRl
ci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICAgICAgc2l6ZV90IGZpZWxkTGVuZ3RoID0gZG90RXhwcmVzc2lv
bi5maWVsZE5hbWUoKS5sZW5ndGgoKTsKKyAgICAgICAgYXV0byYgaW5uZXJUeXBlID0gZG93bmNh
c3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpLnZlY3RvclR5cGVBcmd1bWVudCgp
OworICAgICAgICBpZiAoZmllbGRMZW5ndGggPT0gMSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNy
ZXRlVHlwZShkb3RFeHByZXNzaW9uLCBpbm5lclR5cGUsIHR5cGVBbm5vdGF0aW9uKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1faW50cmluc2lj
cy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5cGUoZG90RXhw
cmVzc2lvbiwgbV9pbnRyaW5zaWNzLmJvb2xWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCks
IHR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBl
LCBtX2ludHJpbnNpY3MuaW50VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0
ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLmludFZlY3RvclR5cGVGb3JTaXplKGZp
ZWxkTGVuZ3RoKSwgdHlwZUFubm90YXRpb24pOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2hl
cyhpbm5lclR5cGUsIG1faW50cmluc2ljcy51aW50VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBh
c3NpZ25Db25jcmV0ZVR5cGUoZG90RXhwcmVzc2lvbiwgbV9pbnRyaW5zaWNzLnVpbnRWZWN0b3JU
eXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIHR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgICAgIGVs
c2UgaWYgKG1hdGNoZXMoaW5uZXJUeXBlLCBtX2ludHJpbnNpY3MuZmxvYXRUeXBlKCkpKQorICAg
ICAgICAgICAgICAgIGFzc2lnbkNvbmNyZXRlVHlwZShkb3RFeHByZXNzaW9uLCBtX2ludHJpbnNp
Y3MuZmxvYXRWZWN0b3JUeXBlRm9yU2l6ZShmaWVsZExlbmd0aCksIHR5cGVBbm5vdGF0aW9uKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIHNldEVycm9yKEVycm9yKCJC
YXNlIHZhbHVlIG9mIGRvdCBleHByZXNzaW9uIG11c3QgYmUgYSBzdHJ1Y3R1cmUsIGFycmF5LCBv
ciB2ZWN0b3IuIiwgZG90RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOworfQogCi0gICAgaWYg
KHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgZ2V0dGVyRnVuY3Rpb24pIHsKLSAgICAgICAgc2V0RXJy
b3IoRXJyb3IoIkNhbm5vdCBoYXZlIGJvdGggYSB0aHJlYWQgYW5kZXIgYW5kIGEgZ2V0dGVyLiIs
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQordm9pZCBDaGVja2VyOjp2aXNpdChBU1Q6OkluZGV4RXhwcmVzc2lvbiYgaW5k
ZXhFeHByZXNzaW9uKQoreworICAgIHsKKyAgICAgICAgYXV0byBpbmRleEluZm8gPSByZWN1cnNl
QW5kR2V0SW5mbyhpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBp
ZiAoIWluZGV4SW5mbykKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChhbmRlckZ1bmN0
aW9uICYmIHRocmVhZEFuZGVyRnVuY3Rpb24gJiYgIW1hdGNoZXMoKmFuZGVyUmV0dXJuVHlwZSwg
KnRocmVhZEFuZGVyUmV0dXJuVHlwZSkpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlJldHVy
biB0eXBlIG9mIGFuZGVyIG11c3QgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIHRoZSB0aHJlYWQg
YW5kZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7Ci0gICAg
ICAgIHJldHVybjsKKyAgICAgICAgaWYgKCFtYXRjaEFuZENvbW1pdChpbmRleEluZm8tPnJlc29s
dmluZ1R5cGUsIG1faW50cmluc2ljcy51aW50VHlwZSgpKSkgeworICAgICAgICAgICAgc2V0RXJy
b3IoRXJyb3IoIkluZGV4IGluIGFuIGluZGV4IGV4cHJlc3Npb24gbXVzdCBiZSBhIHVpbnQuIiwg
aW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoZ2V0dGVyRnVuY3Rpb24gJiYgYW5kZXJGdW5jdGlv
biAmJiAhbWF0Y2hlcygqZ2V0dGVyUmV0dXJuVHlwZSwgKmFuZGVyUmV0dXJuVHlwZSkpIHsKLSAg
ICAgICAgc2V0RXJyb3IoRXJyb3IoIlJldHVybiB0eXBlIG9mIGFuZGVyIG11c3QgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIHRoZSBnZXR0ZXIuIiwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CisgICAgYXV0byBiYXNlSW5mbyA9IHJlY3Vyc2VBbmRHZXRJbmZvKGlu
ZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgIGlmICghYmFzZUluZm8pCiAgICAgICAgIHJldHVy
bjsKLSAgICB9CiAKLSAgICBpZiAoZ2V0dGVyRnVuY3Rpb24gJiYgdGhyZWFkQW5kZXJGdW5jdGlv
biAmJiAhbWF0Y2hlcygqZ2V0dGVyUmV0dXJuVHlwZSwgKnRocmVhZEFuZGVyUmV0dXJuVHlwZSkp
IHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3IoIlJldHVybiB0eXBlIG9mIHRoZSB0aHJlYWQgYW5k
ZXIgbXVzdCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGdldHRlci4iLCBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkpKTsKKyAgICBhdXRvIGJhc2VVbm5hbWVkVHlw
ZSA9IGNvbW1pdChiYXNlSW5mby0+cmVzb2x2aW5nVHlwZSk7CisgICAgaWYgKCFiYXNlVW5uYW1l
ZFR5cGUpIHsKKyAgICAgICAgc2V0RXJyb3IoRXJyb3IoIkNhbm5vdCByZXNvbHZlIHRoZSB0eXBl
IG9mIHRoZSBiYXNlIG9mIGFuIGluZGV4IGV4cHJlc3Npb24uIiwgaW5kZXhFeHByZXNzaW9uLmNv
ZGVMb2NhdGlvbigpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWY8QVNUOjpV
bm5hbWVkVHlwZT4gZmllbGRUeXBlID0gZ2V0dGVyUmV0dXJuVHlwZSA/ICpnZXR0ZXJSZXR1cm5U
eXBlIDogYW5kZXJSZXR1cm5UeXBlID8gKmFuZGVyUmV0dXJuVHlwZSA6ICp0aHJlYWRBbmRlclJl
dHVyblR5cGU7Ci0KLSAgICBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHNldHRlckZ1bmN0aW9u
ID0gbnVsbHB0cjsKLSAgICBBU1Q6OlVubmFtZWRUeXBlKiBzZXR0ZXJSZXR1cm5UeXBlID0gbnVs
bHB0cjsKLSAgICB7Ci0gICAgICAgIFJlc29sdmluZ1R5cGUgZmllbGRSZXNvbHZpbmdUeXBlKGZp
ZWxkVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4gc2V0dGVyQXJndW1lbnRUeXBlcyB7IGJhc2VJbmZvLT5yZXNvbHZp
bmdUeXBlIH07Ci0gICAgICAgIGlmIChhZGRpdGlvbmFsQXJndW1lbnRUeXBlKQotICAgICAgICAg
ICAgc2V0dGVyQXJndW1lbnRUeXBlcy5hcHBlbmQoKmFkZGl0aW9uYWxBcmd1bWVudFR5cGUpOwot
ICAgICAgICBzZXR0ZXJBcmd1bWVudFR5cGVzLmFwcGVuZChmaWVsZFJlc29sdmluZ1R5cGUpOwot
ICAgICAgICBhdXRvIHNldHRlck5hbWUgPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVy
RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAgIHNldHRlckZ1bmN0aW9uID0gcmVzb2x2ZUZ1bmN0aW9u
KHNldHRlckFyZ3VtZW50VHlwZXMsIHNldHRlck5hbWUsIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5jb2RlTG9jYXRpb24oKSk7Ci0gICAgICAgIGlmIChoYXNFcnJvcigpKQorICAgIGF1dG8mIHR5
cGUgPSBiYXNlVW5uYW1lZFR5cGUtPnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgYXV0byYgYXJyYXlSZWZlcmVuY2VUeXBl
ID0gZG93bmNhc3Q8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpOworICAgICAgICBhc3Np
Z25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBhcnJheVJlZmVyZW5jZVR5cGUuZWxlbWVu
dFR5cGUoKSwgQVNUOjpMZWZ0VmFsdWUgeyBhcnJheVJlZmVyZW5jZVR5cGUuYWRkcmVzc1NwYWNl
KCkgfSk7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpCisgICAgICAg
IGFzc2lnbkNvbmNyZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIGRvd25jYXN0PEFTVDo6QXJyYXlU
eXBlPih0eXBlKS50eXBlKCksIGJhc2VJbmZvLT50eXBlQW5ub3RhdGlvbik7CisgICAgZWxzZSBp
ZiAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KHR5cGUpKSB7CisgICAgICAgIGF1dG8m
IG5hdGl2ZVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4odHlwZSk7
CisgICAgICAgIGF1dG8gdHlwZUFubm90YXRpb24gPSBiYXNlSW5mby0+dHlwZUFubm90YXRpb24u
aXNSaWdodFZhbHVlKCkgPyBBU1Q6OlR5cGVBbm5vdGF0aW9uIHsgQVNUOjpSaWdodFZhbHVlKCkg
fSA6IEFTVDo6VHlwZUFubm90YXRpb24geyBBU1Q6OkFic3RyYWN0TGVmdFZhbHVlKCkgfTsKKyAg
ICAgICAgaWYgKG5hdGl2ZVR5cGUuaXNWZWN0b3IoKSkKKyAgICAgICAgICAgIGFzc2lnbkNvbmNy
ZXRlVHlwZShpbmRleEV4cHJlc3Npb24sIG5hdGl2ZVR5cGUudmVjdG9yVHlwZUFyZ3VtZW50KCks
IHR5cGVBbm5vdGF0aW9uKTsKKyAgICAgICAgZWxzZSBpZiAobmF0aXZlVHlwZS5pc01hdHJpeCgp
KSB7CisgICAgICAgICAgICBhdXRvJiBpbm5lclR5cGUgPSBuYXRpdmVUeXBlLm1hdHJpeFR5cGVB
cmd1bWVudCgpOworICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG5hdGl2ZVR5cGUubnVt
YmVyT2ZNYXRyaXhSb3dzKCk7CisgICAgICAgICAgICBpZiAobWF0Y2hlcyhpbm5lclR5cGUsIG1f
aW50cmluc2ljcy5ib29sVHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3NpZ25Db25jcmV0ZVR5
cGUoaW5kZXhFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuYm9vbFZlY3RvclR5cGVGb3JTaXplKG51
bVJvd3MpLCB0eXBlQW5ub3RhdGlvbik7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRjaGVzKGlu
bmVyVHlwZSwgbV9pbnRyaW5zaWNzLmZsb2F0VHlwZSgpKSkKKyAgICAgICAgICAgICAgICBhc3Np
Z25Db25jcmV0ZVR5cGUoaW5kZXhFeHByZXNzaW9uLCBtX2ludHJpbnNpY3MuZmxvYXRWZWN0b3JU
eXBlRm9yU2l6ZShudW1Sb3dzKSwgdHlwZUFubm90YXRpb24pOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBzZXRFcnJvcihFcnJvcigiSW5kZXggZXhwcmVzc2lvbiBvbiB1
bmtub3duIHR5cGUuIiwgaW5kZXhFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpKSk7CiAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZXR0ZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHNl
dHRlclJldHVyblR5cGUgPSAmc2V0dGVyRnVuY3Rpb24tPnR5cGUoKTsKLSAgICB9Ci0KLSAgICBp
ZiAoc2V0dGVyRnVuY3Rpb24gJiYgIWdldHRlckZ1bmN0aW9uKSB7Ci0gICAgICAgIHNldEVycm9y
KEVycm9yKCJDYW5ub3QgZGVmaW5lIGEgc2V0dGVyIGZ1bmN0aW9uIHdpdGhvdXQgYSBjb3JyZXNw
b25kaW5nIGdldHRlci4iLCBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCkp
KTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHNldEVycm9yKEVycm9yKCJJbmRl
eCBleHByZXNzaW9uIG9uIGFuIHVua25vd24gYmFzZSB0eXBlLiBCYXNlIHR5cGUgbXVzdCBiZSBh
biBhcnJheSwgYXJyYXkgcmVmZXJlbmNlLCB2ZWN0b3IsIG9yIG1hdHJpeC4iLCBpbmRleEV4cHJl
c3Npb24uY29kZUxvY2F0aW9uKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAgIHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXRHZXR0ZXJGdW5jdGlvbihnZXR0ZXJGdW5jdGlvbik7
Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldEFuZGVyRnVuY3Rpb24oYW5kZXJGdW5j
dGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNldFRocmVhZEFuZGVyRnVuY3Rp
b24odGhyZWFkQW5kZXJGdW5jdGlvbik7Ci0gICAgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnNl
dFNldHRlckZ1bmN0aW9uKHNldHRlckZ1bmN0aW9uKTsKLQotICAgIEFTVDo6VHlwZUFubm90YXRp
b24gdHlwZUFubm90YXRpb24gPSBBU1Q6OlJpZ2h0VmFsdWUoKTsKLSAgICBpZiAoYXV0byBsZWZ0
QWRkcmVzc1NwYWNlID0gYmFzZUluZm8tPnR5cGVBbm5vdGF0aW9uLmxlZnRBZGRyZXNzU3BhY2Uo
KSkgewotICAgICAgICBpZiAoYW5kZXJGdW5jdGlvbikKLSAgICAgICAgICAgIHR5cGVBbm5vdGF0
aW9uID0gQVNUOjpMZWZ0VmFsdWUgeyBkb3duY2FzdDxBU1Q6OlJlZmVyZW5jZVR5cGU+KGFuZGVy
RnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkgfTsKLSAgICAgICAgZWxzZSBpZiAoc2V0
dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RM
ZWZ0VmFsdWUoKTsKLSAgICB9IGVsc2UgaWYgKCFiYXNlSW5mby0+dHlwZUFubm90YXRpb24uaXNS
aWdodFZhbHVlKCkgJiYgKHNldHRlckZ1bmN0aW9uIHx8IHRocmVhZEFuZGVyRnVuY3Rpb24pKQot
ICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IEFTVDo6QWJzdHJhY3RMZWZ0VmFsdWUoKTsKLSAgICBh
c3NpZ25Db25jcmV0ZVR5cGUocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBXVEZNb3ZlKGZpZWxk
VHlwZSksIFdURk1vdmUodHlwZUFubm90YXRpb24pKTsKLX0KLQotdm9pZCBDaGVja2VyOjp2aXNp
dChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCi17Ci0gICAgZmluaXNoVmlzaXRp
bmcoZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpJbmRleEV4
cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAgICBhdXRvIGJhc2VJbmZvID0gcmVjdXJz
ZUFuZEdldEluZm8oaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKLSAgICBpZiAo
IWJhc2VJbmZvKQotICAgICAgICByZXR1cm47Ci0gICAgZmluaXNoVmlzaXRpbmcoaW5kZXhFeHBy
ZXNzaW9uLCAmYmFzZUluZm8tPnJlc29sdmluZ1R5cGUpOwogfQogCiB2b2lkIENoZWNrZXI6OnZp
c2l0KEFTVDo6VmFyaWFibGVSZWZlcmVuY2UmIHZhcmlhYmxlUmVmZXJlbmNlKQpAQCAtMTM2Miwx
MSArMTEyNyw2IEBAIHZvaWQgQ2hlY2tlcjo6dmlzaXQoQVNUOjpGbG9hdExpdGVyYWwmIGYKICAg
ICBhc3NpZ25UeXBlKGZsb2F0TGl0ZXJhbCwgYWRvcHRSZWYoKm5ldyBSZXNvbHZhYmxlVHlwZVJl
ZmVyZW5jZShmbG9hdExpdGVyYWwudHlwZSgpKSkpOwogfQogCi12b2lkIENoZWNrZXI6OnZpc2l0
KEFTVDo6TnVsbExpdGVyYWwmIG51bGxMaXRlcmFsKQotewotICAgIGFzc2lnblR5cGUobnVsbExp
dGVyYWwsIGFkb3B0UmVmKCpuZXcgUmVzb2x2YWJsZVR5cGVSZWZlcmVuY2UobnVsbExpdGVyYWwu
dHlwZSgpKSkpOwotfQotCiB2b2lkIENoZWNrZXI6OnZpc2l0KEFTVDo6Qm9vbGVhbkxpdGVyYWwm
IGJvb2xlYW5MaXRlcmFsKQogewogICAgIGFzc2lnbkNvbmNyZXRlVHlwZShib29sZWFuTGl0ZXJh
bCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGJvb2xlYW5MaXRlcmFsLmNvZGVMb2NhdGlvbigp
LCBtX2ludHJpbnNpY3MuYm9vbFR5cGUoKSkpOwpAQCAtMTQ4OCw4ICsxMjQ4LDYgQEAgdm9pZCBD
aGVja2VyOjp2aXNpdChBU1Q6OlN3aXRjaFN0YXRlbWVudAogICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGJvb2w+KG1hdGNoQW5kQ29tbWl0KCp2YWx1ZVR5cGUsIHVuc2lnbmVkSW50ZWdl
ckxpdGVyYWwudHlwZSgpKSk7CiAgICAgICAgIH0sIFsmXShBU1Q6OkZsb2F0TGl0ZXJhbCYgZmxv
YXRMaXRlcmFsKSAtPiBib29sIHsKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29s
PihtYXRjaEFuZENvbW1pdCgqdmFsdWVUeXBlLCBmbG9hdExpdGVyYWwudHlwZSgpKSk7Ci0gICAg
ICAgIH0sIFsmXShBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkgLT4gYm9vbCB7Ci0gICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obWF0Y2hBbmRDb21taXQoKnZhbHVlVHlw
ZSwgbnVsbExpdGVyYWwudHlwZSgpKSk7CiAgICAgICAgIH0sIFsmXShBU1Q6OkJvb2xlYW5MaXRl
cmFsJikgLT4gYm9vbCB7CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlcygqdmFsdWVUeXBlLCBt
X2ludHJpbnNpY3MuYm9vbFR5cGUoKSk7CiAgICAgICAgIH0sIFsmXShBU1Q6OkVudW1lcmF0aW9u
TWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsKSAtPiBib29sIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMSGlnaFpvbWJpZUZpbmRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xIaWdoWm9tYmllRmluZGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsMzQgKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFt
ZXNwYWNlIFdITFNMIHsKIAotI2lmICFBU1NFUlRfRElTQUJMRUQKLS8vIElmIGEgaGlnaC1sZXZl
bCBjb25zdHJ1Y3Qgc29tZWhvdyBtYW5hZ2VzIHRvIGxpdmUgb24gd2hlbiB3ZSdyZSBsb3dlcmVk
LCBpdCdzIGEgaGlnaCB6b21iaWUuCi1jbGFzcyBIaWdoWm9tYmllRmluZGVyIDogcHVibGljIFZp
c2l0b3IgewotcHJpdmF0ZToKLSAgICB2b2lkIHZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYpIG92
ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAg
ICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHZvaWQgdmlzaXQoQVNUOjpS
ZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uJikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX07Ci0jZW5kaWYKLQotdm9pZCBmaW5kSGlnaFpvbWJp
ZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3ZvaWQgZmluZEhpZ2hab21iaWVzKFByb2dyYW0mKQogewot
I2lmIEFTU0VSVF9ESVNBQkxFRAotICAgIFVOVVNFRF9QQVJBTShwcm9ncmFtKTsKLSNlbHNlCi0g
ICAgSGlnaFpvbWJpZUZpbmRlcigpLlZpc2l0b3I6OnZpc2l0KHByb2dyYW0pOwotI2VuZGlmCisg
ICAgLy8gRklYTUU6IEJyaW5nIHRoaXMgcGhhc2UgYmFjayBvbmNlIHdlIGFkZCBhIG5ldyBwcm9w
ZXJ0eSByZXNvbHZlcgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDEyNTEKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xJbmZlclR5cGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEluZmVyVHlwZXMuY3BwCShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTEluZmVyVHlwZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsMTAgKzEyNyw2IEBAIFJlZlB0cjxBU1Q6OlVubmFt
ZWRUeXBlPiBtYXRjaEFuZENvbW1pdCgKICAgICAgICAgcmVzb2x2YWJsZVR5cGUyLnJlc29sdmUo
ZG93bmNhc3Q8QVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZT4ocmVzb2x2YWJsZVR5cGUy
KS5wcmVmZXJyZWRUeXBlKCkpOwogICAgICAgICByZXR1cm4gJmRvd25jYXN0PEFTVDo6VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlMSkucHJlZmVycmVkVHlwZSgpOwog
ICAgIH0KLSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlMSkg
JiYgaXM8QVNUOjpOdWxsTGl0ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlMikpIHsKLSAgICAgICAg
Ly8gRklYTUU6IFRyeWluZyB0byBtYXRjaCBudWxscHRyIGFuZCBudWxscHRyIGZhaWxzLgotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKQEAg
LTE1MiwxMCArMTQ4LDYgQEAgUmVmUHRyPEFTVDo6VW5uYW1lZFR5cGU+IGNvbW1pdChBU1Q6OlJl
cwogICAgICAgICByZXNvbHZhYmxlVHlwZS5yZXNvbHZlKHVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlLnByZWZlcnJlZFR5cGUoKSk7CiAgICAgICAgIHJldHVybiAmdW5zaWduZWRJbnRlZ2VyTGl0
ZXJhbFR5cGUucHJlZmVycmVkVHlwZSgpOwogICAgIH0KLSAgICBpZiAoaXM8QVNUOjpOdWxsTGl0
ZXJhbFR5cGU+KHJlc29sdmFibGVUeXBlKSkgewotICAgICAgICAvLyBGSVhNRTogVHJ5aW5nIHRv
IG1hdGNoIG51bGxwdHIgYW5kIG51bGxwdHIgZmFpbHMuCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xJbnRyaW5zaWNzLmgJKHJldmlz
aW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
SW50cmluc2ljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiAqbV9ib29sVHlwZTsKICAgICB9CiAKKyAgICBBU1Q6Ok5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbiYgYm9vbFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0Cisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNp
emUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JCb29sW3NpemUgLSAyXTsKKyAgICB9
CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFR5cGUoKSBjb25zdAogICAg
IHsKICAgICAgICAgQVNTRVJUKG1fdWludFR5cGUpOwpAQCAtODIsNiArODgsMTIgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gKm1fdmVjdG9yVWludFsyXTsKICAgICB9CiAKKyAgICBBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbiYgdWludFZlY3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUp
IGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9
PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JVaW50W3NpemUgLSAy
XTsKKyAgICB9CisKICAgICBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgaW50MlR5cGUoKSBj
b25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdmVjdG9ySW50WzBdKTsKQEAgLTk0LDYgKzEw
NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqbV92ZWN0b3JJbnRbMl07CiAgICAgfQog
CisgICAgQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIGludFZlY3RvclR5cGVGb3JTaXplKHVu
c2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChzaXplID09
IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAgIHJldHVybiAqbV92ZWN0b3JJ
bnRbc2l6ZSAtIDJdOworICAgIH0KKwogICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBz
YW1wbGVyVHlwZSgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV9zYW1wbGVyVHlwZSk7
CkBAIC0xMjQsNiArMTQyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICptX3ZlY3RvckZs
b2F0WzJdOwogICAgIH0KIAorICAgIEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBmbG9hdFZl
Y3RvclR5cGVGb3JTaXplKHVuc2lnbmVkIHNpemUpIGNvbnN0CisgICAgeworICAgICAgICBSRUxF
QVNFX0FTU0VSVChzaXplID09IDIgfHwgc2l6ZSA9PSAzIHx8IHNpemUgPT0gNCk7CisgICAgICAg
IHJldHVybiAqbV92ZWN0b3JGbG9hdFtzaXplIC0gMl07CisgICAgfQorCiAgICAgLy8gVGhlc2Ug
ZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gcHJ1bmVkIGZyb20gdGhlIEFTVCBpZiB0aGV5IGFyZSB1
bnVzZWQuCiAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKiBkZHgoKSBjb25zdAog
ICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMTGV4ZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTExleGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYyLDI5
ICs4NjIsNiBAQCBwYXJzZUlkZW50aWZpZXI6CiAgICAgICAgIHN3aXRjaCAocGVlaygpKSB7CiAg
ICAgICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgIHN3aXRj
aCAocGVlaygpKSB7Ci0gICAgICAgICAgICBjYXNlICdbJzoKLSAgICAgICAgICAgICAgICBzaGlm
dCgpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1lKCddJykpCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3BlcmF0b3JOYW1lKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6OkludmFsaWQpOwotICAgICAgICAgICAgY2Fz
ZSAnLic6Ci0gICAgICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoIWlz
VmFsaWRJZGVudGlmaWVyU3RhcnQocGVlaygpKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHRva2VuKFRva2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAgICAgICAgICAgICAgICBzaGlmdCgpOwot
ICAgICAgICAgICAgICAgIHdoaWxlIChpc1ZhbGlkTm9uU3RhcnRpbmdJZGVudGlmaWVyQ2hhcihw
ZWVrKCkpKQotICAgICAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIHJl
dHVybiB0b2tlbihUb2tlbjo6VHlwZTo6T3BlcmF0b3JOYW1lKTsKLSAgICAgICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpPcGVyYXRvck5h
bWUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgIGNhc2UgJ1snOgotICAgICAgICAgICAgc2hp
ZnQoKTsKLSAgICAgICAgICAgIGlmICghY29uc3VtZSgnXScpKQotICAgICAgICAgICAgICAgIHJl
dHVybiB0b2tlbihUb2tlbjo6VHlwZTo6SW52YWxpZCk7Ci0gICAgICAgICAgICBjb25zdW1lKCc9
Jyk7CiAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9rZW46OlR5cGU6Ok9wZXJhdG9yTmFtZSk7
CiAKICAgICAgICAgY2FzZSAnPic6CkBAIC05NDcsMTUgKzkyNCw2IEBAIHBhcnNlSWRlbnRpZmll
cjoKICAgICAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgICAgICByZXR1cm4gdG9rZW4oVG9rZW46
OlR5cGU6Ok9wZXJhdG9yTmFtZSk7CiAKLSAgICAgICAgY2FzZSAnLic6Ci0gICAgICAgICAgICBz
aGlmdCgpOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlkSWRlbnRpZmllclN0YXJ0KHBlZWsoKSkp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBlOjpJbnZhbGlkKTsKLSAg
ICAgICAgICAgIHNoaWZ0KCk7Ci0gICAgICAgICAgICB3aGlsZSAoaXNWYWxpZE5vblN0YXJ0aW5n
SWRlbnRpZmllckNoYXIocGVlaygpKSkKLSAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAg
ICAgICAgY29uc3VtZSgnPScpOwotICAgICAgICAgICAgcmV0dXJuIHRva2VuKFRva2VuOjpUeXBl
OjpPcGVyYXRvck5hbWUpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
TGl0ZXJhbFR5cGVDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAJKHJldmlzaW9uIDI0
OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJh
bFR5cGVDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5j
bHVkZSAiV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaCIKICNpbmNsdWRlICJXSExTTE5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNMTnVsbExpdGVyYWxUeXBlLmgiCiAjaW5j
bHVkZSAiV0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xUeXBlUmVmZXJlbmNlLmgiCiAj
aW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCkBAIC03MywxMSArNzIsNiBAQCBwcml2YXRlOgogICAg
ICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uKTsKICAgICAgICAgQVNTRVJUKG5hdGl2
ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50VW5zaWduZWRJbnRlZ2VyKCkodW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUudmFsdWUoKSkpOwogICAgIH0KLQotICAgIHZvaWQgdmlzaXQoQVNU
OjpOdWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChudWxsTGl0ZXJhbFR5cGUubWF5YmVSZXNvbHZlZFR5cGUoKSk7Ci0gICAgfQog
fTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xQYXJzZXIuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwMyw4ICs0MDMsNiBAQCBhdXRvIFBhcnNlcjo6cGFyc2VDb25zdGFudEV4cHJlc3Npb24o
KSAtCiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQodmFsdWUuZXJyb3IoKSk7CiAg
ICAgICAgIHJldHVybiB7eyBBU1Q6OkZsb2F0TGl0ZXJhbCh7ICp0eXBlIH0sICp2YWx1ZSkgfX07
CiAgICAgfQotICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51bGw6Ci0gICAgICAgIHJldHVybiB7IEFT
VDo6TnVsbExpdGVyYWwoV1RGTW92ZSgqdHlwZSkpIH07CiAgICAgY2FzZSBUb2tlbjo6VHlwZTo6
VHJ1ZToKICAgICAgICAgcmV0dXJuIHsgQVNUOjpCb29sZWFuTGl0ZXJhbChXVEZNb3ZlKCp0eXBl
KSwgdHJ1ZSkgfTsKICAgICBjYXNlIFRva2VuOjpUeXBlOjpGYWxzZToKQEAgLTg3NSw3ICs4NzMs
NiBAQCBhdXRvIFBhcnNlcjo6cGFyc2VFbnVtZXJhdGlvbk1lbWJlcihpbnQ2CiAgICAgICAgIH0s
IFsmXShBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWwmIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwp
IHsKICAgICAgICAgICAgIHZhbHVlID0gdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpOwog
ICAgICAgICB9LCBbJl0oQVNUOjpGbG9hdExpdGVyYWwmKSB7Ci0gICAgICAgIH0sIFsmXShBU1Q6
Ok51bGxMaXRlcmFsJikgewogICAgICAgICB9LCBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYpIHsK
ICAgICAgICAgfSwgWyZdKEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikgewogICAgICAg
ICB9KSk7CkBAIC0yMDYzLDcgKzIwNjAsNyBAQCBhdXRvIFBhcnNlcjo6cGFyc2VUZXJtKCkgLT4g
RXhwZWN0ZWQ8VW5pCiAgICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVSZWY8QVNUOjpGbG9hdExp
dGVyYWw+KCp0eXBlLCAqdmFsdWUpIH07CiAgICAgfQogICAgIGNhc2UgVG9rZW46OlR5cGU6Ok51
bGw6Ci0gICAgICAgIHJldHVybiB7IG1ha2VVbmlxdWVSZWY8QVNUOjpOdWxsTGl0ZXJhbD4oKnR5
cGUpIH07CisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFcnJvcigiJ251bGwnIGlzIGEg
cmVzZXJ2ZWQga2V5d29yZC4iLCB0eXBlLT5jb2RlTG9jYXRpb24pKTsKICAgICBjYXNlIFRva2Vu
OjpUeXBlOjpUcnVlOgogICAgICAgICByZXR1cm4geyBtYWtlVW5pcXVlUmVmPEFTVDo6Qm9vbGVh
bkxpdGVyYWw+KCp0eXBlLCB0cnVlKSB9OwogICAgIGNhc2UgVG9rZW46OlR5cGU6OkZhbHNlOgpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFByZXBhcmUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByZXBhcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCAr
NDksOCBAQAogI2luY2x1ZGUgIldITFNMU2VtYW50aWNNYXRjaGVyLmgiCiAjaW5jbHVkZSAiV0hM
U0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJXSExTTFN0YXRlbWVudEJl
aGF2aW9yQ2hlY2tlci5oIgotI2luY2x1ZGUgIldITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JM
ZW5ndGguaCIKICNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuaCIKICNpbmNs
dWRlICJXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5oIgotI2luY2x1ZGUgIldI
TFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5oIgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKQEAgLTIyMyw5ICsyMjEsNyBA
QCBzdGF0aWMgRXhwZWN0ZWQ8UHJvZ3JhbSwgU3RyaW5nPiBwcmVwYXJlCiAgICAgTmFtZVJlc29s
dmVyIG5hbWVSZXNvbHZlcihwcm9ncmFtLm5hbWVDb250ZXh0KCkpOwogICAgIENIRUNLX1BBU1Mo
cmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFtZVJlc29sdmVyKTsKICAgICBDSEVDS19Q
QVNTKGNoZWNrUmVjdXJzaXZlVHlwZXMsIHByb2dyYW0pOwotICAgIENIRUNLX1BBU1Moc3ludGhl
c2l6ZVN0cnVjdHVyZUFjY2Vzc29ycywgcHJvZ3JhbSk7CiAgICAgQ0hFQ0tfUEFTUyhzeW50aGVz
aXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0pOwotICAgIENIRUNLX1BBU1Moc3ludGhl
c2l6ZUFycmF5T3BlcmF0b3JMZW5ndGgsIHByb2dyYW0pOwogICAgIENIRUNLX1BBU1MocmVzb2x2
ZVR5cGVOYW1lc0luRnVuY3Rpb25zLCBwcm9ncmFtLCBuYW1lUmVzb2x2ZXIpOwogICAgIENIRUNL
X1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJvZ3JhbSk7CiAgICAgQ0hFQ0tfUEFTUyhj
aGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5jcHAJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9ncmFt
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgorCisjaWYgRU5BQkxFKFdF
QkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV0hMU0wgeworCitib29s
IFByb2dyYW06OmlzVmFsaWRWZWN0b3JQcm9wZXJ0eShTdHJpbmcgcHJvcGVydHkpCit7CisgICAg
aWYgKHByb3BlcnR5Lmxlbmd0aCgpIDwgMSB8fCBwcm9wZXJ0eS5sZW5ndGgoKSA+IDQpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHku
bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBzd2l0Y2ggKHByb3BlcnR5W2ldKSB7CisgICAgICAg
IGNhc2UgJ3gnOgorICAgICAgICBjYXNlICd5JzoKKyAgICAgICAgY2FzZSAneic6CisgICAgICAg
IGNhc2UgJ3cnOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV0hMU0wKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJvZ3JhbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvZ3JhbS5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb2dyYW0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtODUsNiArODUsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX25hbWVD
b250ZXh0LmFkZChtX25hdGl2ZVR5cGVEZWNsYXJhdGlvbnMubGFzdCgpKTsKICAgICB9CiAKKyAg
ICBib29sIGlzVmFsaWRWZWN0b3JQcm9wZXJ0eShTdHJpbmcpOworCiAgICAgTmFtZUNvbnRleHQm
IG5hbWVDb250ZXh0KCkgeyByZXR1cm4gbV9uYW1lQ29udGV4dDsgfQogICAgIEludHJpbnNpY3Mm
IGludHJpbnNpY3MoKSB7IHJldHVybiBtX2ludHJpbnNpY3M7IH0KICAgICBjb25zdCBJbnRyaW5z
aWNzJiBpbnRyaW5zaWNzKCkgY29uc3QgeyByZXR1cm4gbV9pbnRyaW5zaWNzOyB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDgwNSArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKLSNp
bmNsdWRlICJXSExTTEFycmF5VHlwZS5oIgotI2luY2x1ZGUgIldITFNMQXNzaWdubWVudEV4cHJl
c3Npb24uaCIKLSNpbmNsdWRlICJXSExTTENhbGxFeHByZXNzaW9uLmgiCi0jaW5jbHVkZSAiV0hM
U0xDb21tYUV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTERlcmVmZXJlbmNlRXhwcmVzc2lv
bi5oIgotI2luY2x1ZGUgIldITFNMRG90RXhwcmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMRnVu
Y3Rpb25EZWNsYXJhdGlvbi5oIgotI2luY2x1ZGUgIldITFNMRnVuY3Rpb25EZWZpbml0aW9uLmgi
Ci0jaW5jbHVkZSAiV0hMU0xJbmRleEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTE1ha2VB
cnJheVJlZmVyZW5jZUV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTE1ha2VQb2ludGVyRXhw
cmVzc2lvbi5oIgotI2luY2x1ZGUgIldITFNMUG9pbnRlclR5cGUuaCIKLSNpbmNsdWRlICJXSExT
TFJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTFJlcGxhY2VXaXRo
LmgiCi0jaW5jbHVkZSAiV0hMU0xWYXJpYWJsZURlY2xhcmF0aW9uLmgiCi0jaW5jbHVkZSAiV0hM
U0xWYXJpYWJsZVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBXSExTTCB7CiAKLWNsYXNzIFByb3BlcnR5UmVz
b2x2ZXIgOiBwdWJsaWMgVmlzaXRvciB7Ci1wdWJsaWM6Ci1wcml2YXRlOgotICAgIHZvaWQgdmlz
aXQoQVNUOjpGdW5jdGlvbkRlZmluaXRpb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFT
VDo6RG90RXhwcmVzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpJbmRleEV4
cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6QXNzaWdubWVudEV4cHJl
c3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwotCi0gICAgdm9pZCBzaW1wbGlmeVJpZ2h0VmFsdWUoQVNUOjpQ
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mKTsKLSAgICBib29sIHNpbXBsaWZ5QWJzdHJhY3RMZWZ0
VmFsdWUoQVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbiYsIEFTVDo6RG90RXhwcmVzc2lvbiYsIFVu
aXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiYgcmlnaHQpOwotICAgIHZvaWQgc2ltcGxpZnlMZWZ0
VmFsdWUoQVNUOjpFeHByZXNzaW9uJik7Ci0KLSAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25z
IG1fdmFyaWFibGVEZWNsYXJhdGlvbnM7Ci19OwotCi12b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZp
c2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAvLyBVbmxlc3Mg
d2UncmUgaW5zaWRlIGFuIEFzc2lnbm1lbnRFeHByZXNzaW9uIG9yIGEgUmVhZE1vZGlmeVdyaXRl
RXhwcmVzc2lvbiwgd2UncmUgYSByaWdodCB2YWx1ZS4KLSAgICBzaW1wbGlmeVJpZ2h0VmFsdWUo
ZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNUOjpJ
bmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAgICBjaGVja0Vycm9yQW5kVmlz
aXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKLSAgICAvLyBVbmxlc3Mgd2Un
cmUgaW5zaWRlIGFuIEFzc2lnbm1lbnRFeHByZXNzaW9uIG9yIGEgUmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbiwgd2UncmUgYSByaWdodCB2YWx1ZS4KLSAgICBzaW1wbGlmeVJpZ2h0VmFsdWUoaW5k
ZXhFeHByZXNzaW9uKTsKLX0KLQotdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdChBU1Q6OkZ1
bmN0aW9uRGVmaW5pdGlvbiYgZnVuY3Rpb25EZWZpbml0aW9uKQotewotICAgIFZpc2l0b3I6OnZp
c2l0KGZ1bmN0aW9uRGVmaW5pdGlvbik7Ci0gICAgaWYgKCFtX3ZhcmlhYmxlRGVjbGFyYXRpb25z
LmlzRW1wdHkoKSkKLSAgICAgICAgZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkuc3RhdGVtZW50
cygpLmluc2VydCgwLCBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnNTdGF0
ZW1lbnQ+KGZ1bmN0aW9uRGVmaW5pdGlvbi5jb2RlTG9jYXRpb24oKSwgV1RGTW92ZShtX3Zhcmlh
YmxlRGVjbGFyYXRpb25zKSkpOwotfQotCi1lbnVtIGNsYXNzIFdoaWNoQW5kZXIgewotICAgIFRo
cmVhZEFuZGVyLAotICAgIEFuZGVyCi19OwotCi1zdHJ1Y3QgQW5kZXJDYWxsQXJndW1lbnRSZXN1
bHQgewotICAgIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IGV4cHJlc3Npb247Ci0gICAgT3B0
aW9uYWw8VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4+IHZhcmlhYmxlRGVjbGFy
YXRpb247Ci0gICAgV2hpY2hBbmRlciB3aGljaEFuZGVyOwotfTsKLQotdGVtcGxhdGUgPHR5cGVu
YW1lIEV4cHJlc3Npb25Db25zdHJ1Y3RvciwgdHlwZW5hbWUgVHlwZUNvbnN0cnVjdG9yPgotc3Rh
dGljIE9wdGlvbmFsPEFuZGVyQ2FsbEFyZ3VtZW50UmVzdWx0PiB3cmFwQW5kZXJDYWxsQXJndW1l
bnQoVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4mIGV4cHJlc3Npb24sIFJlZjxBU1Q6OlVubmFt
ZWRUeXBlPiBiYXNlVHlwZSwgQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9u
LCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHRocmVhZEFuZGVyRnVuY3Rpb24pCi17Ci0gICAg
YXV0byBmdW5jdGlvbkVzY2FwZU1vZGUgPSBbXSAoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uJiBm
dW5jdGlvbkRlY2xhcmF0aW9uKSB7Ci0gICAgICAgIGlmIChmdW5jdGlvbkRlY2xhcmF0aW9uLmlz
TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbigpIHx8IGZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyc2lu
Z01vZGUoKSA9PSBQYXJzaW5nTW9kZTo6U3RhbmRhcmRMaWJyYXJ5KQotICAgICAgICAgICAgcmV0
dXJuIEFTVDo6QWRkcmVzc0VzY2FwZU1vZGU6OkRvZXNOb3RFc2NhcGU7Ci0gICAgICAgIHJldHVy
biBBU1Q6OkFkZHJlc3NFc2NhcGVNb2RlOjpFc2NhcGVzOwotICAgIH07Ci0KLSAgICBhdXRvIGxv
Y2F0aW9uID0gZXhwcmVzc2lvbi0+Y29kZUxvY2F0aW9uKCk7Ci0gICAgaWYgKGF1dG8gYWRkcmVz
c1NwYWNlID0gZXhwcmVzc2lvbi0+dHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCkp
IHsKLSAgICAgICAgaWYgKCFhbmRlckZ1bmN0aW9uKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKLSAgICAgICAgYXV0byBtYWtlQXJyYXlSZWZlcmVuY2UgPSBtYWtlVW5pcXVlUmVm
PEV4cHJlc3Npb25Db25zdHJ1Y3Rvcj4obG9jYXRpb24sIFdURk1vdmUoZXhwcmVzc2lvbiksIGZ1
bmN0aW9uRXNjYXBlTW9kZSgqYW5kZXJGdW5jdGlvbikpOwotICAgICAgICBtYWtlQXJyYXlSZWZl
cmVuY2UtPnNldFR5cGUoVHlwZUNvbnN0cnVjdG9yOjpjcmVhdGUobG9jYXRpb24sICphZGRyZXNz
U3BhY2UsIFdURk1vdmUoYmFzZVR5cGUpKSk7Ci0gICAgICAgIG1ha2VBcnJheVJlZmVyZW5jZS0+
c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgICAgICByZXR1cm4ge3sg
V1RGTW92ZShtYWtlQXJyYXlSZWZlcmVuY2UpLCBXVEY6Om51bGxvcHQsIFdoaWNoQW5kZXI6OkFu
ZGVyIH19OwotICAgIH0KLSAgICBpZiAodGhyZWFkQW5kZXJGdW5jdGlvbikgewotICAgICAgICBh
dXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBiYXNlVHlwZS5jb3B5UmVmKCks
IFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVm
ZXJlbmNlMSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJp
YWJsZVJlZmVyZW5jZTo6d3JhcCh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgIHZhcmlh
YmxlUmVmZXJlbmNlMS0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICB2YXJp
YWJsZVJlZmVyZW5jZTEtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpB
ZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsKLQotICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNz
aW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsb2NhdGlvbiwg
V1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZTEpLCBXVEZNb3ZlKGV4cHJlc3Npb24pKTsKLSAgICAg
ICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAg
ICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRW
YWx1ZSgpKTsKLQotICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMiA9IG1ha2VVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCh2
YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlw
ZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZTItPnNldFR5
cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9
KTsKLQotICAgICAgICBhdXRvIGV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEV4cHJlc3Npb25D
b25zdHJ1Y3Rvcj4obG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UyKSwgZnVuY3Rp
b25Fc2NhcGVNb2RlKCp0aHJlYWRBbmRlckZ1bmN0aW9uKSk7Ci0gICAgICAgIGF1dG8gcmVzdWx0
VHlwZSA9IFR5cGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGxvY2F0aW9uLCBBU1Q6OkFkZHJlc3NTcGFj
ZTo6VGhyZWFkLCBXVEZNb3ZlKGJhc2VUeXBlKSk7Ci0gICAgICAgIGV4cHJlc3Npb24tPnNldFR5
cGUocmVzdWx0VHlwZS5jb3B5UmVmKCkpOwotICAgICAgICBleHByZXNzaW9uLT5zZXRUeXBlQW5u
b3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgVmVjdG9yPFVuaXF1ZVJlZjxB
U1Q6OkV4cHJlc3Npb24+PiBleHByZXNzaW9uczsKLSAgICAgICAgZXhwcmVzc2lvbnMuYXBwZW5k
KFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICAgICAgZXhwcmVzc2lvbnMuYXBw
ZW5kKFdURk1vdmUoZXhwcmVzc2lvbikpOwotICAgICAgICBhdXRvIGNvbW1hRXhwcmVzc2lvbiA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpDb21tYUV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKGV4
cHJlc3Npb25zKSk7Ci0gICAgICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZShXVEZNb3ZlKHJl
c3VsdFR5cGUpKTsKLSAgICAgICAgY29tbWFFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgICAgIHJldHVybiB7eyBXVEZNb3ZlKGNvbW1hRXhwcmVz
c2lvbiksIHsgV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSB9LCBXaGljaEFuZGVyOjpUaHJl
YWRBbmRlcn19OwotICAgIH0KLSAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotfQotCi1zdGF0aWMg
T3B0aW9uYWw8QW5kZXJDYWxsQXJndW1lbnRSZXN1bHQ+IGFuZGVyQ2FsbEFyZ3VtZW50KFVuaXF1
ZVJlZjxBU1Q6OkV4cHJlc3Npb24+JiBleHByZXNzaW9uLCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRp
b24qIGFuZGVyRnVuY3Rpb24sIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJG
dW5jdGlvbikKLXsKLSAgICBpZiAoIWFuZGVyRnVuY3Rpb24gJiYgIXRocmVhZEFuZGVyRnVuY3Rp
b24pCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgYXV0byYgdW5pZnlOb2RlID0g
ZXhwcmVzc2lvbi0+cmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7Ci0gICAgaWYgKGlzPEFTVDo6
VW5uYW1lZFR5cGU+KHVuaWZ5Tm9kZSkpIHsKLSAgICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSBk
b3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICBBU1NFUlQoIWlz
PEFTVDo6UG9pbnRlclR5cGU+KHVubmFtZWRUeXBlKSk7Ci0gICAgICAgIGlmIChpczxBU1Q6OkFy
cmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAgcmV0dXJuIHt7IFdU
Rk1vdmUoZXhwcmVzc2lvbiksIFdURjo6bnVsbG9wdCwgV2hpY2hBbmRlcjo6QW5kZXIgfX07Ci0g
ICAgICAgIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpKQotICAgICAgICAgICAg
cmV0dXJuIHdyYXBBbmRlckNhbGxBcmd1bWVudDxBU1Q6Ok1ha2VBcnJheVJlZmVyZW5jZUV4cHJl
c3Npb24sIEFTVDo6QXJyYXlSZWZlcmVuY2VUeXBlPihleHByZXNzaW9uLCBkb3duY2FzdDxBU1Q6
OkFycmF5VHlwZT4odW5uYW1lZFR5cGUpLnR5cGUoKSwgYW5kZXJGdW5jdGlvbiwgdGhyZWFkQW5k
ZXJGdW5jdGlvbik7Ci0gICAgfQotICAgIHJldHVybiB3cmFwQW5kZXJDYWxsQXJndW1lbnQ8QVNU
OjpNYWtlUG9pbnRlckV4cHJlc3Npb24sIEFTVDo6UG9pbnRlclR5cGU+KGV4cHJlc3Npb24sIGV4
cHJlc3Npb24tPnJlc29sdmVkVHlwZSgpLCBhbmRlckZ1bmN0aW9uLCB0aHJlYWRBbmRlckZ1bmN0
aW9uKTsKLX0KLQotc3RhdGljIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHNldHRlckNhbGwo
QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwg
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiByZWxldmFudEFuZGVyLCBVbmlxdWVSZWY8QVNUOjpF
eHByZXNzaW9uPiYmIG5ld1ZhbHVlLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPFVuaXF1ZVJlZjxBU1Q6
OkV4cHJlc3Npb24+KCk+JiBsZWZ0VmFsdWVGYWN0b3J5LCBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b24qIGluZGV4VmFyaWFibGUpCi17Ci0gICAgYXV0byBtYXliZUFkZEluZGV4QXJndW1lbnQgPSBb
Jl0oVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiYgYXJndW1lbnRzKSB7Ci0gICAg
ICAgIGlmICghaW5kZXhWYXJpYWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYXV0
byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5j
ZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcCgqaW5kZXhWYXJpYWJsZSkpOwotICAgICAg
ICBBU1NFUlQoaW5kZXhWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UtPnNldFR5cGUoKmluZGV4VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVm
ZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1Nw
YWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQo
V1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSkpOwotICAgIH07Ci0KLSAgICBhdXRvIGxvY2F0aW9u
ID0gcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotICAgIGlmIChyZWxl
dmFudEFuZGVyKSB7Ci0gICAgICAgIC8vICpvcGVyYXRvciYuZm9vKCZ2KSA9IG5ld1ZhbHVlCi0g
ICAgICAgIGF1dG8gbGVmdFZhbHVlID0gbGVmdFZhbHVlRmFjdG9yeSgpOwotICAgICAgICBhdXRv
IGFyZ3VtZW50ID0gYW5kZXJDYWxsQXJndW1lbnQobGVmdFZhbHVlLCByZWxldmFudEFuZGVyLCBy
ZWxldmFudEFuZGVyKTsKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgQVNTRVJU
KCFhcmd1bWVudC0+dmFyaWFibGVEZWNsYXJhdGlvbik7Ci0gICAgICAgIEFTU0VSVChhcmd1bWVu
dC0+d2hpY2hBbmRlciA9PSBXaGljaEFuZGVyOjpBbmRlcik7Ci0gICAgICAgIFZlY3RvcjxVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPj4gYXJndW1lbnRzOwotICAgICAgICBhcmd1bWVudHMuYXBw
ZW5kKFdURk1vdmUoYXJndW1lbnQtPmV4cHJlc3Npb24pKTsKLSAgICAgICAgbWF5YmVBZGRJbmRl
eEFyZ3VtZW50KGFyZ3VtZW50cyk7Ci0KLSAgICAgICAgYXV0byBjYWxsRXhwcmVzc2lvbiA9IG1h
a2VVbmlxdWVSZWY8QVNUOjpDYWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0cmluZyhyZWxldmFu
dEFuZGVyLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgICAgICBjYWxsRXhwcmVz
c2lvbi0+c2V0VHlwZShyZWxldmFudEFuZGVyLT50eXBlKCkpOwotICAgICAgICBjYWxsRXhwcmVz
c2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgICAgICBjYWxs
RXhwcmVzc2lvbi0+c2V0RnVuY3Rpb24oKnJlbGV2YW50QW5kZXIpOwotCi0gICAgICAgIGF1dG8g
ZGVyZWZlcmVuY2VFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhw
cmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICAgICAgZGVy
ZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlKGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KHJl
bGV2YW50QW5kZXItPnR5cGUoKSkuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgIGRlcmVmZXJlbmNl
RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJl
c3NTcGFjZTo6VGhyZWFkIH0pOwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24g
PSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZN
b3ZlKGRlcmVmZXJlbmNlRXhwcmVzc2lvbiksIFdURk1vdmUobmV3VmFsdWUpKTsKLSAgICAgICAg
YXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4o
cmVsZXZhbnRBbmRlci0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsKLSAgICAgICAgYXNzaWdubWVu
dEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAg
ICAgICByZXR1cm4gVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4oV1RGTW92ZShhc3NpZ25tZW50
RXhwcmVzc2lvbikpOwotICAgIH0KLQotICAgIC8vIHYgPSBvcGVyYXRvci5mb289KHYsIG5ld1Zh
bHVlKQotICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24o
KSk7Ci0KLSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsK
LSAgICBhcmd1bWVudHMuYXBwZW5kKGxlZnRWYWx1ZUZhY3RvcnkoKSk7Ci0gICAgbWF5YmVBZGRJ
bmRleEFyZ3VtZW50KGFyZ3VtZW50cyk7Ci0gICAgYXJndW1lbnRzLmFwcGVuZChXVEZNb3ZlKG5l
d1ZhbHVlKSk7Ci0KLSAgICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6
OkNhbGxFeHByZXNzaW9uPihsb2NhdGlvbiwgU3RyaW5nKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lv
bi5zZXR0ZXJGdW5jdGlvbigpLT5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgIGNh
bGxFeHByZXNzaW9uLT5zZXRUeXBlKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5zZXR0ZXJGdW5j
dGlvbigpLT50eXBlKCkpOwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCpwcm9w
ZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0dGVyRnVuY3Rpb24oKSk7Ci0KLSAgICBhdXRvIGFzc2ln
bm1lbnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9u
Pihsb2NhdGlvbiwgbGVmdFZhbHVlRmFjdG9yeSgpLCBXVEZNb3ZlKGNhbGxFeHByZXNzaW9uKSk7
Ci0gICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGUocHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uLnNldHRlckZ1bmN0aW9uKCktPnR5cGUoKSk7Ci0gICAgYXNzaWdubWVudEV4cHJlc3Npb24t
PnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgIHJldHVybiBVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPihXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7Ci19
Ci0KLXN0YXRpYyBVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPiBnZXR0ZXJDYWxsKEFTVDo6UHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbiogcmVsZXZhbnRBbmRlciwgY29uc3Qgc3RkOjpmdW5jdGlvbjxVbmlx
dWVSZWY8QVNUOjpFeHByZXNzaW9uPigpPiYgbGVmdFZhbHVlRmFjdG9yeSwgQVNUOjpWYXJpYWJs
ZURlY2xhcmF0aW9uKiBpbmRleFZhcmlhYmxlKQotewotICAgIGF1dG8gbWF5YmVBZGRJbmRleEFy
Z3VtZW50ID0gWyZdKFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPj4mIGFyZ3VtZW50
cykgewotICAgICAgICBpZiAoIWluZGV4VmFyaWFibGUpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UgPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFi
bGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6OndyYXAoKmluZGV4VmFyaWFibGUp
KTsKLSAgICAgICAgQVNTRVJUKGluZGV4VmFyaWFibGUtPnR5cGUoKSk7Ci0gICAgICAgIHZhcmlh
YmxlUmVmZXJlbmNlLT5zZXRUeXBlKCppbmRleFZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICB2
YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6
OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotICAgICAgICBhcmd1bWVu
dHMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpKTsKLSAgICB9OwotCi0gICAgYXV0
byBsb2NhdGlvbiA9IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKTsKLQot
ICAgIGlmIChyZWxldmFudEFuZGVyKSB7Ci0gICAgICAgIC8vICpvcGVyYXRvciYuZm9vKCZ2KQot
ICAgICAgICBhdXRvIGxlZnRWYWx1ZSA9IGxlZnRWYWx1ZUZhY3RvcnkoKTsKLSAgICAgICAgYXV0
byBhcmd1bWVudCA9IGFuZGVyQ2FsbEFyZ3VtZW50KGxlZnRWYWx1ZSwgcmVsZXZhbnRBbmRlciwg
cmVsZXZhbnRBbmRlcik7Ci0gICAgICAgIEFTU0VSVChhcmd1bWVudCk7Ci0gICAgICAgIEFTU0VS
VCghYXJndW1lbnQtPnZhcmlhYmxlRGVjbGFyYXRpb24pOwotICAgICAgICBBU1NFUlQoYXJndW1l
bnQtPndoaWNoQW5kZXIgPT0gV2hpY2hBbmRlcjo6QW5kZXIpOwotICAgICAgICBWZWN0b3I8VW5p
cXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsKLSAgICAgICAgYXJndW1lbnRzLmFw
cGVuZChXVEZNb3ZlKGFyZ3VtZW50LT5leHByZXNzaW9uKSk7Ci0gICAgICAgIG1heWJlQWRkSW5k
ZXhBcmd1bWVudChhcmd1bWVudHMpOwotCi0gICAgICAgIGF1dG8gY2FsbEV4cHJlc3Npb24gPSBt
YWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGxvY2F0aW9uLCBTdHJpbmcocmVsZXZh
bnRBbmRlci0+bmFtZSgpKSwgV1RGTW92ZShhcmd1bWVudHMpKTsKLSAgICAgICAgY2FsbEV4cHJl
c3Npb24tPnNldFR5cGUocmVsZXZhbnRBbmRlci0+dHlwZSgpKTsKLSAgICAgICAgY2FsbEV4cHJl
c3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLSAgICAgICAgY2Fs
bEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCpyZWxldmFudEFuZGVyKTsKLQotICAgICAgICBhdXRv
IGRlcmVmZXJlbmNlRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpEZXJlZmVyZW5jZUV4
cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKGNhbGxFeHByZXNzaW9uKSk7Ci0gICAgICAgIGRl
cmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZShkb3duY2FzdDxBU1Q6OlBvaW50ZXJUeXBlPihy
ZWxldmFudEFuZGVyLT50eXBlKCkpLmVsZW1lbnRUeXBlKCkpOwotICAgICAgICBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRy
ZXNzU3BhY2U6OlRocmVhZCB9KTsKLQotICAgICAgICByZXR1cm4gVW5pcXVlUmVmPEFTVDo6RXhw
cmVzc2lvbj4oV1RGTW92ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24pKTsKLSAgICB9Ci0KLSAgICAv
LyBvcGVyYXRvci5mb28odikKLSAgICBBU1NFUlQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdl
dHRlckZ1bmN0aW9uKCkpOwotCi0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+
PiBhcmd1bWVudHM7Ci0gICAgYXJndW1lbnRzLmFwcGVuZChsZWZ0VmFsdWVGYWN0b3J5KCkpOwot
ICAgIG1heWJlQWRkSW5kZXhBcmd1bWVudChhcmd1bWVudHMpOwotCi0gICAgYXV0byBjYWxsRXhw
cmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpDYWxsRXhwcmVzc2lvbj4obG9jYXRpb24sIFN0
cmluZyhwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKS0+bmFtZSgpKSwg
V1RGTW92ZShhcmd1bWVudHMpKTsKLSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZShwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uZ2V0dGVyRnVuY3Rpb24oKS0+dHlwZSgpKTsKLSAgICBjYWxsRXhw
cmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotICAgIGNhbGxF
eHByZXNzaW9uLT5zZXRGdW5jdGlvbigqcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1
bmN0aW9uKCkpOwotCi0gICAgcmV0dXJuIFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+KFdURk1v
dmUoY2FsbEV4cHJlc3Npb24pKTsKLX0KLQotc3RydWN0IE1vZGlmeVJlc3VsdCB7Ci0gICAgQVNU
OjpFeHByZXNzaW9uJiBpbm5lckxlZnRWYWx1ZTsKLSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6
RXhwcmVzc2lvbj4+IGV4cHJlc3Npb25zOwotICAgIFZlY3RvcjxVbmlxdWVSZWY8QVNUOjpWYXJp
YWJsZURlY2xhcmF0aW9uPj4gdmFyaWFibGVEZWNsYXJhdGlvbnM7Ci19Owotc3RydWN0IE1vZGlm
aWNhdGlvblJlc3VsdCB7Ci0gICAgVmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiBl
eHByZXNzaW9uczsKLSAgICBVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPiByZXN1bHQ7Ci19Owot
c3RhdGljIE1vZGlmeVJlc3VsdCBtb2RpZnkoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24m
IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgc3RkOjpmdW5jdGlvbjxNb2RpZmljYXRpb25SZXN1
bHQoVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4mJik+IG1vZGlmaWNhdGlvbikKLXsKLSAgICAv
LyBDb25zaWRlciBhLmIuYy5kKys7Ci0gICAgLy8gVGhpcyB3b3VsZCBnZXQgdHJhbnNmb3JtZWQg
aW50bzoKLSAgICAvLwotICAgIC8vIFN0ZXAgMToKLSAgICAvLyBwID0gJmE7Ci0gICAgLy8KLSAg
ICAvLyBTdGVwIDI6Ci0gICAgLy8gcSA9IG9wZXJhdG9yLmIoKnApOwotICAgIC8vIHIgPSBvcGVy
YXRvci5jKHEpOwotICAgIC8vCi0gICAgLy8gU3RlcCAzOgotICAgIC8vIG9sZFZhbHVlID0gb3Bl
cmF0b3IuZChyKTsKLSAgICAvLyBuZXdWYWx1ZSA9IC4uLjsKLSAgICAvLwotICAgIC8vIFN0ZXAg
NDoKLSAgICAvLyByID0gb3BlcmF0b3IuZD0ociwgbmV3VmFsdWUpOwotICAgIC8vIHEgPSBvcGVy
YXRvci5jPShxLCByKTsKLSAgICAvLwotICAgIC8vIFN0ZXAgNToKLSAgICAvLyAqcCA9IG9wZXJh
dG9yLmI9KCpwLCBxKTsKLQotICAgIC8vIElmIHRoZSBleHByZXNzaW9uIGlzIGEuYi5jLmQgPSBl
LCBTdGVwIDMgZGlzYXBwZWFycyBhbmQgIm5ld1ZhbHVlIiBpbiBzdGVwIDQgYmVjb21lcyAiZSIu
Ci0gICAgCi0KLSAgICAvLyBGaW5kIHRoZSAiLmIiICIuYyIgYW5kICIuZCIgZXhwcmVzc2lvbnMu
IFRoZXkgZW5kIHVwIGluIHRoZSBvcmRlciBbIi5kIiwgIi5jIiwgIi5iIl0uCi0gICAgVmVjdG9y
PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24+PiBj
aGFpbjsKLSAgICBBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiogaXRlcmF0b3IgPSAmcHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uOwotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIGNoYWlu
LmFwcGVuZCgqaXRlcmF0b3IpOwotICAgICAgICBpZiAoaXRlcmF0b3ItPmJhc2UoKS50eXBlQW5u
b3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBBU1NFUlQoIWl0ZXJhdG9yLT5iYXNlKCkudHlwZUFubm90YXRpb24oKS5pc1JpZ2h0VmFsdWUo
KSk7Ci0gICAgICAgIGl0ZXJhdG9yID0gJmRvd25jYXN0PEFTVDo6UHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uPihpdGVyYXRvci0+YmFzZSgpKTsKLSAgICB9Ci0gICAgYXV0byBsZWZ0RXhwcmVzc2lv
biA9IGl0ZXJhdG9yLT50YWtlQmFzZSgpOwotICAgIEFTVDo6RXhwcmVzc2lvbiYgaW5uZXJMZWZ0
RXhwcmVzc2lvbiA9IGxlZnRFeHByZXNzaW9uOwotCi0gICAgLy8gQ3JlYXRlICJwIiB2YXJpYWJs
ZS4KLSAgICBhdXRvIHBvaW50ZXJWYXJpYWJsZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJs
ZURlY2xhcmF0aW9uPihsZWZ0RXhwcmVzc2lvbi0+Y29kZUxvY2F0aW9uKCksIEFTVDo6UXVhbGlm
aWVycygpLCBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUobGVmdEV4cHJlc3Npb24tPmNvZGVMb2Nh
dGlvbigpLCAqbGVmdEV4cHJlc3Npb24tPnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJlc3NTcGFj
ZSgpLCBsZWZ0RXhwcmVzc2lvbi0+cmVzb2x2ZWRUeXBlKCkpLCBTdHJpbmcoKSwgbnVsbHB0ciwg
bnVsbHB0cik7Ci0KLSAgICAvLyBDcmVhdGUgInEiIGFuZCAiciIgdmFyaWFibGVzLgotICAgIFZl
Y3RvcjxVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPj4gaW50ZXJtZWRpYXRlVmFy
aWFibGVzOwotICAgIGludGVybWVkaWF0ZVZhcmlhYmxlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KGNoYWluLnNpemUoKSAtIDEpOwotICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgY2hhaW4uc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uID0gc3Rh
dGljX2Nhc3Q8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mPihjaGFpbltpXSk7Ci0gICAg
ICAgIGludGVybWVkaWF0ZVZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQobWFrZVVuaXF1ZVJlZjxB
U1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9j
YXRpb24oKSwgQVNUOjpRdWFsaWZpZXJzKCksICZwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24ucmVz
b2x2ZWRUeXBlKCksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRyKSk7Ci0gICAgfQotCi0gICAg
Ly8gQ29uc2lkZXIgYVtmb28oKV1bYl0gPSBjOwotICAgIC8vIE5haXZlbHksIFRoaXMgd291bGQg
Z2V0IGV4cGFuZGVkIHRvOgotICAgIC8vCi0gICAgLy8gdGVtcCA9IG9wZXJhdG9yW10oYSwgZm9v
KCkpOwotICAgIC8vIHRlbXAgPSBvcGVyYXRvcltdPSh0ZW1wLCBiLCBjKTsKLSAgICAvLyBhID0g
b3BlcmF0b3JbXT0oYSwgZm9vKCksIHRlbXApOwotICAgIC8vCi0gICAgLy8gSG93ZXZlciwgaWYg
d2UgZGlkIHRoaXMsIHdlIHdvdWxkIGhhdmUgdG8gcnVuIGZvbygpIHR3aWNlLCB3aGljaCB3b3Vs
ZCBiZSBpbmNvcnJlY3QuCi0gICAgLy8gSW5zdGVhZCwgd2UgbmVlZCB0byBzYXZlIGZvbygpIGFu
ZCBiIGludG8gbW9yZSB0ZW1wb3JhcnkgdmFyaWFibGVzLgotICAgIC8vIFRoZXNlIHRlbXBvcmFy
eSB2YXJpYWJsZXMgYXJlIHBhcmFsbGVsIHRvICJjaGFpbiIgYWJvdmUsIHdpdGggbnVsbG9wdCBy
ZWZlcnJpbmcgdG8gYSBEb3RFeHByZXNzaW9uICh3aGljaCBkb2Vzbid0IGhhdmUgYW4gaW5kZXgg
dmFsdWUgdG8gc2F2ZSB0byBhIHZhcmlhYmxlKS4KLSAgICAvLwotICAgIC8vIEluc3RlYWQsIHRo
aXMgZ2V0cyBleHBhbmRlZCB0bzoKLSAgICAvLwotICAgIC8vIHAgPSAmYTsKLSAgICAvLyB0ZW1w
ID0gZm9vKCk7Ci0gICAgLy8gcSA9IG9wZXJhdG9yW10oKnAsIHRlbXApOwotICAgIC8vIHRlbXAy
ID0gYjsKLSAgICAvLyBxID0gb3BlcmF0b3JbXT0ocSwgdGVtcDIsIGMpOwotICAgIC8vICpwID0g
b3BlcmF0b3JbXT0oKnAsIHRlbXAsIHEpOwotCi0gICAgVmVjdG9yPE9wdGlvbmFsPFVuaXF1ZVJl
ZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+Pj4gaW5kZXhWYXJpYWJsZXM7Ci0gICAgaW5kZXhW
YXJpYWJsZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjaGFpbi5zaXplKCkpOwotICAgIGZvciAo
QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiA6
IGNoYWluKSB7Ci0gICAgICAgIGlmICghaXM8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbikpIHsKLSAgICAgICAgICAgIGluZGV4VmFyaWFibGVzLmFwcGVuZChX
VEY6Om51bGxvcHQpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAg
YXV0byYgaW5kZXhFeHByZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpJbmRleEV4cHJlc3Npb24+KHBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgICAgIGluZGV4VmFyaWFibGVzLnVuY2hlY2tl
ZEFwcGVuZChtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBBU1Q6OlF1YWxpZmllcnMoKSwgJmluZGV4
RXhwcmVzc2lvbi5pbmRleEV4cHJlc3Npb24oKS5yZXNvbHZlZFR5cGUoKSwgU3RyaW5nKCksIG51
bGxwdHIsIG51bGxwdHIpKTsKLSAgICB9Ci0KLSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhw
cmVzc2lvbj4+IGV4cHJlc3Npb25zOwotCi0gICAgLy8gU3RlcCAxOgotICAgIHsKLSAgICAgICAg
YXV0byBtYWtlUG9pbnRlckV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6TWFrZVBvaW50
ZXJFeHByZXNzaW9uPihpbm5lckxlZnRFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3Zl
KGxlZnRFeHByZXNzaW9uKSwgQVNUOjpBZGRyZXNzRXNjYXBlTW9kZTo6RG9lc05vdEVzY2FwZSk7
Ci0gICAgICAgIG1ha2VQb2ludGVyRXhwcmVzc2lvbi0+c2V0VHlwZShBU1Q6OlBvaW50ZXJUeXBl
OjpjcmVhdGUoaW5uZXJMZWZ0RXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgKmlubmVyTGVmdEV4
cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCksIGlubmVyTGVmdEV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpKTsKLSAgICAgICAgbWFrZVBvaW50ZXJFeHByZXNzaW9u
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgYXV0byB2
YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4o
QVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAg
QVNTRVJUKHBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVu
Y2UtPnNldFR5cGUoKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVS
ZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNz
U3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICBhdXRvIGFzc2lnbm1l
bnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihp
bm5lckxlZnRFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJl
bmNlKSwgV1RGTW92ZShtYWtlUG9pbnRlckV4cHJlc3Npb24pKTsKLSAgICAgICAgYXNzaWdubWVu
dEV4cHJlc3Npb24tPnNldFR5cGUoKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAg
YXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgp
KTsKLQotICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50RXhwcmVz
c2lvbikpOwotICAgIH0KLQotICAgIC8vIFN0ZXAgMjoKLSAgICBBU1Q6OlZhcmlhYmxlRGVjbGFy
YXRpb24qIHByZXZpb3VzID0gbnVsbHB0cjsKLSAgICBhdXRvIHByZXZpb3VzTGVmdFZhbHVlID0g
WyZdKCkgLT4gVW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4gewotICAgICAgICBpZiAocHJldmlv
dXMpIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UgPSBtYWtlVW5pcXVlUmVm
PEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6OndyYXAoKnBy
ZXZpb3VzKSk7Ci0gICAgICAgICAgICBBU1NFUlQocHJldmlvdXMtPnR5cGUoKSk7Ci0gICAgICAg
ICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZSgqcHJldmlvdXMtPnR5cGUoKSk7Ci0gICAg
ICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFs
dWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotICAgICAg
ICAgICAgcmV0dXJuIHZhcmlhYmxlUmVmZXJlbmNlOwotICAgICAgICB9Ci0KLSAgICAgICAgYXV0
byB2YXJpYWJsZVJlZmVyZW5jZSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5j
ZT4oQVNUOjpWYXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAg
ICAgQVNTRVJUKHBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFibGVSZWZl
cmVuY2UtPnNldFR5cGUoKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAgdmFyaWFi
bGVSZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRy
ZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICBhdXRvIGRlcmVm
ZXJlbmNlRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Np
b24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgV1RGTW92ZSh2YXJp
YWJsZVJlZmVyZW5jZSkpOwotICAgICAgICBBU1NFUlQocG9pbnRlclZhcmlhYmxlLT50eXBlKCkp
OwotICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQ
b2ludGVyVHlwZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsKLSAg
ICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KCpwb2ludGVyVmFyaWFibGUtPnR5cGUo
KSkuYWRkcmVzc1NwYWNlKCkgfSk7Ci0gICAgICAgIHJldHVybiBkZXJlZmVyZW5jZUV4cHJlc3Np
b247Ci0gICAgfTsKLSAgICBhdXRvIGFwcGVuZEluZGV4QXNzaWdubWVudCA9IFsmXShBU1Q6OlBy
b3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBPcHRpb25h
bDxVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPj4mIGluZGV4VmFyaWFibGUpIHsK
LSAgICAgICAgaWYgKCFpbmRleFZhcmlhYmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIGF1dG8mIGluZGV4RXhwcmVzc2lvbiA9IGRvd25jYXN0PEFTVDo6SW5kZXhFeHByZXNzaW9u
Pihwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pOwotCi0gICAgICAgIGF1dG8gdmFyaWFibGVSZWZl
cmVuY2UgPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFi
bGVSZWZlcmVuY2U6OndyYXAoKmluZGV4VmFyaWFibGUpKTsKLSAgICAgICAgQVNTRVJUKGluZGV4
VmFyaWFibGUtPmdldCgpLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRU
eXBlKCppbmRleFZhcmlhYmxlLT5nZXQoKS50eXBlKCkpOwotICAgICAgICB2YXJpYWJsZVJlZmVy
ZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFj
ZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgIGF1dG8gYXNzaWdubWVudEV4
cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24+KHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24oKSwgV1RGTW92ZSh2YXJpYWJsZVJlZmVy
ZW5jZSksIGluZGV4RXhwcmVzc2lvbi50YWtlSW5kZXgoKSk7Ci0gICAgICAgIGFzc2lnbm1lbnRF
eHByZXNzaW9uLT5zZXRUeXBlKCppbmRleFZhcmlhYmxlLT5nZXQoKS50eXBlKCkpOwotICAgICAg
ICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVl
KCkpOwotCi0gICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHBy
ZXNzaW9uKSk7Ci0gICAgfTsKLSAgICBmb3IgKHNpemVfdCBpID0gY2hhaW4uc2l6ZSgpOyAtLWk7
ICkgewotICAgICAgICBBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uID0gY2hhaW5baV07Ci0gICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlv
biYgdmFyaWFibGVEZWNsYXJhdGlvbiA9IGludGVybWVkaWF0ZVZhcmlhYmxlc1tpIC0gMV07Ci0g
ICAgICAgIE9wdGlvbmFsPFVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24+PiYgaW5k
ZXhWYXJpYWJsZSA9IGluZGV4VmFyaWFibGVzW2ldOwotCi0gICAgICAgIGFwcGVuZEluZGV4QXNz
aWdubWVudChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIGluZGV4VmFyaWFibGUpOwotCi0gICAg
ICAgIEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiogcmVsZXZhbnRBbmRlciA9IGkgPT0gY2hhaW4u
c2l6ZSgpIC0gMSA/IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkgOiBw
cm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpOwotICAgICAgICBh
dXRvIGNhbGxFeHByZXNzaW9uID0gZ2V0dGVyQ2FsbChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24s
IHJlbGV2YW50QW5kZXIsIHByZXZpb3VzTGVmdFZhbHVlLCBpbmRleFZhcmlhYmxlID8gJippbmRl
eFZhcmlhYmxlIDogbnVsbHB0cik7Ci0KLSAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZSA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpWYXJpYWJsZVJlZmVy
ZW5jZTo6d3JhcCh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgIEFTU0VSVCh2YXJpYWJs
ZURlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBl
KCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSk7Ci0gICAgICAgIHZhcmlhYmxlUmVmZXJlbmNl
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpU
aHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgYXV0byBhc3NpZ25tZW50RXhwcmVz
c2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4ocHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNl
KSwgV1RGTW92ZShjYWxsRXhwcmVzc2lvbikpOwotICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lv
bi0+c2V0VHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICBhc3NpZ25t
ZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0g
ICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNzaW9uKSk7
Ci0KLSAgICAgICAgcHJldmlvdXMgPSAmdmFyaWFibGVEZWNsYXJhdGlvbjsKLSAgICB9Ci0gICAg
YXBwZW5kSW5kZXhBc3NpZ25tZW50KGNoYWluWzBdLCBpbmRleFZhcmlhYmxlc1swXSk7Ci0gICAg
QVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKiByZWxldmFudEFuZGVyID0gY2hhaW4uc2l6ZSgpID09
IDEgPyBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYW5kZXJGdW5jdGlvbigpIDogcHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uLnRocmVhZEFuZGVyRnVuY3Rpb24oKTsKLSAgICBhdXRvIGxhc3RHZXR0
ZXJDYWxsRXhwcmVzc2lvbiA9IGdldHRlckNhbGwoY2hhaW5bMF0sIHJlbGV2YW50QW5kZXIsIHBy
ZXZpb3VzTGVmdFZhbHVlLCBpbmRleFZhcmlhYmxlc1swXSA/ICYqKGluZGV4VmFyaWFibGVzWzBd
KSA6IG51bGxwdHIpOwotCi0gICAgLy8gU3RlcCAzOgotICAgIGF1dG8gbW9kaWZpY2F0aW9uUmVz
dWx0ID0gbW9kaWZpY2F0aW9uKFdURk1vdmUobGFzdEdldHRlckNhbGxFeHByZXNzaW9uKSk7Ci0g
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtb2RpZmljYXRpb25SZXN1bHQuZXhwcmVzc2lvbnMu
c2l6ZSgpOyArK2kpCi0gICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKG1vZGlmaWNh
dGlvblJlc3VsdC5leHByZXNzaW9uc1tpXSkpOwotCi0gICAgLy8gU3RlcCA0OgotICAgIFVuaXF1
ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHJpZ2h0VmFsdWUgPSBXVEZNb3ZlKG1vZGlmaWNhdGlvblJl
c3VsdC5yZXN1bHQpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2hhaW4uc2l6ZSgpIC0g
MTsgKytpKSB7Ci0gICAgICAgIEFTVDo6UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24gPSBjaGFpbltpXTsKLSAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xh
cmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uID0gaW50ZXJtZWRpYXRlVmFyaWFibGVzW2ldOwot
ICAgICAgICBPcHRpb25hbDxVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPj4mIGlu
ZGV4VmFyaWFibGUgPSBpbmRleFZhcmlhYmxlc1tpXTsKLQotICAgICAgICBhdXRvIGFzc2lnbm1l
bnRFeHByZXNzaW9uID0gc2V0dGVyQ2FsbChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi50aHJlYWRBbmRlckZ1bmN0aW9uKCksIFdURk1vdmUocmlnaHRW
YWx1ZSksIFsmXSgpIC0+IFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHsKLSAgICAgICAgICAg
IGF1dG8gdmFyaWFibGVSZWZlcmVuY2UgPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZl
cmVuY2U+KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6OndyYXAodmFyaWFibGVEZWNsYXJhdGlvbikp
OwotICAgICAgICAgICAgQVNTRVJUKHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAg
ICAgICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5
cGUoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24o
QVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJp
Z2h0PwotICAgICAgICAgICAgcmV0dXJuIHZhcmlhYmxlUmVmZXJlbmNlOwotICAgICAgICB9LCBp
bmRleFZhcmlhYmxlID8gJippbmRleFZhcmlhYmxlIDogbnVsbHB0cik7Ci0KLSAgICAgICAgZXhw
cmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLQotICAgICAg
ICByaWdodFZhbHVlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlZhcmlhYmxlUmVmZXJlbmNlPihBU1Q6
OlZhcmlhYmxlUmVmZXJlbmNlOjp3cmFwKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAg
QVNTRVJUKHZhcmlhYmxlRGVjbGFyYXRpb24udHlwZSgpKTsKLSAgICAgICAgcmlnaHRWYWx1ZS0+
c2V0VHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICByaWdodFZhbHVl
LT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpU
aHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0gICAgfQotCi0gICAgLy8gU3RlcCA1OgotICAgIHsK
LSAgICAgICAgQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbiA9IGNoYWluW2NoYWluLnNpemUoKSAtIDFdOwotICAgICAgICBhdXRvIGFzc2lnbm1l
bnRFeHByZXNzaW9uID0gc2V0dGVyQ2FsbChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sIHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCksIFdURk1vdmUocmlnaHRWYWx1ZSks
IFsmXSgpIC0+IFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+IHsKLSAgICAgICAgICAgIGF1dG8g
dmFyaWFibGVSZWZlcmVuY2UgPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+
KEFTVDo6VmFyaWFibGVSZWZlcmVuY2U6OndyYXAocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgICAg
ICAgICBBU1NFUlQocG9pbnRlclZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICAgICAgdmFyaWFi
bGVSZWZlcmVuY2UtPnNldFR5cGUoKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7
IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAg
ICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVm
ZXJlbmNlRXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigp
LCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSk7Ci0gICAgICAgICAgICBBU1NFUlQocG9pbnRl
clZhcmlhYmxlLT50eXBlKCkpOwotICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5z
ZXRUeXBlKGRvd25jYXN0PEFTVDo6UG9pbnRlclR5cGU+KCpwb2ludGVyVmFyaWFibGUtPnR5cGUo
KSkuZWxlbWVudFR5cGUoKSk7Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlw
ZT4oKnBvaW50ZXJWYXJpYWJsZS0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9KTsKLSAgICAgICAg
ICAgIHJldHVybiBkZXJlZmVyZW5jZUV4cHJlc3Npb247Ci0gICAgICAgIH0sIGluZGV4VmFyaWFi
bGVzW2luZGV4VmFyaWFibGVzLnNpemUoKSAtIDFdID8gJiooaW5kZXhWYXJpYWJsZXNbaW5kZXhW
YXJpYWJsZXMuc2l6ZSgpIC0gMV0pIDogbnVsbHB0cik7Ci0KLSAgICAgICAgZXhwcmVzc2lvbnMu
YXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4cHJlc3Npb24pKTsKLSAgICB9Ci0KLSAgICBWZWN0
b3I8VW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4+IHZhcmlhYmxlRGVjbGFyYXRp
b25zOwotICAgIHZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3ZlKHBvaW50ZXJWYXJp
YWJsZSkpOwotICAgIGZvciAoYXV0byYgaW50ZXJtZWRpYXRlVmFyaWFibGUgOiBpbnRlcm1lZGlh
dGVWYXJpYWJsZXMpCi0gICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25zLmFwcGVuZChXVEZNb3Zl
KGludGVybWVkaWF0ZVZhcmlhYmxlKSk7Ci0gICAgZm9yIChhdXRvJiBpbmRleFZhcmlhYmxlIDog
aW5kZXhWYXJpYWJsZXMpIHsKLSAgICAgICAgaWYgKGluZGV4VmFyaWFibGUpCi0gICAgICAgICAg
ICB2YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZSgqaW5kZXhWYXJpYWJsZSkpOwot
ICAgIH0KLQotICAgIHJldHVybiB7IGlubmVyTGVmdEV4cHJlc3Npb24sIFdURk1vdmUoZXhwcmVz
c2lvbnMpLCBXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb25zKSB9OwotfQotCi12b2lkIFByb3Bl
cnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6QXNzaWdubWVudEV4cHJlc3Npb24mIGFzc2lnbm1lbnRF
eHByZXNzaW9uKQotewotICAgIGlmIChhc3NpZ25tZW50RXhwcmVzc2lvbi5sZWZ0KCkudHlwZUFu
bm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsKLSAgICAgICAgc2ltcGxpZnlMZWZ0VmFs
dWUoYXNzaWdubWVudEV4cHJlc3Npb24ubGVmdCgpKTsKLSAgICAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotICAgIEFTU0VSVCghYXNzaWdubWVudEV4cHJlc3Npb24ubGVmdCgpLnR5cGVBbm5vdGF0aW9u
KCkuaXNSaWdodFZhbHVlKCkpOwotCi0gICAgUmVmPEFTVDo6VW5uYW1lZFR5cGU+IHR5cGUgPSBh
c3NpZ25tZW50RXhwcmVzc2lvbi5yaWdodCgpLnJlc29sdmVkVHlwZSgpOwotCi0gICAgY2hlY2tF
cnJvckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLnJpZ2h0KCkpOwotCi0gICAgYXV0byBt
b2RpZnlSZXN1bHQgPSBtb2RpZnkoZG93bmNhc3Q8QVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24+KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSksIFsmXShVbmlxdWVSZWY8QVNUOjpFeHBy
ZXNzaW9uPiYmKSAtPiBNb2RpZmljYXRpb25SZXN1bHQgewotICAgICAgICByZXR1cm4geyBWZWN0
b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+KCksIGFzc2lnbm1lbnRFeHByZXNzaW9uLnRh
a2VSaWdodCgpIH07Ci0gICAgfSk7Ci0KLSAgICBzaW1wbGlmeUxlZnRWYWx1ZShtb2RpZnlSZXN1
bHQuaW5uZXJMZWZ0VmFsdWUpOwotCi0gICAgYXV0byBsb2NhdGlvbiA9IGFzc2lnbm1lbnRFeHBy
ZXNzaW9uLmNvZGVMb2NhdGlvbigpOwotICAgIGF1dG8qIGNvbW1hRXhwcmVzc2lvbiA9IEFTVDo6
cmVwbGFjZVdpdGg8QVNUOjpDb21tYUV4cHJlc3Npb24+KGFzc2lnbm1lbnRFeHByZXNzaW9uLCBs
b2NhdGlvbiwgV1RGTW92ZShtb2RpZnlSZXN1bHQuZXhwcmVzc2lvbnMpKTsKLSAgICBjb21tYUV4
cHJlc3Npb24tPnNldFR5cGUoV1RGTW92ZSh0eXBlKSk7Ci0gICAgY29tbWFFeHByZXNzaW9uLT5z
ZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICBmb3IgKGF1dG8mIHZh
cmlhYmxlRGVjbGFyYXRpb24gOiBtb2RpZnlSZXN1bHQudmFyaWFibGVEZWNsYXJhdGlvbnMpCi0g
ICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVEZWNs
YXJhdGlvbikpOwotfQotCi12b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6UmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbikKLXsKLSAgICBj
aGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYWx1ZUV4cHJl
c3Npb24oKSk7Ci0gICAgaWYgKGhhc0Vycm9yKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1
dG8gbG9jYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmNvZGVMb2NhdGlvbigpOwot
ICAgIGF1dG8gbGVmdFZhbHVlTG9jYXRpb24gPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLmNvZGVMb2NhdGlvbigpOwotCi0gICAgaWYgKHJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24ubGVmdFZhbHVlKCkudHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCkpIHsK
LSAgICAgICAgLy8gQ29uc2lkZXIgYSsrOwotICAgICAgICAvLyBUaGlzIHdvdWxkIGdldCB0cmFu
c2Zvcm1lZCBpbnRvOgotICAgICAgICAvLwotICAgICAgICAvLyBwID0gJmE7Ci0gICAgICAgIC8v
IG9sZFZhbHVlID0gKnA7Ci0gICAgICAgIC8vIG5ld1ZhbHVlID0gLi4uOwotICAgICAgICAvLyAq
cCA9IG5ld1ZhbHVlOwotCi0gICAgICAgIHNpbXBsaWZ5TGVmdFZhbHVlKHJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwotCi0gICAgICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBl
PiBiYXNlVHlwZSA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2
ZWRUeXBlKCk7Ci0gICAgICAgIFJlZjxBU1Q6OlVubmFtZWRUeXBlPiBwb2ludGVyVHlwZSA9IEFT
VDo6UG9pbnRlclR5cGU6OmNyZWF0ZShsZWZ0VmFsdWVMb2NhdGlvbiwgKnJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkudHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNl
KCksIGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0KLSAgICAgICAgYXV0byBwb2ludGVyVmFyaWFibGUg
PSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obGVmdFZhbHVlTG9jYXRp
b24sIEFTVDo6UXVhbGlmaWVycygpLCBwb2ludGVyVHlwZS5jb3B5UmVmKCksIFN0cmluZygpLCBu
dWxscHRyLCBudWxscHRyKTsKLQotICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVz
c2lvbj4+IGV4cHJlc3Npb25zOwotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gbWFrZVBv
aW50ZXJFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6Ok1ha2VQb2ludGVyRXhwcmVzc2lv
bj4obGVmdFZhbHVlTG9jYXRpb24sIHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24udGFrZUxlZnRW
YWx1ZSgpLCBBU1Q6OkFkZHJlc3NFc2NhcGVNb2RlOjpEb2VzTm90RXNjYXBlKTsKLSAgICAgICAg
ICAgIG1ha2VQb2ludGVyRXhwcmVzc2lvbi0+c2V0VHlwZShwb2ludGVyVHlwZS5jb3B5UmVmKCkp
OwotICAgICAgICAgICAgbWFrZVBvaW50ZXJFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihB
U1Q6OlJpZ2h0VmFsdWUoKSk7Ci0KLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2Ug
PSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFibGVSZWZl
cmVuY2U6OndyYXAocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVy
ZW5jZS0+c2V0VHlwZShwb2ludGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFi
bGVSZWZlcmVuY2UtPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRy
ZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBh
c3NpZ25tZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVz
c2lvbj4obGVmdFZhbHVlTG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZN
b3ZlKG1ha2VQb2ludGVyRXhwcmVzc2lvbikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJl
c3Npb24tPnNldFR5cGUocG9pbnRlclR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGFzc2ln
bm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0K
LSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNz
aW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxl
UmVmZXJlbmNlMSA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZVJlZmVyZW5jZT4oQVNUOjpW
YXJpYWJsZVJlZmVyZW5jZTo6d3JhcChwb2ludGVyVmFyaWFibGUpKTsKLSAgICAgICAgICAgIHZh
cmlhYmxlUmVmZXJlbmNlMS0+c2V0VHlwZShwb2ludGVyVHlwZS5jb3B5UmVmKCkpOwotICAgICAg
ICAgICAgdmFyaWFibGVSZWZlcmVuY2UxLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1
ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAg
ICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRl
cmVmZXJlbmNlRXhwcmVzc2lvbj4obG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2Ux
KSk7Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUu
Y29weVJlZigpKTsKLSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lvbi0+c2V0VHlwZUFu
bm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJ
cyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlMiA9IHJl
YWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ub2xkVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAg
ICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UyLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRW
YWx1ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAg
ICAgICAgICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6
QXNzaWdubWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNl
MiksIFdURk1vdmUoZGVyZWZlcmVuY2VFeHByZXNzaW9uKSk7Ci0gICAgICAgICAgICBhc3NpZ25t
ZW50RXhwcmVzc2lvbi0+c2V0VHlwZShiYXNlVHlwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAg
YXNzaWdubWVudEV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgp
KTsKLQotICAgICAgICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKFdURk1vdmUoYXNzaWdubWVudEV4
cHJlc3Npb24pKTsKLSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFy
aWFibGVSZWZlcmVuY2UgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxlUmVm
ZXJlbmNlKCk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZShiYXNlVHlw
ZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGVBbm5v
dGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8g
RklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMg
dGhpcyByaWdodD8KLQotICAgICAgICAgICAgYXV0byBuZXdWYWx1ZUV4cHJlc3Npb24gPSByZWFk
TW9kaWZ5V3JpdGVFeHByZXNzaW9uLnRha2VOZXdWYWx1ZUV4cHJlc3Npb24oKTsKLSAgICAgICAg
ICAgIGF1dG8gYXNzaWdubWVudEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6QXNzaWdu
bWVudEV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSwgV1RG
TW92ZShuZXdWYWx1ZUV4cHJlc3Npb24pKTsKLSAgICAgICAgICAgIGFzc2lnbm1lbnRFeHByZXNz
aW9uLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50
RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAg
ICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikp
OwotICAgICAgICB9Ci0KLSAgICAgICAgewotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVy
ZW5jZTEgPSBtYWtlVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVSZWZlcmVuY2U+KEFTVDo6VmFyaWFi
bGVSZWZlcmVuY2U6OndyYXAocG9pbnRlclZhcmlhYmxlKSk7Ci0gICAgICAgICAgICB2YXJpYWJs
ZVJlZmVyZW5jZTEtPnNldFR5cGUocG9pbnRlclR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAg
IHZhcmlhYmxlUmVmZXJlbmNlMS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBB
U1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAg
ICBhdXRvIGRlcmVmZXJlbmNlRXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpEZXJlZmVy
ZW5jZUV4cHJlc3Npb24+KGxvY2F0aW9uLCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlMSkpOwot
ICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlKGJhc2VUeXBlLmNvcHlS
ZWYoKSk7Ci0gICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0
aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklY
TUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhp
cyByaWdodD8KLQotICAgICAgICAgICAgYXV0byB2YXJpYWJsZVJlZmVyZW5jZTIgPSByZWFkTW9k
aWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0gICAgICAgICAgICB2
YXJpYWJsZVJlZmVyZW5jZTItPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAgICAgICAg
ICAgIHZhcmlhYmxlUmVmZXJlbmNlMi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0VmFsdWUg
eyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0gICAgICAg
ICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2ln
bm1lbnRFeHByZXNzaW9uPihsb2NhdGlvbiwgV1RGTW92ZShkZXJlZmVyZW5jZUV4cHJlc3Npb24p
LCBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlMikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4
cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGFzc2ln
bm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7Ci0K
LSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2lnbm1lbnRFeHByZXNz
aW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBhdXRvIHJlc3VsdEV4cHJlc3Npb24gPSByZWFk
TW9kaWZ5V3JpdGVFeHByZXNzaW9uLnRha2VSZXN1bHRFeHByZXNzaW9uKCk7Ci0gICAgICAgIFJl
ZjxBU1Q6OlVubmFtZWRUeXBlPiB0eXBlID0gcmVzdWx0RXhwcmVzc2lvbi0+cmVzb2x2ZWRUeXBl
KCk7Ci0gICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKHJlc3VsdEV4cHJlc3Npb24p
KTsKLQotICAgICAgICBVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBvbGRWYXJp
YWJsZURlY2xhcmF0aW9uID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlT2xkVmFsdWUo
KTsKLSAgICAgICAgVW5pcXVlUmVmPEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbj4gbmV3VmFyaWFi
bGVEZWNsYXJhdGlvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24udGFrZU5ld1ZhbHVlKCk7
Ci0KLSAgICAgICAgYXV0byogY29tbWFFeHByZXNzaW9uID0gQVNUOjpyZXBsYWNlV2l0aDxBU1Q6
OkNvbW1hRXhwcmVzc2lvbj4ocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiwgbG9jYXRpb24sIFdU
Rk1vdmUoZXhwcmVzc2lvbnMpKTsKLSAgICAgICAgY29tbWFFeHByZXNzaW9uLT5zZXRUeXBlKFdU
Rk1vdmUodHlwZSkpOwotICAgICAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9u
KEFTVDo6UmlnaHRWYWx1ZSgpKTsKLQotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFyYXRpb25zLmFw
cGVuZChXVEZNb3ZlKHBvaW50ZXJWYXJpYWJsZSkpOwotICAgICAgICBtX3ZhcmlhYmxlRGVjbGFy
YXRpb25zLmFwcGVuZChXVEZNb3ZlKG9sZFZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAg
bV92YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZShuZXdWYXJpYWJsZURlY2xhcmF0
aW9uKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlQoIXJlYWRNb2RpZnlX
cml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkudHlwZUFubm90YXRpb24oKS5pc1JpZ2h0VmFsdWUo
KSk7Ci0gICAgaWYgKCFpczxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4ocmVhZE1vZGlm
eVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSkpIHsKLSAgICAgICAgc2V0RXJyb3IoRXJyb3Io
IkJhc2Ugb2YgcmVhZCBtb2RpZnkgd3JpdGUgZXhwcmVzc2lvbiBpcyBhIHJpZ2h0LXZhbHVlLiIs
IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkuY29kZUxvY2F0aW9uKCkpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBhdXRvIG1vZGlmeVJlc3VsdCA9IG1vZGlmeShk
b3duY2FzdDxBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj4ocmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5sZWZ0VmFsdWUoKSksIFsmXShVbmlxdWVSZWY8QVNUOjpFeHByZXNzaW9uPiYmIGxh
c3RHZXR0ZXJDYWxsRXhwcmVzc2lvbikgLT4gTW9kaWZpY2F0aW9uUmVzdWx0IHsKLSAgICAgICAg
VmVjdG9yPFVuaXF1ZVJlZjxBU1Q6OkV4cHJlc3Npb24+PiBleHByZXNzaW9uczsKLQotICAgICAg
ICB7Ci0gICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gcmVhZE1vZGlmeVdyaXRl
RXhwcmVzc2lvbi5vbGRWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgICAgICAgICAgdmFyaWFibGVS
ZWZlcmVuY2UtPnNldFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5y
ZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFu
bm90YXRpb24oQVNUOjpMZWZ0VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJ
cyB0aGlzIHJpZ2h0PwotCi0gICAgICAgICAgICBhdXRvIGFzc2lnbm1lbnRFeHByZXNzaW9uID0g
bWFrZVVuaXF1ZVJlZjxBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uPihsZWZ0VmFsdWVMb2NhdGlv
biwgV1RGTW92ZSh2YXJpYWJsZVJlZmVyZW5jZSksIFdURk1vdmUobGFzdEdldHRlckNhbGxFeHBy
ZXNzaW9uKSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZShyZWFk
TW9kaWZ5V3JpdGVFeHByZXNzaW9uLmxlZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKTsKLSAgICAg
ICAgICAgIGFzc2lnbm1lbnRFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0
VmFsdWUoKSk7Ci0KLSAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChXVEZNb3ZlKGFzc2ln
bm1lbnRFeHByZXNzaW9uKSk7Ci0gICAgICAgIH0KLQotICAgICAgICB7Ci0gICAgICAgICAgICBh
dXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYXJp
YWJsZVJlZmVyZW5jZSgpOwotICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUo
cmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSk7Ci0g
ICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZS0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpMZWZ0
VmFsdWUgeyBBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkIH0pOyAvLyBGSVhNRTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2OSBJcyB0aGlzIHJpZ2h0PwotCi0g
ICAgICAgICAgICBhdXRvIG5ld1ZhbHVlRXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24udGFrZU5ld1ZhbHVlRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgYXV0byBhc3NpZ25t
ZW50RXhwcmVzc2lvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpBc3NpZ25tZW50RXhwcmVzc2lvbj4o
bGVmdFZhbHVlTG9jYXRpb24sIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2UpLCBXVEZNb3ZlKG5l
d1ZhbHVlRXhwcmVzc2lvbikpOwotICAgICAgICAgICAgYXNzaWdubWVudEV4cHJlc3Npb24tPnNl
dFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUo
KSk7Ci0gICAgICAgICAgICBhc3NpZ25tZW50RXhwcmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24o
QVNUOjpSaWdodFZhbHVlKCkpOwotCi0gICAgICAgICAgICBleHByZXNzaW9ucy5hcHBlbmQoV1RG
TW92ZShhc3NpZ25tZW50RXhwcmVzc2lvbikpOwotICAgICAgICB9Ci0KLSAgICAgICAgYXV0byB2
YXJpYWJsZVJlZmVyZW5jZSA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubmV3VmFyaWFibGVS
ZWZlcmVuY2UoKTsKLSAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUocmVhZE1vZGlm
eVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgICAgIHZh
cmlhYmxlUmVmZXJlbmNlLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFTVDo6
QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/Ci0KLSAgICAgICAgcmV0dXJu
IHsgV1RGTW92ZShleHByZXNzaW9ucyksICBXVEZNb3ZlKHZhcmlhYmxlUmVmZXJlbmNlKSB9Owot
ICAgIH0pOwotCi0gICAgc2ltcGxpZnlMZWZ0VmFsdWUobW9kaWZ5UmVzdWx0LmlubmVyTGVmdFZh
bHVlKTsKLQotICAgIGF1dG8gcmVzdWx0RXhwcmVzc2lvbiA9IHJlYWRNb2RpZnlXcml0ZUV4cHJl
c3Npb24udGFrZVJlc3VsdEV4cHJlc3Npb24oKTsKLSAgICBSZWY8QVNUOjpVbm5hbWVkVHlwZT4g
dHlwZSA9IHJlc3VsdEV4cHJlc3Npb24tPnJlc29sdmVkVHlwZSgpOwotICAgIG1vZGlmeVJlc3Vs
dC5leHByZXNzaW9ucy5hcHBlbmQoV1RGTW92ZShyZXN1bHRFeHByZXNzaW9uKSk7Ci0KLSAgICBV
bmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBvbGRWYXJpYWJsZURlY2xhcmF0aW9u
ID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlT2xkVmFsdWUoKTsKLSAgICBVbmlxdWVS
ZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPiBuZXdWYXJpYWJsZURlY2xhcmF0aW9uID0gcmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi50YWtlTmV3VmFsdWUoKTsKLQotICAgIGF1dG8qIGNvbW1h
RXhwcmVzc2lvbiA9IEFTVDo6cmVwbGFjZVdpdGg8QVNUOjpDb21tYUV4cHJlc3Npb24+KHJlYWRN
b2RpZnlXcml0ZUV4cHJlc3Npb24sIGxvY2F0aW9uLCBXVEZNb3ZlKG1vZGlmeVJlc3VsdC5leHBy
ZXNzaW9ucykpOwotICAgIGNvbW1hRXhwcmVzc2lvbi0+c2V0VHlwZShXVEZNb3ZlKHR5cGUpKTsK
LSAgICBjb21tYUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgp
KTsKLQotICAgIGZvciAoYXV0byYgdmFyaWFibGVEZWNsYXJhdGlvbiA6IG1vZGlmeVJlc3VsdC52
YXJpYWJsZURlY2xhcmF0aW9ucykKLSAgICAgICAgbV92YXJpYWJsZURlY2xhcmF0aW9ucy5hcHBl
bmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgbV92YXJpYWJsZURlY2xhcmF0
aW9ucy5hcHBlbmQoV1RGTW92ZShvbGRWYXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgbV92YXJp
YWJsZURlY2xhcmF0aW9ucy5hcHBlbmQoV1RGTW92ZShuZXdWYXJpYWJsZURlY2xhcmF0aW9uKSk7
Ci19Ci0KLXN0YXRpYyBPcHRpb25hbDxBbmRlckNhbGxBcmd1bWVudFJlc3VsdD4gYW5kZXJDYWxs
QXJndW1lbnQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbikKLXsKLSAgICByZXR1cm4gYW5kZXJDYWxsQXJndW1lbnQocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uLmJhc2VSZWZlcmVuY2UoKSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVy
RnVuY3Rpb24oKSwgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLnRocmVhZEFuZGVyRnVuY3Rpb24o
KSk7Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6c2ltcGxpZnlSaWdodFZhbHVlKEFTVDo6
UHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uJiBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24pCi17Ci0g
ICAgYXV0byBsb2NhdGlvbiA9IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5jb2RlTG9jYXRpb24o
KTsKLQotICAgIGNoZWNrRXJyb3JBbmRWaXNpdChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFz
ZSgpKTsKLQotICAgIGlmIChhdXRvIGFyZ3VtZW50ID0gYW5kZXJDYWxsQXJndW1lbnQocHJvcGVy
dHlBY2Nlc3NFeHByZXNzaW9uKSkgewotICAgICAgICBhdXRvKiBhbmRlckZ1bmN0aW9uID0gYXJn
dW1lbnQtPndoaWNoQW5kZXIgPT0gV2hpY2hBbmRlcjo6VGhyZWFkQW5kZXIgPyBwcm9wZXJ0eUFj
Y2Vzc0V4cHJlc3Npb24udGhyZWFkQW5kZXJGdW5jdGlvbigpIDogcHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLmFuZGVyRnVuY3Rpb24oKTsKLSAgICAgICAgQVNTRVJUKGFuZGVyRnVuY3Rpb24pOwot
ICAgICAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lvbj4+IGFyZ3VtZW50czsKLSAg
ICAgICAgYXJndW1lbnRzLmFwcGVuZChXVEZNb3ZlKGFyZ3VtZW50LT5leHByZXNzaW9uKSk7Ci0g
ICAgICAgIGlmIChpczxBU1Q6OkluZGV4RXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uKSkKLSAgICAgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoZG93bmNhc3Q8QVNUOjpJbmRleEV4
cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikudGFrZUluZGV4KCkpOwotICAgICAg
ICBhdXRvIGNhbGxFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkNhbGxFeHByZXNzaW9u
Pihsb2NhdGlvbiwgU3RyaW5nKGFuZGVyRnVuY3Rpb24tPm5hbWUoKSksIFdURk1vdmUoYXJndW1l
bnRzKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlKGFuZGVyRnVuY3Rpb24tPnR5
cGUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJp
Z2h0VmFsdWUoKSk7Ci0gICAgICAgIGNhbGxFeHByZXNzaW9uLT5zZXRGdW5jdGlvbigqYW5kZXJG
dW5jdGlvbik7Ci0KLSAgICAgICAgYXV0byogZGVyZWZlcmVuY2VFeHByZXNzaW9uID0gQVNUOjpy
ZXBsYWNlV2l0aDxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4ocHJvcGVydHlBY2Nlc3NFeHBy
ZXNzaW9uLCBsb2NhdGlvbiwgV1RGTW92ZShjYWxsRXhwcmVzc2lvbikpOwotICAgICAgICBkZXJl
ZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5k
ZXJGdW5jdGlvbi0+dHlwZSgpKS5lbGVtZW50VHlwZSgpKTsKLSAgICAgICAgZGVyZWZlcmVuY2VF
eHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IGRvd25jYXN0PEFT
VDo6UG9pbnRlclR5cGU+KGFuZGVyRnVuY3Rpb24tPnR5cGUoKSkuYWRkcmVzc1NwYWNlKCkgfSk7
Ci0KLSAgICAgICAgaWYgKGF1dG8mIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBhcmd1bWVudC0+dmFy
aWFibGVEZWNsYXJhdGlvbikKLSAgICAgICAgICAgIG1fdmFyaWFibGVEZWNsYXJhdGlvbnMuYXBw
ZW5kKFdURk1vdmUoKnZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLQotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgQVNTRVJUKHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5nZXR0ZXJGdW5jdGlv
bigpKTsKLSAgICBhdXRvJiBnZXR0ZXJGdW5jdGlvbiA9ICpwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Np
b24uZ2V0dGVyRnVuY3Rpb24oKTsKLSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVzc2lv
bj4+IGFyZ3VtZW50czsKLSAgICBhcmd1bWVudHMuYXBwZW5kKHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi50YWtlQmFzZSgpKTsKLSAgICBBU1Q6OkNhbGxFeHByZXNzaW9uKiBjYWxsRXhwcmVzc2lv
bjsKLSAgICBpZiAoaXM8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbikpIHsKLSAgICAgICAgYXV0byYgaW5kZXhFeHByZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpJ
bmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbik7Ci0gICAgICAgIGFyZ3Vt
ZW50cy5hcHBlbmQoaW5kZXhFeHByZXNzaW9uLnRha2VJbmRleCgpKTsKLSAgICAgICAgY2FsbEV4
cHJlc3Npb24gPSBBU1Q6OnJlcGxhY2VXaXRoPEFTVDo6Q2FsbEV4cHJlc3Npb24+KGluZGV4RXhw
cmVzc2lvbiwgbG9jYXRpb24sIFN0cmluZyhnZXR0ZXJGdW5jdGlvbi5uYW1lKCkpLCBXVEZNb3Zl
KGFyZ3VtZW50cykpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6OkRvdEV4
cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikpOwotICAgICAgICBhdXRvJiBkb3RF
eHByZXNzaW9uID0gZG93bmNhc3Q8QVNUOjpEb3RFeHByZXNzaW9uPihwcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb24pOwotICAgICAgICBjYWxsRXhwcmVzc2lvbiA9IEFTVDo6cmVwbGFjZVdpdGg8QVNU
OjpDYWxsRXhwcmVzc2lvbj4oZG90RXhwcmVzc2lvbiwgbG9jYXRpb24sIFN0cmluZyhnZXR0ZXJG
dW5jdGlvbi5uYW1lKCkpLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwotICAgIH0KLSAgICBjYWxsRXhw
cmVzc2lvbi0+c2V0RnVuY3Rpb24oZ2V0dGVyRnVuY3Rpb24pOwotICAgIGNhbGxFeHByZXNzaW9u
LT5zZXRUeXBlKGdldHRlckZ1bmN0aW9uLnR5cGUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNl
dFR5cGVBbm5vdGF0aW9uKEFTVDo6UmlnaHRWYWx1ZSgpKTsKLX0KLQotY2xhc3MgTGVmdFZhbHVl
U2ltcGxpZmllciA6IHB1YmxpYyBWaXNpdG9yIHsKLXByaXZhdGU6Ci0gICAgdm9pZCB2aXNpdChB
U1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIHZpc2l0KEFTVDo6SW5kZXhF
eHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChBU1Q6OkRlcmVmZXJlbmNlRXhw
cmVzc2lvbiYpIG92ZXJyaWRlOwotCi0gICAgdm9pZCBmaW5pc2hWaXNpdGluZyhBU1Q6OlByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbiYpOwotfTsKLQotdm9pZCBMZWZ0VmFsdWVTaW1wbGlmaWVyOjpm
aW5pc2hWaXNpdGluZyhBU1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uKQotewotICAgIEFTU0VSVChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFz
ZSgpLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJlc3NTcGFjZSgpKTsKLSAgICBBU1NFUlQocHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uLmFuZGVyRnVuY3Rpb24oKSk7Ci0KLSAgICBWaXNpdG9yOjp2
aXNpdChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uYmFzZSgpKTsKLQotICAgIGF1dG8gbG9jYXRp
b24gPSBwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uY29kZUxvY2F0aW9uKCk7Ci0gICAgYXV0byog
YW5kZXJGdW5jdGlvbiA9IHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCk7
Ci0KLSAgICBhdXRvIGFyZ3VtZW50ID0gYW5kZXJDYWxsQXJndW1lbnQocHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uKTsKLSAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgIEFTU0VSVCghYXJndW1lbnQt
PnZhcmlhYmxlRGVjbGFyYXRpb24pOwotICAgIEFTU0VSVChhcmd1bWVudC0+d2hpY2hBbmRlciA9
PSBXaGljaEFuZGVyOjpBbmRlcik7Ci0KLSAgICBWZWN0b3I8VW5pcXVlUmVmPEFTVDo6RXhwcmVz
c2lvbj4+IGFyZ3VtZW50czsKLSAgICBhcmd1bWVudHMuYXBwZW5kKFdURk1vdmUoYXJndW1lbnQt
PmV4cHJlc3Npb24pKTsKLSAgICBpZiAoaXM8QVNUOjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbikpCi0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoZG93bmNhc3Q8QVNU
OjpJbmRleEV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbikudGFrZUluZGV4KCkp
OwotICAgIGF1dG8gY2FsbEV4cHJlc3Npb24gPSBtYWtlVW5pcXVlUmVmPEFTVDo6Q2FsbEV4cHJl
c3Npb24+KGxvY2F0aW9uLCBTdHJpbmcoYW5kZXJGdW5jdGlvbi0+bmFtZSgpKSwgV1RGTW92ZShh
cmd1bWVudHMpKTsKLSAgICBjYWxsRXhwcmVzc2lvbi0+c2V0VHlwZShhbmRlckZ1bmN0aW9uLT50
eXBlKCkpOwotICAgIGNhbGxFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0
VmFsdWUoKSk7Ci0gICAgY2FsbEV4cHJlc3Npb24tPnNldEZ1bmN0aW9uKCphbmRlckZ1bmN0aW9u
KTsKLQotICAgIGF1dG8qIGRlcmVmZXJlbmNlRXhwcmVzc2lvbiA9IEFTVDo6cmVwbGFjZVdpdGg8
QVNUOjpEZXJlZmVyZW5jZUV4cHJlc3Npb24+KHByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiwgbG9j
YXRpb24sIFdURk1vdmUoY2FsbEV4cHJlc3Npb24pKTsKLSAgICBkZXJlZmVyZW5jZUV4cHJlc3Np
b24tPnNldFR5cGUoZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5kZXJGdW5jdGlvbi0+dHlw
ZSgpKS5lbGVtZW50VHlwZSgpKTsKLSAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGVB
bm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgZG93bmNhc3Q8QVNUOjpQb2ludGVyVHlwZT4oYW5k
ZXJGdW5jdGlvbi0+dHlwZSgpKS5hZGRyZXNzU3BhY2UoKSB9KTsKLX0KLQotdm9pZCBMZWZ0VmFs
dWVTaW1wbGlmaWVyOjp2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mIGRvdEV4cHJlc3Npb24pCi17
Ci0gICAgVmlzaXRvcjo6dmlzaXQoZG90RXhwcmVzc2lvbik7Ci0gICAgZmluaXNoVmlzaXRpbmco
ZG90RXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgTGVmdFZhbHVlU2ltcGxpZmllcjo6dmlzaXQoQVNU
OjpJbmRleEV4cHJlc3Npb24mIGluZGV4RXhwcmVzc2lvbikKLXsKLSAgICBQcm9wZXJ0eVJlc29s
dmVyKCkuVmlzaXRvcjo6dmlzaXQoaW5kZXhFeHByZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsK
LSAgICBmaW5pc2hWaXNpdGluZyhpbmRleEV4cHJlc3Npb24pOwotfQotCi12b2lkIExlZnRWYWx1
ZVNpbXBsaWZpZXI6OnZpc2l0KEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uJiBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24pCi17Ci0gICAgLy8gRGVyZWZlcmVuY2UgZXhwcmVzc2lvbnMgYXJlIHRoZSBv
bmx5IGV4cHJlc3Npb25zIHdoZXJlIHRoZSBjaGlsZHJlbiBtaWdodCBiZSBtb3JlLXJpZ2h0IHRo
YW4gd2UgYXJlLgotICAgIC8vIEZvciBleGFtcGxlLCBhIGRlcmVmZXJlbmNlIGV4cHJlc3Npb24g
bWF5IGJlIGEgbGVmdCB2YWx1ZSBidXQgaXRzIGNoaWxkIG1heSBiZSBhIGNhbGwgZXhwcmVzc2lv
biB3aGljaCBpcyBhIHJpZ2h0IHZhbHVlLgotICAgIC8vIExlZnRWYWx1ZVNpbXBsaWZpZXIgZG9l
c24ndCBoYW5kbGUgcmlnaHQgdmFsdWVzLCBzbyB3ZSBpbnN0ZWFkIG5lZWQgdG8gdXNlIFByb3Bl
cnR5UmVzb2x2ZXIuCi0gICAgUHJvcGVydHlSZXNvbHZlcigpLlZpc2l0b3I6OnZpc2l0KGRlcmVm
ZXJlbmNlRXhwcmVzc2lvbik7Ci19Ci0KLXZvaWQgUHJvcGVydHlSZXNvbHZlcjo6c2ltcGxpZnlM
ZWZ0VmFsdWUoQVNUOjpFeHByZXNzaW9uJiBleHByZXNzaW9uKQotewotICAgIExlZnRWYWx1ZVNp
bXBsaWZpZXIoKS5WaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKLX0KLQotdm9pZCByZXNvbHZl
UHJvcGVydGllcyhQcm9ncmFtJiBwcm9ncmFtKQordm9pZCByZXNvbHZlUHJvcGVydGllcyhQcm9n
cmFtJikKIHsKLSAgICBQcm9wZXJ0eVJlc29sdmVyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7
CisgICAgLy8gRklYTUU6IEJyaW5nIHRoaXMgcGhhc2UgYmFjayB0byBhbGxvdyBtZXRhbCBjb2Rl
Z2VuIHNvbWUgY29udmVuaWVuY2VzIAorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDEyNTEKIH0KIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJ1bmVVbnJlYWNoYWJsZVN0
YW5kYXJkTGlicmFyeUZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5
RnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xQcnVuZVVucmVhY2hhYmxlU3RhbmRhcmRMaWJyYXJ5RnVuY3Rp
b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsMjMgKzUxLDYgQEAgcHVibGljOgogICAgICAg
ICAgICAgdmlzaXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KGNhbGxFeHByZXNz
aW9uLmZ1bmN0aW9uKCkpKTsKICAgICB9CiAKLSAgICB2b2lkIHZpc2l0KEFTVDo6UHJvcGVydHlB
Y2Nlc3NFeHByZXNzaW9uJiBleHByZXNzaW9uKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgYXV0
byB2aXNpdEZ1bmN0aW9uID0gWyZdIChBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIGZ1bmN0aW9u
KSB7Ci0gICAgICAgICAgICBpZiAoIWZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oKmZ1bmN0aW9uKSkK
LSAgICAgICAgICAgICAgICB2aXNpdChkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4o
KmZ1bmN0aW9uKSk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNz
aW9uLmdldHRlckZ1bmN0aW9uKCkpOwotICAgICAgICB2aXNpdEZ1bmN0aW9uKGV4cHJlc3Npb24u
YW5kZXJGdW5jdGlvbigpKTsKLSAgICAgICAgdmlzaXRGdW5jdGlvbihleHByZXNzaW9uLnRocmVh
ZEFuZGVyRnVuY3Rpb24oKSk7Ci0gICAgICAgIHZpc2l0RnVuY3Rpb24oZXhwcmVzc2lvbi5zZXR0
ZXJGdW5jdGlvbigpKTsKLQotICAgICAgICBWaXNpdG9yOjp2aXNpdChleHByZXNzaW9uKTsKLSAg
ICB9Ci0KICAgICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gdGFrZVJlYWNoYWJs
ZUZ1bmN0aW9ucygpIHsgcmV0dXJuIFdURk1vdmUobV9yZWFjaGFibGVGdW5jdGlvbnMpOyB9CiAK
IHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeS50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnkudHh0CShyZXZpc2lvbiAyNDkyMjcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGli
cmFyeS50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMCwzNzAgKzIxMCw2IEBAIHVpbnQ0IHJldmVy
c2ViaXRzKHVpbnQ0IHgpIHsKIH0KIAogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd3
ICovCi1ib29sMyBvcGVyYXRvci55d3coYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXd3KHVpbnQ0IHYpIHsK
LSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3IueXd3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXp6eSAqLwotYm9vbDQgb3BlcmF0b3IueXp6eShib29sMyB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1ib29sNCBvcGVyYXRvci55enp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnl6enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp6eSh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6enkoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueXp6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp6
eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnp5eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnp5eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDQgb3BlcmF0b3Iuenl4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56
eXh5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXh5KGludDMgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp5eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56
eXh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHkoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHp5ICov
Ci1ib29sNCBvcGVyYXRvci53eHp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd4enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHp5KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h6eShmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eHogKi8KLWJvb2w0IG9wZXJh
dG9yLnl4eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXh4eihib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh6KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci55eHh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eHooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHh6KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHd5PSAqLwotYm9vbDQgb3BlcmF0b3Iuenh3
eT0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAg
cmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4
d3k9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4
d3k9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
c3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh3
eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0g
ICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnh3d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnh3d3coYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh3d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54
d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iuend5eiAqLwotYm9vbDQgb3BlcmF0b3Iuend5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56d3l6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
end5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eXooZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KIC8qIEZ1bmN0aW9ucyBuYW1lZCBpc29yZGVyZWQgKi8KIGJvb2wg
aXNvcmRlcmVkKGZsb2F0IHgsIGZsb2F0IHkpIHsKICAgICByZXR1cm4gKHggPT0geCkgJiYgKHkg
PT0geSk7CkBAIC02MDAsODggKzIzNiw2IEBAIGJvb2w0IGlzb3JkZXJlZChmbG9hdDQgeCwgZmxv
YXQ0IHkpIHsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueCAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3IueChib29sMik7Ci1uYXRpdmUgYm9vbCBv
cGVyYXRvci54KGJvb2wzKTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yLngoYm9vbDQpOwotbmF0aXZl
IHVpbnQgb3BlcmF0b3IueCh1aW50Mik7Ci1uYXRpdmUgdWludCBvcGVyYXRvci54KHVpbnQzKTsK
LW5hdGl2ZSB1aW50IG9wZXJhdG9yLngodWludDQpOwotbmF0aXZlIGludCBvcGVyYXRvci54KGlu
dDIpOwotbmF0aXZlIGludCBvcGVyYXRvci54KGludDMpOwotbmF0aXZlIGludCBvcGVyYXRvci54
KGludDQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLngoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdCBv
cGVyYXRvci54KGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3IueChmbG9hdDQpOwotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl3eCAqLwotYm9vbDQgb3BlcmF0b3IueHl3eChi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXd4KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh5d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eXh5ICovCi1ib29sNCBvcGVyYXRvci53eXh5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eXh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3l4
eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogLyogRnVuY3Rpb25zIG5hbWVkIHRyYW5zcG9z
ZSAqLwogZmxvYXQgdHJhbnNwb3NlKGZsb2F0IHgpIHsKICAgICByZXR1cm4geDsKQEAgLTY4OSwy
NzIgKzI0MywxMjIgQEAgZmxvYXQgdHJhbnNwb3NlKGZsb2F0IHgpIHsKIGZsb2F0MngyIHRyYW5z
cG9zZShmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MngzIHRyYW5zcG9zZShmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
eFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwogICAgIHJlc3VsdFsxXVswXSA9
IHhbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0g
PSB4WzJdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCB0cmFuc3Bvc2UoZmxv
YXQ0eDIgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBd
WzBdOwogICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsy
XVswXTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHhb
MF1bMV07CiAgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4
WzJdWzFdOwotICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gyIHRyYW5zcG9zZShmbG9hdDJ4MyB4KSB7CiAgICAgZmxvYXQzeDIgcmVzdWx0
OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geFsxXVsw
XTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07CiAgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CiAgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDMgdHJhbnNwb3NlKGZsb2F0M3gz
IHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7CitmbG9hdDR4MiB0cmFuc3Bvc2UoZmxvYXQyeDQg
eCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwot
ICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsK
ICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07
Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJd
OworICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1b
Ml07Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzFd
WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCB0cmFuc3Bvc2UoZmxvYXQ0eDMg
eCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKK2Zsb2F0MngzIHRyYW5zcG9zZShmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Ci0g
ICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwot
ICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOwogICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKICAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFd
OwotICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsy
XTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1b
Ml07Ci0gICAgcmVzdWx0WzJdWzNdID0geFszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Citm
bG9hdDN4MyB0cmFuc3Bvc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAg
ICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwog
ICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07
Ci0gICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNd
OworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsx
XTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBm
bG9hdDR4MyB0cmFuc3Bvc2UoZmxvYXQzeDQgeCkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKICAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Ci0g
ICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKICAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsK
ICAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07
Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKICAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNd
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsx
XTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwogICAgIHJlc3VsdFszXVsxXSA9IHhbMV1b
M107CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJd
WzFdOworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CiAgICAgcmVzdWx0WzNdWzJdID0geFsy
XVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgdHJhbnNwb3NlKGZsb2F0NHg0
IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7CitmbG9hdDJ4NCB0cmFuc3Bvc2UoZmxvYXQ0eDIg
eCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CiAgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOwogICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBd
OworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3g0IHRyYW5zcG9zZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHhbMF1bMF07CiAgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CiAg
ICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOwot
ICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsK
ICAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07
CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJd
OworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsx
XTsKICAgICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4NCB0cmFuc3Bvc2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Cisg
ICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKICAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwor
ICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwogICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107
CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFd
OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CiAgICAgcmVzdWx0WzNdWzJdID0geFsyXVsz
XTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11b
MV07CisgICAgcmVzdWx0WzJdWzNdID0geFszXVsyXTsKICAgICByZXN1bHRbM11bM10gPSB4WzNd
WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnd5eHo9ICovCi1ib29sNCBvcGVyYXRvci53eXh6PShib29sNCB2LCBib29sNCBjKSB7Ci0g
ICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9
IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l4ej0odWludDQgdiwgdWludDQgYykgewot
ICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0Lnkg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4ej0oaW50NCB2LCBpbnQ0IGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBj
Lnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsK
LSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQu
eSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4eiAqLwot
Ym9vbDQgb3BlcmF0b3IueXl4eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci55eXh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eHoodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5eHooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXl4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHooZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eihmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4ICovCi1ib29sMiBvcGVy
YXRvci56eChib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVy
YXRvci56eChib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci56eCh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVy
YXRvci56eCh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJh
dG9yLnp4KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9y
Lnp4KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3Iu
engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0
b3IuengoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIC8qIEZ1bmN0
aW9ucyBuYW1lZCBJbnRlcmxvY2tlZEFkZCAqLwogbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBZGQo
ZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKIG5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQWRkKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7CkBAIC05
NjksMTc0ICszNzMsNiBAQCBuYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFkZCh0aHJlYWRncm91cCBh
CiBuYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFkZCh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKIG5hdGl2ZSB2b2lkIEludGVybG9ja2VkQWRkKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHp5eCAqLwotYm9vbDQgb3BlcmF0b3IueHp5eChib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54enl4KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh6eXgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHp5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXgoaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnh6eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHp5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd3encgKi8KLWJvb2w0IG9wZXJhdG9yLnd3encoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iud3d6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnd3encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3p3KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd3
eSAqLwotYm9vbDQgb3BlcmF0b3IueXd3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci55d3d5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd3eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3d3koZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54end4ICovCi1ib29sNCBv
cGVyYXRvci54end4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6d3go
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54end4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
LyogRnVuY3Rpb25zIG5hbWVkIHNhdHVyYXRlICovCiBmbG9hdCBzYXR1cmF0ZShmbG9hdCB4KSB7
CiAgICAgcmV0dXJuIGNsYW1wKHgsIDAsIDEpOwpAQCAtMTE2NSwxMTcgKzQwMSwxMTcgQEAgZmxv
YXQ0IHNhdHVyYXRlKGZsb2F0NCB4KSB7CiBmbG9hdDJ4MiBzYXR1cmF0ZShmbG9hdDJ4MiB4KSB7
CiAgICAgZmxvYXQyeDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsx
XVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBzYXR1cmF0ZShmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQy
eDMgcmVzdWx0OworZmxvYXQzeDIgc2F0dXJhdGUoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBzYXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0
ZSh4WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1
cmF0ZSh4WzBdWzFdKTsKICAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBz
YXR1cmF0ZSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgc2F0dXJh
dGUoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKK2Zsb2F0NHgyIHNhdHVyYXRl
KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0g
c2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gc2F0dXJhdGUoeFswXVszXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFsw
XVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0M3gyIHNhdHVyYXRlKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7CitmbG9h
dDJ4MyBzYXR1cmF0ZShmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIHJl
c3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVy
YXRlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IHNh
dHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBzYXR1cmF0ZShmbG9hdDN4MyB4KSB7
CiAgICAgZmxvYXQzeDMgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRl
KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVy
YXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNh
dHVyYXRlKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCBzYXR1cmF0
ZShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OworZmxvYXQ0eDMgc2F0dXJhdGUo
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBz
YXR1cmF0ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBzYXR1cmF0ZSh4WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBzYXR1cmF0ZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzYXR1cmF0ZSh4WzFd
WzNdKTsKICAgICByZXN1bHRbMl1bMF0gPSBzYXR1cmF0ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzYXR1cmF0ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzYXR1cmF0ZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzYXR1cmF0ZSh4WzFdWzFdKTsKICAgICByZXN1
bHRbMl1bMV0gPSBzYXR1cmF0ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzYXR1cmF0
ZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzYXR1cmF0ZSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzYXR1cmF0ZSh4WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBzYXR1
cmF0ZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzYXR1cmF0ZSh4WzJdWzNdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBzYXR1cmF0ZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQ0eDIgc2F0dXJhdGUoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsK
K2Zsb2F0Mng0IHNhdHVyYXRlKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAg
ICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFd
ID0gc2F0dXJhdGUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc2F0dXJhdGUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIHNhdHVyYXRlKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9h
dDR4MyByZXN1bHQ7CitmbG9hdDN4NCBzYXR1cmF0ZShmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNhdHVy
YXRlKHhbMF1bMl0pOwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNh
dHVyYXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNhdHVyYXRlKHhbMV1bMV0pOwogICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNhdHVyYXRlKHhbMV1bMl0pOwogICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFszXVswXSA9IHNhdHVyYXRlKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IHNhdHVyYXRlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNhdHVyYXRlKHhb
M11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNhdHVyYXRlKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNhdHVyYXRl
KHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBzYXR1cmF0ZShmbG9h
dDR4NCB4KSB7CiAgICAgZmxvYXQ0eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IHNhdHVy
YXRlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNh
dHVyYXRlKHhbMF1bM10pOwogICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IHNhdHVyYXRlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10p
OwogICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IHNhdHVyYXRlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1b
Ml0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOwogICAgIHJlc3VsdFsz
XVswXSA9IHNhdHVyYXRlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0pOwogICAgIHJlc3VsdFszXVsxXSA9IHNhdHVyYXRl
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVy
YXRlKHhbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IHNhdHVyYXRlKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHNhdHVyYXRlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNh
dHVyYXRlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOwog
ICAgIHJlc3VsdFszXVszXSA9IHNhdHVyYXRlKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xMzA5LDExNyArNTQ1LDExNyBAQCBmbG9hdDQgbWFkKGZsb2F0NCB4LCBmbG9hdDQg
eSwgZmxvYXQ0IHopCiBmbG9hdDJ4MiBtYWQoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQy
eDIgeikgewogICAgIGZsb2F0MngyIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1b
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBtYWQoZmxvYXQyeDMgeCwgZmxv
YXQyeDMgeSwgZmxvYXQyeDMgeikgewotICAgIGZsb2F0MngzIHJlc3VsdDsKK2Zsb2F0M3gyIG1h
ZChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CisgICAgZmxvYXQzeDIgcmVz
dWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwogICAgIHJlc3Vs
dFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4
WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlb
Ml1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBtYWQoZmxv
YXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
K2Zsb2F0NHgyIG1hZChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAg
ICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbWFk
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwg
eVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6
WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgbWFkKGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7CitmbG9hdDJ4
MyBtYWQoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0Mngz
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwog
ICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0
WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBt
YWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQzeDMgbWFk
KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhb
Ml1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0s
IHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CiAgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCBtYWQoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwg
ZmxvYXQzeDQgeikgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKK2Zsb2F0NHgzIG1hZChmbG9hdDR4
MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OwogICAg
IHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJl
c3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1h
ZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsy
XVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10s
IHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5WzNd
WzJdLCB6WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbWFkKGZsb2F0
NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Citm
bG9hdDJ4NCBtYWQoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgeworICAgIGZs
b2F0Mng0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1b
MV0pOwogICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
bWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4
WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNd
LCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVszXSwgelsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1hZChmbG9hdDR4MyB4LCBm
bG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQg
bWFkKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVz
dWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmVzdWx0WzJdWzBdID0gbWFk
KHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBd
WzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1b
MV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsy
XSk7CiAgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwot
ICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBt
YWQoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWFkKHhb
Ml1bM10sIHlbMl1bM10sIHpbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4
NCBtYWQoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSwgZmxvYXQ0eDQgeikgewogICAgIGZsb2F0NHg0
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CiAgICAgcmVzdWx0
WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBt
YWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWFkKHhb
MV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJd
WzNdKTsKICAgICByZXN1bHRbM11bMF0gPSBtYWQoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CiAgICAgcmVzdWx0WzNd
WzFdID0gbWFkKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IG1hZCh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNd
KTsKICAgICByZXN1bHRbM11bM10gPSBtYWQoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE0ODEsOTAgKzcxNyw5MCBAQCBmbG9hdDJ4MiBtb2Rm
KGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVm
ZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHkpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9hdDN4MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZCBm
bG9hdDN4MiogeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAg
ICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1v
ZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYo
eFsyXVswXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAg
ICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4
NCBtb2RmKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4NCogeSkgewotICAgIGZsb2F0Mng0IHJl
c3VsdDsKK2Zsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5KSB7Cisg
ICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0g
PSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVm
ZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0g
bW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4
WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNd
WzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0g
YnVmZmVyOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDN4MiBtb2RmKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSkgewotICAg
IGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0
MngzKiB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICBy
ZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
CiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4
WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1
bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFd
WzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVh
ZCBmbG9hdDN4MyogeSkgewpAQCAtMTU3MywxNDEgKzgwOSwxNDEgQEAgZmxvYXQzeDMgbW9kZihm
bG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeAogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVsw
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBd
WzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0g
bW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9k
Zih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQz
eDQqIHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7CitmbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgs
IHRocmVhZCBmbG9hdDR4MyogeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBi
dWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVy
OworICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYo
eFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwor
ICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAg
IHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhb
Ml1bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3Vs
dFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsK
ICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0g
bW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZm
ZXI7CisgICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5KSB7Ci0gICAgZmxv
YXQ0eDIgcmVzdWx0OworZmxvYXQyeDQgbW9kZihmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQq
IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3Vs
dFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAg
ICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1b
MV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBi
dWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJd
WzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRb
MV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBd
LCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1b
M10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAm
YnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10g
PSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMV0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIG1vZGYoZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgz
KiB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0
aHJlYWQgZmxvYXQzeDQqIHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CiAgICAgZmxvYXQgYnVm
ZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1b
MV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAm
YnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMV0g
PSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVm
ZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwog
ICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBt
b2RmKHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVy
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKICAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhb
M11bMF0sICZidWZmZXIpOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAg
ICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBd
WzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzNd
ID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAg
KCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogZmxvYXQ0eDQgbW9k
ZihmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHkpIHsKQEAgLTE3MTYsNDggKzk1Miw0OCBA
QCBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4CiAgICAgcmVzdWx0WzBd
WzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFd
ID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1v
ZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIp
OworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYo
eFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsz
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwor
ICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAg
ICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1
ZmZlcjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBt
b2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
Ml1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVy
KTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAg
ICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9k
Zih4WzNdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICBy
ZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbM11bMl0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZm
ZXI7CiAgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4WzNdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQogICAgICAgICAoKnkpWzNdWzNdID0gYnVmZmVyOwpAQCAtMTgxOSw5MCArMTA1
NSw5MCBAQCBmbG9hdDJ4MiBtb2RmKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4CiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCBk
ZXZpY2UgZmxvYXQyeDMqIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9hdDN4MiBtb2Rm
KGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsK
ICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVm
ZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwot
ICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBt
b2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAg
IHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2Rm
KHhbMF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBtb2RmKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCog
eSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKK2Zsb2F0NHgyIG1vZGYoZmxvYXQ0eDIgeCwgZGV2
aWNlIGZsb2F0NHgyKiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZl
cjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAg
KCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5
KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Cisg
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFd
WzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYo
eFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVy
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiBtb2RmKGZsb2F0M3gyIHgsIGRldmlj
ZSBmbG9hdDN4MiogeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIG1vZGYoZmxv
YXQyeDMgeCwgZGV2aWNlIGZsb2F0MngzKiB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OwogICAg
IGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsy
XVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVy
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1b
Ml0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAg
ICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDN4MyBt
b2RmKGZsb2F0M3gzIHgsIGRldmljZSBmbG9hdDN4MyogeSkgewpAQCAtMTkxMSwxNDEgKzExNDcs
MTQxIEBAIGZsb2F0M3gzIG1vZGYoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0M3gKICAgICByZXN1
bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAg
ICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBd
WzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwotICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFd
LCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVm
ZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1b
MF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAg
ICgqeSlbMl1bMF0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAm
YnVmZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVy
OworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0g
PSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgq
eSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVm
ZmVyKTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBt
b2RmKHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlb
Ml1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IG1vZGYoZmxv
YXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OworZmxv
YXQ0eDMgbW9kZihmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHkpIHsKKyAgICBmbG9hdDR4
MyByZXN1bHQ7CiAgICAgZmxvYXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFsw
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJl
c3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhb
MF1bM10sICZidWZmZXIpOworICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3Vs
dFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1b
MF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsw
XVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAg
ICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFdWzJdID0gbW9k
Zih4WzFdWzJdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5
KVsyXVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBidWZmZXI7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsz
XVsxXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsy
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAg
ICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAm
YnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzJdWzJdID0gYnVmZmVy
OwotICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0
WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzNdID0gYnVmZmVyOworICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBtb2RmKGZsb2F0NHgyIHgsIGRldmljZSBm
bG9hdDR4MiogeSkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKK2Zsb2F0Mng0IG1vZGYoZmxvYXQy
eDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OwogICAgIGZs
b2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsx
XVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVsw
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMl0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsz
XVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MyBtb2RmKGZsb2F0
NHgzIHgsIGRldmljZSBmbG9hdDR4MyogeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKK2Zsb2F0
M3g0IG1vZGYoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMF0gPSBidWZm
ZXI7Ci0gICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZi
dWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsxXSA9
IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZm
ZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1v
ZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1bMl0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bM10g
PSBtb2RmKHhbMF1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbM11bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVm
ZmVyKTsKKyAgICAgICAgKCp5KVswXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bM10gPSBt
b2RmKHhbMV1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmYnVmZmVy
KTsKKyAgICAgICAgKCp5KVsxXVszXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bM10gPSBtb2Rm
KHhbMl1bM10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIGZsb2F0NHg0IG1vZGYoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5KSB7
CkBAIC0yMDU0LDQ4ICsxMjkwLDQ4IEBAIGZsb2F0NHg0IG1vZGYoZmxvYXQ0eDQgeCwgZGV2aWNl
IGZsb2F0NHgKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2Rm
KHhbMV1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsK
KyAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhb
Ml1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAg
ICAgICAgKCp5KVsyXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11b
MF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBi
dWZmZXI7Ci0gICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAg
ICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZm
ZXI7CisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFd
WzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7
CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9
IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1v
ZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAg
cmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVz
dWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVy
OwogICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10g
PSBtb2RmKHhbMl1bM10sICZidWZmZXIpOworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICAg
ICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKLSAgICByZXN1bHRbM11bMV0gPSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAo
KnkpWzBdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1
ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsK
LSAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkp
WzFdWzNdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZl
cik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAg
ICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbM11bM10gPSBtb2RmKHhbM11b
M10sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBi
dWZmZXI7CkBAIC0yMTU3LDkwICsxMzkzLDkwIEBAIGZsb2F0MngyIG1vZGYoZmxvYXQyeDIgeCwg
dGhyZWFkZ3JvdXAgZmwKICAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIp
OwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVswXSA9IG1vZGYo
eFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsw
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDJ4MyBtb2RmKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0MngzKiB5KSB7Ci0gICAgZmxv
YXQyeDMgcmVzdWx0OworZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDN4MiogeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsy
XVswXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOworICAgICAg
ICAoKnkpWzJdWzFdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBt
b2RmKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OworZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4Miog
eSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0
WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsx
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0g
PSBidWZmZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsx
XVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBd
WzFdID0gYnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7
CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9
IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZm
ZXIpOworICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1v
ZGYoeFszXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVszXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQzeDIgbW9kZihmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4
MiogeSkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKK2Zsb2F0MngzIG1vZGYoZmxvYXQyeDMgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CiAgICAgZmxv
YXQgYnVmZmVyOwogICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJmJ1ZmZlcik7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1
bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFd
WzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzBdID0g
YnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRb
MV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVswXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgICAgICgq
eSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIGZsb2F0M3gzIG1vZGYo
ZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHkpIHsKQEAgLTIyNDksMTQxICsxNDg1
LDE0MSBAQCBmbG9hdDN4MyBtb2RmKGZsb2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsCiAgICAgcmVz
dWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZmZXIpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsx
XSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJd
WzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwg
JmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzFd
ID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1
ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IGJ1ZmZlcjsK
KyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzJdWzJdID0g
bW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkp
WzJdWzJdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4NCBtb2RmKGZs
b2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0
OworZmxvYXQ0eDMgbW9kZihmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAo
KnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJmJ1
ZmZlcik7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwotICAgIHJlc3VsdFsw
XVsyXSA9IG1vZGYoeFswXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bMF0gPSBidWZm
ZXI7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsz
XSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMl1bMF0gPSBidWZmZXI7
CisgICAgcmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbM11bMF0gPSBidWZmZXI7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOworICAgICAgICAoKnkpWzBdWzFdID0g
YnVmZmVyOwogICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJmJ1ZmZlcik7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRb
MV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYo
eFsyXVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhbMV1bM10sICZidWZmZXIpOwor
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFsz
XVsxXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOworICAg
ICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsy
XSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IGJ1
ZmZlcjsKLSAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICZidWZmZXIpOworICAgICAg
ICAoKnkpWzBdWzJdID0gYnVmZmVyOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwg
JmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IGJ1ZmZl
cjsKKyAgICAgICAgKCp5KVsxXVsyXSA9IGJ1ZmZlcjsKICAgICByZXN1bHRbMl1bMl0gPSBtb2Rm
KHhbMl1bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMl1b
Ml0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsK
KyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11bMl0sICZidWZmZXIpOwogICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBidWZmZXI7CisgICAgICAgICgqeSlbM11bMl0g
PSBidWZmZXI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIG1vZGYoZmxvYXQ0eDIg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7CitmbG9h
dDJ4NCBtb2RmKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OwogICAgIGZsb2F0IGJ1ZmZlcjsKICAgICByZXN1bHRbMF1bMF0gPSBtb2Rm
KHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1b
MF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmYnVmZmVyKTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gYnVmZmVyOwogICAgIHJl
c3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkK
ICAgICAgICAgKCp5KVsxXVswXSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhb
MF1bMV0sICZidWZmZXIpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzJdID0gbW9k
Zih4WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4
WzFdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBd
WzNdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0g
YnVmZmVyOwotICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAg
ICAgICgqeSlbMF1bM10gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNd
LCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVm
ZmVyOworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB5KSB7Ci0g
ICAgZmxvYXQ0eDMgcmVzdWx0OworZmxvYXQzeDQgbW9kZihmbG9hdDN4NCB4LCB0aHJlYWRncm91
cCBmbG9hdDN4NCogeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKICAgICBmbG9hdCBidWZmZXI7
CiAgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAh
PSBudWxsKQogICAgICAgICAoKnkpWzBdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFswXVsxXSA9
IG1vZGYoeFswXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICZidWZm
ZXIpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CiAg
ICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBu
dWxsKQogICAgICAgICAoKnkpWzFdWzBdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVsxXSA9IG1v
ZGYoeFsxXVsxXSwgJmJ1ZmZlcik7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAg
cmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxs
KQogICAgICAgICAoKnkpWzJdWzBdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYo
eFswXVsxXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsx
XSA9IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICZidWZmZXIpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBidWZmZXI7CiAgICAgcmVz
dWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQog
ICAgICAgICAoKnkpWzJdWzFdID0gYnVmZmVyOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFsw
XVsyXSwgJmJ1ZmZlcik7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICZidWZmZXIpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBidWZmZXI7CiAgICAgcmVzdWx0
WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVsw
XSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gYnVmZmVyOwotICAgIHJl
c3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMF1bM10g
PSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmYnVmZmVyKTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gYnVmZmVyOwotICAgIHJlc3Vs
dFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CisgICAgICAgICgqeSlbMV1bM10gPSBi
dWZmZXI7CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmYnVmZmVyKTsKICAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVyOworICAgICAgICAoKnkp
WzJdWzNdID0gYnVmZmVyOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBtb2RmKGZs
b2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsb2F0NHg0KiB5KSB7CkBAIC0yMzkyLDQ4ICsxNjI4LDQ4
IEBAIGZsb2F0NHg0IG1vZGYoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmwKICAgICByZXN1bHRb
MF1bMF0gPSBtb2RmKHhbMF1bMF0sICZidWZmZXIpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFd
LCAmYnVmZmVyKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICZidWZmZXIpOwog
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBidWZmZXI7Ci0gICAgcmVz
dWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsxXVswXSA9
IGJ1ZmZlcjsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICZidWZmZXIpOwogICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVsyXVswXSA9IGJ1
ZmZlcjsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBidWZmZXI7Ci0gICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmYnVmZmVyKTsKKyAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZl
cjsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICZidWZmZXIpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBidWZmZXI7CisgICAgICAgICgqeSlbMF1b
MV0gPSBidWZmZXI7CiAgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmYnVmZmVyKTsK
ICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzFdID0gYnVmZmVyOwotICAgIHJl
c3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJmJ1ZmZlcik7CisgICAgcmVzdWx0WzJdWzFdID0g
bW9kZih4WzJdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gYnVmZmVyOwotICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZl
cik7CisgICAgICAgICgqeSlbMl1bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJmJ1ZmZlcik7
CisgICAgICAgICgqeSlbM11bMV0gPSBidWZmZXI7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4
WzBdWzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBd
ID0gYnVmZmVyOwotICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJmJ1ZmZlcik7Cisg
ICAgICAgICgqeSlbMF1bMl0gPSBidWZmZXI7CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFd
WzJdLCAmYnVmZmVyKTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0g
YnVmZmVyOworICAgICAgICAoKnkpWzFdWzJdID0gYnVmZmVyOwogICAgIHJlc3VsdFsyXVsyXSA9
IG1vZGYoeFsyXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5
KVsyXVsyXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICZidWZm
ZXIpOworICAgIHJlc3VsdFszXVsyXSA9IG1vZGYoeFszXVsyXSwgJmJ1ZmZlcik7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11b
MF0gPSBtb2RmKHhbM11bMF0sICZidWZmZXIpOworICAgICAgICAoKnkpWzNdWzJdID0gYnVmZmVy
OworICAgIHJlc3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMV0g
PSBtb2RmKHhbM11bMV0sICZidWZmZXIpOworICAgICAgICAoKnkpWzBdWzNdID0gYnVmZmVyOwor
ICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsxXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IGJ1ZmZlcjsKLSAgICByZXN1bHRbM11bMl0gPSBt
b2RmKHhbM11bMl0sICZidWZmZXIpOworICAgICAgICAoKnkpWzFdWzNdID0gYnVmZmVyOworICAg
IHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJmJ1ZmZlcik7CiAgICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVsyXSA9IGJ1ZmZlcjsKKyAgICAgICAgKCp5KVsyXVszXSA9IGJ1
ZmZlcjsKICAgICByZXN1bHRbM11bM10gPSBtb2RmKHhbM11bM10sICZidWZmZXIpOwogICAgIGlm
ICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBidWZmZXI7CkBAIC0yNDQxLDM2NjYg
KzE2NzcsNTA0NCBAQCBmbG9hdDR4NCBtb2RmKGZsb2F0NHg0IHgsIHRocmVhZGdyb3VwIGZsCiB9
CiAKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5PSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3k9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53eT0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3k9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50
NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3k9KGZsb2F0NCB2LCBmbG9h
dDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAg
IHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvcltdPSAqLwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yW109KGJvb2wyLCB1aW50
LCBib29sKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcltdPShib29sMywgdWludCwgYm9vbCk7Ci1u
YXRpdmUgYm9vbDQgb3BlcmF0b3JbXT0oYm9vbDQsIHVpbnQsIGJvb2wpOwotbmF0aXZlIHVpbnQy
IG9wZXJhdG9yW109KHVpbnQyLCB1aW50LCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvcltd
PSh1aW50MywgdWludCwgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3JbXT0odWludDQsIHVp
bnQsIHVpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3JbXT0oaW50MiwgdWludCwgaW50KTsKLW5h
dGl2ZSBpbnQzIG9wZXJhdG9yW109KGludDMsIHVpbnQsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVy
YXRvcltdPShpbnQ0LCB1aW50LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvcltdPShmbG9h
dDIsIHVpbnQsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3JbXT0oZmxvYXQzLCB1aW50
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yW109KGZsb2F0NCwgdWludCwgZmxvYXQp
OwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yW109KGZsb2F0MngyLCB1aW50LCBmbG9hdDIpOwot
bmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yW109KGZsb2F0MngzLCB1aW50LCBmbG9hdDMpOwotbmF0
aXZlIGZsb2F0Mng0IG9wZXJhdG9yW109KGZsb2F0Mng0LCB1aW50LCBmbG9hdDQpOwotbmF0aXZl
IGZsb2F0M3gyIG9wZXJhdG9yW109KGZsb2F0M3gyLCB1aW50LCBmbG9hdDIpOwotbmF0aXZlIGZs
b2F0M3gzIG9wZXJhdG9yW109KGZsb2F0M3gzLCB1aW50LCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0
M3g0IG9wZXJhdG9yW109KGZsb2F0M3g0LCB1aW50LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0NHgy
IG9wZXJhdG9yW109KGZsb2F0NHgyLCB1aW50LCBmbG9hdDIpOwotbmF0aXZlIGZsb2F0NHgzIG9w
ZXJhdG9yW109KGZsb2F0NHgzLCB1aW50LCBmbG9hdDMpOwotbmF0aXZlIGZsb2F0NHg0IG9wZXJh
dG9yW109KGZsb2F0NHg0LCB1aW50LCBmbG9hdDQpOwotbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3Jb
XT0oYm9vbDJ4MiwgdWludCwgYm9vbDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3JbXT0oYm9v
bDJ4MywgdWludCwgYm9vbDMpOwotbmF0aXZlIGJvb2wyeDQgb3BlcmF0b3JbXT0oYm9vbDJ4NCwg
dWludCwgYm9vbDQpOwotbmF0aXZlIGJvb2wzeDIgb3BlcmF0b3JbXT0oYm9vbDN4MiwgdWludCwg
Ym9vbDIpOwotbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3JbXT0oYm9vbDN4MywgdWludCwgYm9vbDMp
OwotbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3JbXT0oYm9vbDN4NCwgdWludCwgYm9vbDQpOwotbmF0
aXZlIGJvb2w0eDIgb3BlcmF0b3JbXT0oYm9vbDR4MiwgdWludCwgYm9vbDIpOwotbmF0aXZlIGJv
b2w0eDMgb3BlcmF0b3JbXT0oYm9vbDR4MywgdWludCwgYm9vbDMpOwotbmF0aXZlIGJvb2w0eDQg
b3BlcmF0b3JbXT0oYm9vbDR4NCwgdWludCwgYm9vbDQpOworLyogRnVuY3Rpb25zIG5hbWVkIElu
dGVybG9ja2VkTWluICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWlj
X3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4o
ZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkTWluKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRp
dmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50KiwgdWlu
dCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNl
IGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwor
bmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwg
dGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRv
bWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRN
aW4odGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRNaW4odGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRn
cm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9t
aWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKIAorLyogRnVuY3Rpb25zIG5hbWVkIGxl
bmd0aCAqLworbmF0aXZlIGZsb2F0IGxlbmd0aChmbG9hdCk7CituYXRpdmUgZmxvYXQgbGVuZ3Ro
KGZsb2F0Mik7CituYXRpdmUgZmxvYXQgbGVuZ3RoKGZsb2F0Myk7CituYXRpdmUgZmxvYXQgbGVu
Z3RoKGZsb2F0NCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eHl4ICovCi1ib29s
NCBvcGVyYXRvci55eHl4KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl4
eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXh5eChib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHl4KHVpbnQyIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl4eXgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXh5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3It
LSAqLwordWludCBvcGVyYXRvci0tKHVpbnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgLSAx
OwogfQotaW50NCBvcGVyYXRvci55eHl4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CitpbnQgb3BlcmF0b3It
LShpbnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgLSAxOwogfQotaW50NCBvcGVyYXRvci55
eHl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdCBvcGVyYXRvci0tKGZsb2F0IHZhbHVlKSB7Cisg
ICAgcmV0dXJuIHZhbHVlIC0gMTsKIH0KLWludDQgb3BlcmF0b3IueXh5eChpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I8PCAqLworbmF0aXZlIGludCBvcGVy
YXRvcjw8KGludCwgdWludCk7CituYXRpdmUgdWludCBvcGVyYXRvcjw8KHVpbnQsIHVpbnQpOwor
CisvKiBGdW5jdGlvbnMgbmFtZWQgZXhwMiAqLworZmxvYXQgZXhwMihmbG9hdCB4KSB7CisgICAg
cmV0dXJuIGV4cCh4ICogbG9nKGZsb2F0KDIpKSk7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh5eChm
bG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDIgZXhwMihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZXhwMih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh5eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDMgZXhwMihmbG9hdDMg
eCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwMih4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGV4cDIoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHl4KGZsb2F0NCB2KSB7Citm
bG9hdDQgZXhwMihmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gZXhwMih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBleHAyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGV4cDIoeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gZXhwMih4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuend4eSAqLwotYm9vbDQgb3BlcmF0b3Iuend4eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgZXhwMihm
bG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4
cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3eHkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gy
IGV4cDIoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVy
YXRvci56d3h5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworZmxvYXQ0eDIgZXhwMihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJl
c3VsdFszXVswXSA9IGV4cDIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3eHkoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDMgZXhw
MihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci53eXl3ICovCi1ib29sNCBvcGVyYXRvci53eXl3KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4MyBl
eHAyKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwMih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4
cDIoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd5eXco
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsK
K2Zsb2F0NHgzIGV4cDIoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAy
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZXhwMih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53eXl3
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owor
ZmxvYXQyeDQgZXhwMihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwMih4WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd5eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDQgZXhwMihmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAy
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHh3ICovCi1i
b29sNCBvcGVyYXRvci54eHh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh4eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHh3KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh4dyhmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4NCBleHAyKGZsb2F0
NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwMih4WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4
cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBleHAyKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGV4cDIoeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzNdID0gZXhwMih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXd5ICovCi1ib29sMyBvcGVyYXRvci55d3koYm9vbDQgdikgewot
ICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3Bl
cmF0b3IueXd5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXd5KGludDQgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXd5KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQor
LyogRnVuY3Rpb25zIG5hbWVkIGlzdW5vcmRlcmVkICovCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXp3PSAqLwotYm9vbDQgb3BlcmF0b3IueHl6dz0oYm9vbDQgdiwgYm9vbDQgYykg
ewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0
LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enc9KHVpbnQ0IHYsIHVpbnQ0IGMp
IHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53OwotICAg
IHJldHVybiByZXN1bHQ7Citib29sIGlzdW5vcmRlcmVkKGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAg
ICByZXR1cm4gaXNuYW4oeCkgfHwgaXNuYW4oeSk7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5enc9KGlu
dDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54
OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC53
ID0gYy53OworYm9vbDIgaXN1bm9yZGVyZWQoZmxvYXQyIHgsIGZsb2F0MiB5KSB7CisgICAgYm9v
bDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzdW5vcmRlcmVkKHhbMF0sIHlbMF0pOworICAg
IHJlc3VsdFsxXSA9IGlzdW5vcmRlcmVkKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHl6dz0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7
Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7Citib29sMyBpc3Vub3Jk
ZXJlZChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBib29sMyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gaXN1bm9yZGVy
ZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXN1bm9yZGVyZWQoeFsyXSwgeVsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6
d3cgKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3coYm9vbDQgdikgeworYm9vbDQgaXN1bm9yZGVyZWQo
ZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CiAgICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54end3KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp3dyhpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OworICAgIHJlc3VsdFswXSA9IGlzdW5vcmRlcmVk
KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzdW5vcmRlcmVkKHhbMV0sIHlbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGlzdW5vcmRlcmVkKHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9
IGlzdW5vcmRlcmVkKHhbM10sIHlbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54end5ICovCi1ib29sNCBvcGVyYXRvci54end5KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6d3kodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKKy8qIEZ1bmN0aW9ucyBuYW1l
ZCBhdGFuICovCituYXRpdmUgZmxvYXQgYXRhbihmbG9hdCk7CitmbG9hdDIgYXRhbihmbG9hdDIg
eCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBhdGFuKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9w
ZXJhdG9yLnh6d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDMgYXRhbihmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGF0YW4oeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci54end5KGZsb2F0NCB2KSB7CitmbG9hdDQgYXRhbihmbG9hdDQgeCkgewogICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBd
ID0gYXRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGF0YW4oeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXRhbih4WzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d3eiAqLwotYm9vbDQg
b3BlcmF0b3Iud3d3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi56OworZmxvYXQyeDIgYXRhbihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnd3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3gyIGF0YW4oZmxvYXQzeDIgeCkgeworICAgIGZs
b2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53d3d6KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDIgYXRhbihmbG9h
dDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4o
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
dGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnd3d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi56OworZmxvYXQyeDMgYXRhbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQy
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
YXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHp4ICovCi1i
b29sNCBvcGVyYXRvci56eHp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4MyBhdGFuKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9h
dDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnp4engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHgzIGF0YW4oZmxvYXQ0eDMgeCkg
eworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
YXRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4o
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenh6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgYXRhbihmbG9hdDJ4NCB4
KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhb
MV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXRhbih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0
b3Iuenh6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi54OworZmxvYXQzeDQgYXRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4o
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhdGFuKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnp4engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CitmbG9hdDR4NCBhdGFuKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBh
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGF0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0
YW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYXRhbih4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHp4KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworCisvKiBGdW5jdGlvbnMgbmFtZWQgbG9n
ICovCituYXRpdmUgZmxvYXQgbG9nKGZsb2F0KTsKK2Zsb2F0MiBsb2coZmxvYXQyIHgpIHsKKyAg
ICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZyh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBsb2coeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56
eHp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKK2Zsb2F0MyBsb2coZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGxvZyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2coeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gbG9nKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3Iuenh6eChmbG9hdDQgdikgeworZmxvYXQ0IGxvZyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eD0gKi8KLWJvb2wzIG9wZXJhdG9yLnp5
eD0oYm9vbDMgdiwgYm9vbDMgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7CisgICAg
cmVzdWx0WzBdID0gbG9nKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBsb2coeFsyXSk7CisgICAgcmVzdWx0WzNdID0gbG9nKHhbM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci56eXg9KGJvb2w0IHYsIGJvb2wzIGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OworZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2co
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXg9KHVpbnQzIHYsIHVpbnQzIGMpIHsKLSAgICB1
aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC54ID0gYy56OworZmxvYXQzeDIgbG9nKGZsb2F0M3gyIHgpIHsKKyAgICBm
bG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp5eD0odWludDQgdiwgdWludDMgYykgewot
ICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lnkg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7CitmbG9hdDR4MiBsb2coZmxvYXQ0eDIgeCkgewor
ICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp5eD0oaW50MyB2
LCBpbnQzIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7CitmbG9hdDJ4MyBsb2coZmxv
YXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2co
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4
WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eXg9KGludDQg
diwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl4PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKLSAgICBm
bG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMu
eTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnp5eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7CitmbG9hdDN4MyBsb2coZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9n
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2co
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGxvZyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgSW50ZXJsb2NrZWRNaW4gKi8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRl
dmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRNaW4oZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKGRldmljZSBhdG9taWNfaW50KiwgaW50
LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbihkZXZpY2UgYXRvbWlj
X3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZE1pbihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJl
YWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7
Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1pbih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVp
bnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWluKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgbGVuZ3RoICovCi1uYXRpdmUgZmxvYXQgbGVuZ3RoKGZsb2F0KTsKLW5hdGl2ZSBm
bG9hdCBsZW5ndGgoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdCBsZW5ndGgoZmxvYXQzKTsKLW5hdGl2
ZSBmbG9hdCBsZW5ndGgoZmxvYXQ0KTsKLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHd6eSAqLwotYm9vbDQgb3BlcmF0b3IueHd6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgbG9nKGZsb2F0NHgzIHgpIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2co
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnh3enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKK2Zsb2F0Mng0IGxvZyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2co
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd6eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3g0IGxvZyhmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHd6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDR4NCBsb2coZmxvYXQ0eDQgeCkg
eworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxv
Zyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9n
KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2co
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGxvZyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBsb2coeFszXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLS0gKi8K
LXVpbnQgb3BlcmF0b3ItLSh1aW50IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlIC0gMTsKLX0K
LWludCBvcGVyYXRvci0tKGludCB2YWx1ZSkgewotICAgIHJldHVybiB2YWx1ZSAtIDE7Ci19Ci1m
bG9hdCBvcGVyYXRvci0tKGZsb2F0IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlIC0gMTsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPDwgKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3I8
PChpbnQsIHVpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3I8PCh1aW50LCB1aW50KTsKKy8qIEZ1
bmN0aW9ucyBuYW1lZCBMb2FkICovCituYXRpdmUgdWludCBMb2FkKFRleHR1cmUxRDx1aW50Piwg
aW50IGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTFEQXJyYXk8dWludD4sIGlu
dDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgTG9hZChUZXh0dXJlMkQ8dWludD4sIGludDIgbG9j
YXRpb24pOworbmF0aXZlIHVpbnQgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50PiwgaW50MyBsb2Nh
dGlvbik7CituYXRpdmUgdWludCBMb2FkKFRleHR1cmUzRDx1aW50PiwgaW50MyBsb2NhdGlvbik7
CituYXRpdmUgdWludDIgTG9hZChUZXh0dXJlMUQ8dWludDI+LCBpbnQgbG9jYXRpb24pOworbmF0
aXZlIHVpbnQyIExvYWQoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBpbnQyIGxvY2F0aW9uKTsKK25h
dGl2ZSB1aW50MiBMb2FkKFRleHR1cmUyRDx1aW50Mj4sIGludDIgbG9jYXRpb24pOworbmF0aXZl
IHVpbnQyIExvYWQoVGV4dHVyZTJEQXJyYXk8dWludDI+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2
ZSB1aW50MiBMb2FkKFRleHR1cmUzRDx1aW50Mj4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIHVp
bnQzIExvYWQoVGV4dHVyZTFEPHVpbnQzPiwgaW50IGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBM
b2FkKFRleHR1cmUxREFycmF5PHVpbnQzPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludDMg
TG9hZChUZXh0dXJlMkQ8dWludDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MyBMb2Fk
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgdWludDMgTG9h
ZChUZXh0dXJlM0Q8dWludDM+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBMb2FkKFRl
eHR1cmUxRDx1aW50ND4sIGludCBsb2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJl
MURBcnJheTx1aW50ND4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVy
ZTJEPHVpbnQ0PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkRB
cnJheTx1aW50ND4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTNE
PHVpbnQ0PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQoVGV4dHVyZTFEPGludD4s
IGludCBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQoVGV4dHVyZTFEQXJyYXk8aW50PiwgaW50
MiBsb2NhdGlvbik7CituYXRpdmUgaW50IExvYWQoVGV4dHVyZTJEPGludD4sIGludDIgbG9jYXRp
b24pOworbmF0aXZlIGludCBMb2FkKFRleHR1cmUyREFycmF5PGludD4sIGludDMgbG9jYXRpb24p
OworbmF0aXZlIGludCBMb2FkKFRleHR1cmUzRDxpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQyIExvYWQoVGV4dHVyZTFEPGludDI+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIGludDIg
TG9hZChUZXh0dXJlMURBcnJheTxpbnQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50MiBM
b2FkKFRleHR1cmUyRDxpbnQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50MiBMb2FkKFRl
eHR1cmUyREFycmF5PGludDI+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQyIExvYWQoVGV4
dHVyZTNEPGludDI+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTFE
PGludDM+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMURBcnJheTxp
bnQzPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50MyBMb2FkKFRleHR1cmUyRDxpbnQzPiwg
aW50MiBsb2NhdGlvbik7CituYXRpdmUgaW50MyBMb2FkKFRleHR1cmUyREFycmF5PGludDM+LCBp
bnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTNEPGludDM+LCBpbnQzIGxv
Y2F0aW9uKTsKK25hdGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTFEPGludDQ+LCBpbnQgbG9jYXRpb24p
OworbmF0aXZlIGludDQgTG9hZChUZXh0dXJlMURBcnJheTxpbnQ0PiwgaW50MiBsb2NhdGlvbik7
CituYXRpdmUgaW50NCBMb2FkKFRleHR1cmUyRDxpbnQ0PiwgaW50MiBsb2NhdGlvbik7CituYXRp
dmUgaW50NCBMb2FkKFRleHR1cmUyREFycmF5PGludDQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQ0IExvYWQoVGV4dHVyZTNEPGludDQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9h
dCBMb2FkKFRleHR1cmUxRDxmbG9hdD4sIGludCBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9h
ZChUZXh0dXJlMURBcnJheTxmbG9hdD4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExv
YWQoVGV4dHVyZTJEPGZsb2F0PiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExvYWQo
VGV4dHVyZTNEPGZsb2F0PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4
dHVyZTFEPGZsb2F0Mj4sIGludCBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQyPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIExvYWQoVGV4
dHVyZTJEPGZsb2F0Mj4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MiBMb2FkKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0MiBMb2FkKFRl
eHR1cmUzRDxmbG9hdDI+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0
dXJlMUQ8ZmxvYXQzPiwgaW50IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJl
MURBcnJheTxmbG9hdDM+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgTG9hZChUZXh0
dXJlMkQ8ZmxvYXQzPiwgaW50MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQzIExvYWQoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQzIExvYWQoVGV4
dHVyZTNEPGZsb2F0Mz4sIGludDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1
cmUxRDxmbG9hdDQ+LCBpbnQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUx
REFycmF5PGZsb2F0ND4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1
cmUyRDxmbG9hdDQ+LCBpbnQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDQgTG9hZChUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCBpbnQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDQgTG9hZChUZXh0
dXJlM0Q8ZmxvYXQ0PiwgaW50MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJl
RGVwdGgyRDxmbG9hdD4sIGludDIgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIGludDMgbG9jYXRpb24pOwogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3d5eiAqLwotYm9vbDQgb3BlcmF0b3Iud3d5eihib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3l6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CisvKiBGdW5jdGlvbnMgbmFtZWQgc2luICovCitu
YXRpdmUgZmxvYXQgc2luKGZsb2F0KTsKK2Zsb2F0MiBzaW4oZmxvYXQyIHgpIHsKKyAgICBmbG9h
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBz
aW4oeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3d5eihpbnQ0
IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0
MyBzaW4oZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNp
bih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lu
KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3d5eihmbG9h
dDQgdikgeworZmxvYXQ0IHNpbihmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnh4eSAqLwotYm9vbDMgb3BlcmF0b3IueHh5KGJvb2wyIHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9w
ZXJhdG9yLnh4eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci54eHkoYm9vbDQgdikgewotICAgIGJvb2wzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHh5KHVp
bnQyIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CisgICAgcmVzdWx0WzBdID0gc2luKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaW4oeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gc2luKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11
aW50MyBvcGVyYXRvci54eHkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zs
b2F0MngyIHNpbihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNp
bih4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueHh5KHVp
bnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDN4MiBzaW4oZmxvYXQzeDIg
eCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MyBvcGVyYXRvci54eHkoaW50MiB2KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDR4MiBzaW4oZmxvYXQ0eDIgeCkgeworICAgIGZs
b2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eShpbnQzIHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBz
aW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKK2Zsb2F0M3gzIHNpbihmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBz
aW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNp
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gc2luKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3Bl
cmF0b3IueHh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9hdDMgdikgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54
eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3cgKi8KLWJvb2wzIG9wZXJh
dG9yLnh3dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54d3codWludDQgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54d3coaW50NCB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci54d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXh3PSAq
LwotYm9vbDQgb3BlcmF0b3Iuenl4dz0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAg
cmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7CitmbG9hdDR4MyBzaW4oZmxvYXQ0
eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1b
Ml0pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3Iuenl4dz0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0g
ICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBjLnc7CitmbG9hdDJ4NCBzaW4oZmxv
YXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gc2luKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnp5eHc9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAg
IHJlc3VsdC53ID0gYy53OworZmxvYXQzeDQgc2luKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBzaW4oeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRv
ci56eXh3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueCA9IGMu
ejsKLSAgICByZXN1bHQudyA9IGMudzsKK2Zsb2F0NHg0IHNpbihmbG9hdDR4NCB4KSB7CisgICAg
ZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gc2luKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
c2luKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHNpbih4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd3eiAqLwotYm9v
bDQgb3BlcmF0b3IueXd3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55
d3d6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzaW5jb3MgKi8KK3Zv
aWQgc2luY29zKGZsb2F0IHgsIHRocmVhZCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKnogPSBjb3MoeCk7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl3d3ooaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCB0aHJlYWQg
ZmxvYXQyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXd3eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9
IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5enogKi8KLWJv
b2w0IG9wZXJhdG9yLnd5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0
IHgsIHRocmVhZCBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5S
ZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci53eXp6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4
MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci53eXp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4
MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l6
eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgyIHgsIHRocmVhZCBm
bG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBleHAyICovCi1mbG9hdCBleHAyKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gZXhwKHgg
KiBsb2coZmxvYXQoMikpKTsKLX0KLWZsb2F0MiBleHAyKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQy
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGV4
cDIoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBleHAyKGZsb2F0MyB4KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOwotICAgIHJl
c3VsdFsxXSA9IGV4cDIoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZXhwMih4WzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGV4cDIoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwMih4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBleHAyKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGV4cDIo
eFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGV4cDIoZmxvYXQyeDIgeCkg
ewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHks
IHRocmVhZCBmbG9hdDJ4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7CiB9Ci1mbG9hdDJ4MyBleHAyKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwgdGhy
ZWFkIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKIH0KLWZsb2F0Mng0IGV4cDIoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBleHAyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4
MyogeSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsy
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3gyIGV4cDIoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0
M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGV4cDIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5
LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0M3gzIGV4cDIoZmxvYXQzeDMg
eCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gZXhwMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhwMih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZXhwMihmbG9hdDN4NCB4KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhw
Mih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDR4MiBleHAyKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZXhwMih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJl
dHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHks
IHRocmVhZCBmbG9hdDN4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBj
b3NSZXN1bHQ7CiB9Ci1mbG9hdDR4MyBleHAyKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBleHAyKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAy
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZXhwMih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0eDQgZXhwMihmbG9hdDR4NCB4KSB7
Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBl
eHAyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZXhwMih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZXhwMih4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOwotICAgIHJlc3VsdFsz
XVswXSA9IGV4cDIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGV4
cDIoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIHRo
cmVhZCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKnogPSBjb3Mo
eCk7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eXggKi8KLWJvb2wzIG9wZXJh
dG9yLnp5eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkIGZsb2F0MiogeSwgZGV2aWNlIGZs
b2F0MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0Owog
fQotYm9vbDMgb3BlcmF0b3Iuenl4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWQgZmxvYXQz
KiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAo
KnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQzIG9wZXJh
dG9yLnp5eCh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eXgodWludDQgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXgoaW50MyB2
KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3Iuenl4KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp5
eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3d3cgKi8KLWJvb2w0IG9wZXJh
dG9yLnd3d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d3dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3d3coaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci53d3d3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l6dyAqLwotYm9vbDQgb3BlcmF0b3Iud3l6dyhib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXp3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3Iud3l6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnd5encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQgeCwg
dGhyZWFkIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1
bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnl6encgKi8KLWJvb2w0IG9wZXJhdG9yLnl6encoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55enp3KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4
MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXp6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCBkZXZpY2UgZmxvYXQ0
eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsx
XSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55enp3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkIGZsb2F0MngzKiB5LCBkZXZpY2Ug
ZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d5ICovCi1ib29sMyBvcGVyYXRv
ci53d3koYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCBkZXZpY2Ug
ZmxvYXQzeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0
OwogfQotdWludDMgb3BlcmF0b3Iud3d5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3d5KGludDQgdikgewot
ICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3Bl
cmF0b3Iud3d5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3ogKi8KLWJvb2wy
IG9wZXJhdG9yLnd6KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQy
IG9wZXJhdG9yLnd6KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIg
b3BlcmF0b3Iud3ooaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBv
cGVyYXRvci53eihmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4PSAqLwotYm9vbDMgb3BlcmF0b3Iueng9KGJvb2wz
IHYsIGJvb2wyIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci56eD0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQzIG9wZXJhdG9yLnp4PSh1aW50MyB2LCB1aW50MiBjKSB7Ci0gICAgdWludDMgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iueng9KHVpbnQ0IHYsIHVpbnQyIGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp4PShpbnQzIHYs
IGludDIgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56
eD0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnog
PSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci56eD0oZmxvYXQzIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eD0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0Lngg
PSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnl4eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnl4eXkoYm9vbDIgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbDQgb3BlcmF0b3IueXh5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci55eHl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4eXkodWludDIg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5eSh1aW50MyB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55eHl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXh5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHl5KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eXkoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55eHl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl4eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh5
eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd5eXggKi8KLWJvb2w0IG9wZXJhdG9yLnd5eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3Iud3l5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4
MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
M11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5eXgo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBmbG9hdDJ4
NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l5
eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZCBm
bG9hdDN4NCogeSwgZGV2aWNlIGZsb2F0M3g0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXVszXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnkg
Ki8KLW5hdGl2ZSBib29sIG9wZXJhdG9yLnkoYm9vbDIpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3Iu
eShib29sMyk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvci55KGJvb2w0KTsKLW5hdGl2ZSB1aW50IG9w
ZXJhdG9yLnkodWludDIpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IueSh1aW50Myk7Ci1uYXRpdmUg
dWludCBvcGVyYXRvci55KHVpbnQ0KTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3IueShpbnQyKTsKLW5h
dGl2ZSBpbnQgb3BlcmF0b3IueShpbnQzKTsKLW5hdGl2ZSBpbnQgb3BlcmF0b3IueShpbnQ0KTsK
LW5hdGl2ZSBmbG9hdCBvcGVyYXRvci55KGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3Iu
eShmbG9hdDMpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnkoZmxvYXQ0KTsKLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd3enggKi8KLWJvb2w0IG9wZXJhdG9yLnd3engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3d6eCh1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnd3engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci53d3p4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueXh6eiAqLwotYm9vbDQgb3BlcmF0b3IueXh6eihib29sMyB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sNCBvcGVyYXRvci55eHp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl4enoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh6eih1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4enooaW50MyB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueXh6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnl4enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh6eihm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4
encgKi8KLWJvb2w0IG9wZXJhdG9yLnd4encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iud3h6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4
LCB0aHJlYWQgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9
IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3h6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWRncm91cCBmbG9hdCogeikg
eworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4encoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkIGZsb2F0Miog
eSwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilb
MV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHl4ICov
Ci1ib29sNCBvcGVyYXRvci56eHl4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZs
b2F0MyB4LCB0aHJlYWQgZmxvYXQzKiB5LCB0aHJlYWRncm91cCBmbG9hdDMqIHopIHsKKyAgICBm
bG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3Iuenh5eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3Iuenh5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenh5eCh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHksIHRo
cmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9
IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh5eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eHl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enh5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl4KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3h5ej0g
Ki8KLWJvb2w0IG9wZXJhdG9yLnd4eXo9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci53eHl6PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAg
ICByZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci53eHl6PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICBy
ZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91cCBm
bG9hdDR4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd4eXo9KGZsb2F0NCB2LCBm
bG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54Owot
ICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3VsdC56ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQg
ZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnl5eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnl5eHkoYm9vbDIgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5LCB0aHJlYWRncm91cCBmbG9h
dDN4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9
Ci1ib29sNCBvcGVyYXRvci55eXh5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZs
b2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQotYm9vbDQgb3Bl
cmF0b3IueXl4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0
aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7CisgICAgZmxvYXQg
c2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CiB9Ci11
aW50NCBvcGVyYXRvci55eXh5KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl5eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl4eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5eHkoaW50MiB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueXl4eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQz
eDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgeworICAg
IGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAg
ICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAo
eSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl5eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBm
bG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzNdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bM10gPSBjb3NS
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDIgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKnkgPSBzaW4oeCk7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKnogPSBjb3MoeCk7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQyKiB5LCB0
aHJlYWQgZmxvYXQyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBu
dWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NS
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6ICov
Ci1ib29sMiBvcGVyYXRvci54eihib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDQgeCwgZGV2aWNlIGZsb2F0NCogeSwgdGhyZWFkIGZsb2F0NCogeikg
eworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWJvb2wy
IG9wZXJhdG9yLnh6KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2lu
Y29zKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IueHoodWludDMgdikg
ewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueHoodWludDQgdikg
ewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci54eihpbnQzIHYpIHsK
LSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBvcGVyYXRvci54eihpbnQ0IHYpIHsKLSAg
ICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnh6KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG9wZXJhdG9yLnh6KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueXd5dyAqLwotYm9vbDQgb3BlcmF0b3IueXd5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci55d3l3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eXd5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgZGV2aWNlIGZs
b2F0M3gyKiB5LCB0aHJlYWQgZmxvYXQzeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7Cisg
ICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl3eXcoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCBkZXZpY2UgZmxvYXQ0eDIqIHksIHRo
cmVhZCBmbG9hdDR4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3p6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4Myog
eikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci53enp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0M3gz
IHgsIGRldmljZSBmbG9hdDN4MyogeSwgdGhyZWFkIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQg
c2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p6eihp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgz
KiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxv
YXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owor
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsz
XVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJd
ID0gY29zUmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6enooZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBpc3Vub3JkZXJlZCAqLwotCi1ib29sIGlzdW5v
cmRlcmVkKGZsb2F0IHgsIGZsb2F0IHkpIHsKLSAgICByZXR1cm4gaXNuYW4oeCkgfHwgaXNuYW4o
eSk7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZCBm
bG9hdDJ4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OwogfQotYm9vbDIgaXN1bm9yZGVyZWQoZmxvYXQyIHgsIGZsb2F0
MiB5KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzdW5vcmRlcmVkKHhb
MF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzdW5vcmRlcmVkKHhbMV0sIHlbMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQq
IHksIHRocmVhZCBmbG9hdDN4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9h
dCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10g
PSBjb3NSZXN1bHQ7CiB9Ci1ib29sMyBpc3Vub3JkZXJlZChmbG9hdDMgeCwgZmxvYXQzIHkpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gaXN1bm9yZGVyZWQoeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0NHg0IHgsIGRldmljZSBmbG9hdDR4NCogeSwgdGhyZWFkIGZsb2F0NHg0KiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotYm9vbDQgaXN1bm9yZGVyZWQoZmxvYXQ0
IHgsIGZsb2F0NCB5KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzdW5v
cmRlcmVkKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzdW5vcmRlcmVkKHhbMV0sIHlb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGlzdW5vcmRlcmVkKHhbMl0sIHlbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGlzdW5vcmRlcmVkKHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIGRldmljZSBmbG9hdCogeikgeworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICp6ID0gY29zKHgpOwogfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56d3d5ICovCi1ib29sNCBvcGVyYXRvci56d3d5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQg
c2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci56d3d5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MyB4LCBkZXZp
Y2UgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0Owor
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWlu
dDQgb3BlcmF0b3Iuend3eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3
d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56enh6ICovCi1ib29sNCBvcGVyYXRvci56enh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnp6eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enp4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enh6KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56enh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDQg
eCwgZGV2aWNlIGZsb2F0NCogeSwgZGV2aWNlIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkK
KyAgICAgICAgKCp6KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56enh6KGZs
b2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0
MngyKiB5LCBkZXZpY2UgZmxvYXQyeDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAg
ZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29z
KGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIGF0YW4gKi8KLW5hdGl2ZSBmbG9hdCBhdGFuKGZsb2F0KTsKLWZsb2F0MiBhdGFu
KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhdGFuKHhb
MF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgy
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDMgYXRhbihmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhdGFuKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGF0YW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgZGV2aWNlIGZsb2F0Mngz
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZs
b2F0NCBhdGFuKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBhdGFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYXRhbih4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhdGFuKHhbM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIGRldmlj
ZSBmbG9hdDN4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1
bHQ7CiB9Ci1mbG9hdDJ4MiBhdGFuKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBh
dGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDMgYXRhbihmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0
YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4
NCBhdGFuKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRh
bih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDN4MiBhdGFuKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFu
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGF0YW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
dGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5j
b3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCBkZXZpY2UgZmxvYXQ0eDMqIHopIHsK
KyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQotZmxvYXQzeDQg
YXRhbihmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGF0YW4o
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBhdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBh
dGFuKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBhdGFuKHhbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2Ug
ZmxvYXQyeDQqIHksIGRldmljZSBmbG9hdDJ4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsK
KyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0eDIgYXRh
bihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBhdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
Ml0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwogfQotZmxv
YXQ0eDMgYXRhbihmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGF0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGF0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGF0YW4oeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBhdGFu
KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBhdGFuKGZsb2F0NHg0
IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGF0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBhdGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBh
dGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGF0YW4oeFsyXVszXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11b
MV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGF0YW4oeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNd
ID0gYXRhbih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHh5eiAqLwotYm9vbDQgb3BlcmF0b3IueHh5eihib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnh4eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eHh5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXooaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBz
aW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZsb2F0NHg0KiB5LCBkZXZpY2UgZmxvYXQ0eDQqIHop
IHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh5eihmbG9h
dDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAqeSA9
IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLWZs
b2F0NCBvcGVyYXRvci54eHl6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQyIHgsIGRldmljZSBmbG9hdDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MiogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHl3eSAqLwotYm9vbDQgb3BlcmF0b3IueHl3eShib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDMgeCwgZGV2aWNlIGZsb2F0MyogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh5d3ko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQq
IHksIHRocmVhZGdyb3VwIGZsb2F0NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBm
bG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVszXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHl3eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDJ4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci54eXd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwg
ZGV2aWNlIGZsb2F0M3gyKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBsb2cgKi8KLW5hdGl2ZSBmbG9hdCBsb2coZmxvYXQpOwotZmxvYXQyIGxvZyhmbG9hdDIgeCkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nKHhbMF0pOwotICAgIHJl
c3VsdFsxXSA9IGxvZyh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGxvZyhm
bG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBsb2coeFsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBsb2coZmxvYXQ0IHgpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGxvZyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBs
b2coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbG9nKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGxv
Zyh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbG9nKGZsb2F0MngyIHgp
IHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBs
b2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBsb2coZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDR4MiogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OwogfQotZmxvYXQyeDQgbG9nKGZsb2F0Mng0IHgpIHsKLSAg
ICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2coeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGxvZyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgZGV2aWNl
IGZsb2F0MngzKiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeikgeworICAgIGZsb2F0IHNpblJl
c3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4MiBsb2coZmxvYXQzeDIgeCkg
ewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGxv
Zyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgZGV2aWNlIGZsb2F0
M3gzKiB5LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsK
KyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYg
KHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAh
PSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAg
ICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgq
eilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4MyBsb2coZmxvYXQzeDMgeCkgewotICAg
IGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJlYWRncm91
cCBmbG9hdDR4MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsz
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsy
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1
bHQ7CiB9Ci1mbG9hdDN4NCBsb2coZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9n
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MF1bM10gPSBsb2coeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOwot
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2co
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1bM10pOwotICAgIHJlc3VsdFsy
XVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxvZyh4
WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2
aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeikgeworICAgIGZsb2F0IHNp
blJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1b
M10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwogfQotZmxv
YXQ0eDIgbG9nKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gbG9nKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9n
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBsb2coeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9h
dDN4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9
Ci1mbG9hdDR4MyBsb2coZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBsb2coeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGxvZyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNlIGZs
b2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3Vs
dDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAg
aWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAo
eiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4
WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAg
ICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAg
ICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jl
c3VsdDsKIH0KLWZsb2F0NHg0IGxvZyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
b2coeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFswXVszXSA9IGxvZyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbG9nKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9n
KHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBsb2coeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11bMl0pOwot
ICAgIHJlc3VsdFszXVszXSA9IGxvZyh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikg
eworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICp5ID0gc2luKHgpOworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICp6ID0gY29zKHgpOwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iud3h3eCAqLwotYm9vbDQgb3BlcmF0b3Iud3h3eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2
b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJlYWQgZmxvYXQy
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CiB9Ci11
aW50NCBvcGVyYXRvci53eHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0
MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKKyAgICBmbG9h
dCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdID0gY29z
UmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53eHd4KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNp
bmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0aHJlYWQgZmxvYXQ0KiB6KSB7
CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnd4d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDJ4
MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgdGhyZWFkIGZsb2F0MngyKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6
dyAqLwotYm9vbDQgb3BlcmF0b3IueXh6dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNv
cyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6
KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkK
KyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFd
ID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBj
b3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwor
ICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAg
aWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0
IG9wZXJhdG9yLnl4encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4MiogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci55eHp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9h
dDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7Cisg
ICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHog
IT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci55eHp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQzeDMqIHksIHRocmVhZCBmbG9hdDN4MyogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBMb2FkICovCi1uYXRpdmUgdWludCBMb2FkKFRleHR1cmUxRDx1aW50PiwgaW50IGxvY2F0aW9u
KTsKLW5hdGl2ZSB1aW50IExvYWQoVGV4dHVyZTFEQXJyYXk8dWludD4sIGludDIgbG9jYXRpb24p
OwotbmF0aXZlIHVpbnQgTG9hZChUZXh0dXJlMkQ8dWludD4sIGludDIgbG9jYXRpb24pOwotbmF0
aXZlIHVpbnQgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRp
dmUgdWludCBMb2FkKFRleHR1cmUzRDx1aW50PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWlu
dDIgTG9hZChUZXh0dXJlMUQ8dWludDI+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExv
YWQoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBM
b2FkKFRleHR1cmUyRDx1aW50Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIExvYWQo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBMb2Fk
KFRleHR1cmUzRDx1aW50Mj4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQzIExvYWQoVGV4
dHVyZTFEPHVpbnQzPiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUx
REFycmF5PHVpbnQzPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgTG9hZChUZXh0dXJl
MkQ8dWludDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MyBMb2FkKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgTG9hZChUZXh0dXJlM0Q8
dWludDM+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50NCBMb2FkKFRleHR1cmUxRDx1aW50
ND4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMURBcnJheTx1aW50
ND4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTJEPHVpbnQ0Piwg
aW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDQgTG9hZChUZXh0dXJlMkRBcnJheTx1aW50ND4s
IGludDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IExvYWQoVGV4dHVyZTNEPHVpbnQ0PiwgaW50
MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTFEPGludD4sIGludCBsb2NhdGlv
bik7Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTFEQXJyYXk8aW50PiwgaW50MiBsb2NhdGlvbik7
Ci1uYXRpdmUgaW50IExvYWQoVGV4dHVyZTJEPGludD4sIGludDIgbG9jYXRpb24pOwotbmF0aXZl
IGludCBMb2FkKFRleHR1cmUyREFycmF5PGludD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGlu
dCBMb2FkKFRleHR1cmUzRDxpbnQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQo
VGV4dHVyZTFEPGludDI+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIGludDIgTG9hZChUZXh0dXJl
MURBcnJheTxpbnQyPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBMb2FkKFRleHR1cmUy
RDxpbnQyPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBMb2FkKFRleHR1cmUyREFycmF5
PGludDI+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIExvYWQoVGV4dHVyZTNEPGludDI+
LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTFEPGludDM+LCBpbnQg
bG9jYXRpb24pOwotbmF0aXZlIGludDMgTG9hZChUZXh0dXJlMURBcnJheTxpbnQzPiwgaW50MiBs
b2NhdGlvbik7Ci1uYXRpdmUgaW50MyBMb2FkKFRleHR1cmUyRDxpbnQzPiwgaW50MiBsb2NhdGlv
bik7Ci1uYXRpdmUgaW50MyBMb2FkKFRleHR1cmUyREFycmF5PGludDM+LCBpbnQzIGxvY2F0aW9u
KTsKLW5hdGl2ZSBpbnQzIExvYWQoVGV4dHVyZTNEPGludDM+LCBpbnQzIGxvY2F0aW9uKTsKLW5h
dGl2ZSBpbnQ0IExvYWQoVGV4dHVyZTFEPGludDQ+LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIGlu
dDQgTG9hZChUZXh0dXJlMURBcnJheTxpbnQ0PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50
NCBMb2FkKFRleHR1cmUyRDxpbnQ0PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50NCBMb2Fk
KFRleHR1cmUyREFycmF5PGludDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQ0IExvYWQo
VGV4dHVyZTNEPGludDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBMb2FkKFRleHR1
cmUxRDxmbG9hdD4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMURB
cnJheTxmbG9hdD4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTJE
PGZsb2F0PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZTNEPGZs
b2F0PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTFEPGZsb2F0
Mj4sIGludCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQyPiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQyIExvYWQoVGV4dHVyZTJEPGZsb2F0
Mj4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MiBMb2FkKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MiBMb2FkKFRleHR1cmUzRDxmbG9h
dDI+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMUQ8ZmxvYXQz
PiwgaW50IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMURBcnJheTxmbG9h
dDM+LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgTG9hZChUZXh0dXJlMkQ8ZmxvYXQz
PiwgaW50MiBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIExvYWQoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQzIExvYWQoVGV4dHVyZTNEPGZsb2F0
Mz4sIGludDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUxRDxmbG9hdDQ+
LCBpbnQgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUxREFycmF5PGZsb2F0
ND4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBMb2FkKFRleHR1cmUyRDxmbG9hdDQ+
LCBpbnQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgTG9hZChUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCBpbnQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgTG9hZChUZXh0dXJlM0Q8ZmxvYXQ0
PiwgaW50MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgTG9hZChUZXh0dXJlRGVwdGgyRDxmbG9h
dD4sIGludDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IExvYWQoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIGludDMgbG9jYXRpb24pOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
d3d5eCAqLwotYm9vbDQgb3BlcmF0b3Iud3d5eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci53d3l4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3d5
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3eXgoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enc9ICovCi1ib29s
NCBvcGVyYXRvci55enc9KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enc9KHVpbnQ0
IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0g
ICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci55enc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
encgKi8KLWJvb2wzIG9wZXJhdG9yLnl6dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRn
cm91cCBmbG9hdDR4MyogeSwgdGhyZWFkIGZsb2F0NHgzKiB6KSB7CisgICAgZmxvYXQgc2luUmVz
dWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnl6dyh1aW50NCB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNp
bmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkIGZsb2F0Mng0
KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBd
WzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Cisg
ICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVs
bCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnl6dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4NCogeikgeworICAgIGZsb2F0
IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsy
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXp3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp4PSAqLwotYm9vbDMgb3BlcmF0
b3IueXp4PShib29sMyB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp4PShib29sNCB2LCBib29s
MyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owor
dm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHksIHRocmVhZCBm
bG9hdDR4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVszXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzNdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9y
Lnl6eD0odWludDMgdiwgdWludDMgYykgewotICAgIHVpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0IHgsIHRocmVhZGdyb3VwIGZsb2F0
KiB5LCBkZXZpY2UgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAqeSA9
IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9IGNvcyh4KTsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnl6eD0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0
LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJl
YWRncm91cCBmbG9hdDIqIHksIGRldmljZSBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueXp4PShpbnQzIHYs
IGludDMgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAg
ICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0
Owordm9pZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZGdyb3VwIGZsb2F0MyogeSwgZGV2aWNlIGZs
b2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51
bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXSA9IHNpblJl
c3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl6eD0oaW50NCB2
LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK3ZvaWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIGRldmljZSBm
bG9hdDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBzaW5S
ZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsK
KyAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQor
ICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdID0gc2lu
UmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7
CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXp4PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9h
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxv
YXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHksIGRldmljZSBmbG9hdDJ4Miogeikgewor
ICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eng9KGZsb2F0NCB2
LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwg
ZGV2aWNlIGZsb2F0M3gyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNv
c1Jlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4d3ogKi8KLWJvb2w0
IG9wZXJhdG9yLnh4d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0eDIg
eCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgeworICAgIGZs
b2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsz
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueHh3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnh4d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHd6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5eiAq
LwotYm9vbDQgb3BlcmF0b3IueXp5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci55enl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6eXoodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp5eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXp5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6eXooZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp5eihmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eHcgKi8KLWJvb2w0
IG9wZXJhdG9yLnl6eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4
dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHcoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3eCAqLwotYm9vbDQgb3BlcmF0b3Iuenl3
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXd4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZGdyb3VwIGZsb2F0MngzKiB5
LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQg
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eXd4KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lk
IHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWRncm91cCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0
M3gzKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1b
MF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAg
ICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0g
bnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7
CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci56eXd4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3Mo
ZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4Myogeikg
eworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisg
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAg
ICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgIGlm
ICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBzaW4gKi8KLW5hdGl2ZSBmbG9hdCBzaW4oZmxvYXQpOwotZmxvYXQyIHNp
bihmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc2luKHhb
MF0pOwotICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9p
ZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDQqIHksIGRldmljZSBmbG9h
dDJ4NCogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVswXVsyXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBd
WzJdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Cisg
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9
IG51bGwpCisgICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVs
bCkKKyAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQzIHNpbihmbG9hdDMgeCkgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNpbih4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzaW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Zv
aWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxv
YXQzeDQqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMl0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0Owor
ICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51
bGwpCisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgq
eSlbMV1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsx
XVszXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3Vs
dDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0Owog
fQotZmxvYXQ0IHNpbihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gc2luKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsKLSAgICByZXN1bHRb
Ml0gPSBzaW4oeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gc2luKHhbM10pOwotICAgIHJldHVybiBy
ZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwg
ZGV2aWNlIGZsb2F0NHg0KiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMl0g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQor
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl1bM10g
PSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXVszXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Cisg
ICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKKyAgICBp
ZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQy
eDIgc2luKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRn
cm91cCBmbG9hdCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQqIHopIHsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAqeSA9IHNpbih4KTsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAqeiA9
IGNvcyh4KTsKIH0KLWZsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJlYWRncm91
cCBmbG9hdDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3Vs
dDsKIH0KLWZsb2F0Mng0IHNpbihmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzaW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHNpbih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3ZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJlYWRncm91cCBmbG9hdDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0MyogeikgeworICAgIGZsb2F0IHNpblJlc3VsdDsKKyAgICBmbG9hdCBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlm
ICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9
IG51bGwpCisgICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CiB9Ci1mbG9hdDN4MiBzaW4oZmxv
YXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVh
ZGdyb3VwIGZsb2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7CisgICAgZmxvYXQgc2lu
UmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0
OworICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAh
PSBudWxsKQorICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMl0gPSBz
aW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkg
IT0gbnVsbCkKKyAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxs
KQorICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OwogfQotZmxvYXQzeDMgc2luKGZsb2F0M3gz
IHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9
IHNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHNpbihmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHNpbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNd
ID0gc2luKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBzaW4oZmxv
YXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW4o
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFsx
XVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbih4
WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gc2luKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBzaW4o
ZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBz
aW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHNpbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNp
bih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc2lu
KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHks
IHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7CisgICAgZmxvYXQgc2luUmVzdWx0OworICAgIGZs
b2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OworICAg
IHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBu
dWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwp
CisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
KyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwogfQot
ZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0g
c2luKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNp
bih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW4oeFszXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzNdID0gc2luKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhm
bG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHopIHsKKyAgICBmbG9hdCBzaW5SZXN1bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxs
KQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisg
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd6eSAqLwotYm9vbDQgb3BlcmF0b3IueXd6eShi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBm
bG9hdDR4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsKKyAgICBmbG9hdCBzaW5SZXN1
bHQ7CisgICAgZmxvYXQgY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzJdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzNdWzBdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzJdWzFdID0g
c2luUmVzdWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMl1bMV0gPSBjb3NS
ZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
IGlmICh5ICE9IG51bGwpCisgICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYg
KHogIT0gbnVsbCkKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnl3enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MngzKiB6KSB7CisgICAg
ZmxvYXQgc2luUmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OworICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5
ICE9IG51bGwpCisgICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0g
bnVsbCkKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iu
eXd6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0Owordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7CisgICAgZmxvYXQgc2lu
UmVzdWx0OworICAgIGZsb2F0IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsx
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzFdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsy
XSA9IHNpblJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0g
Y29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICBpZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OworICAg
IGlmICh6ICE9IG51bGwpCisgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2lu
Y29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwp
CisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAg
ICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55d3p5KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl5
ICovCi1ib29sMyBvcGVyYXRvci56eXkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iuenl5KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnp5eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eXkodWludDQgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eXkoaW50
MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDMgb3BlcmF0b3Iuenl5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenl5KGZsb2F0MyB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9y
Lnp5eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4d3ogKi8KLWJvb2w0IG9w
ZXJhdG9yLnd4d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h3eih1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4d3ooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend4dyAqLwotYm9vbDQgb3BlcmF0b3Iuend4dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3h3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnp3eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci56d3l5ICovCi1ib29sNCBvcGVyYXRvci56d3l5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eXkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56d3l5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend5
eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnd4eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnd4eT0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnd4eT0odWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3h5PShpbnQ0IHYsIGludDMg
YykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1
bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnd4eT0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAg
cmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh5eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnh5eXkoYm9vbDIgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci54eXl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5
eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl5eSh1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHl5eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54
eXl5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXkoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnh5eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHl5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnl4enggKi8KLWJvb2w0IG9wZXJhdG9yLnl4engoYm9vbDMgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDQgb3BlcmF0b3IueXh6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci55eHp4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4engo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHp4KGludDMgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci55eHp4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4
engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55eSAqLwotYm9vbDIgb3BlcmF0b3IueXkoYm9vbDIgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXkoYm9vbDMgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDIgb3BlcmF0b3IueXkoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDIgb3BlcmF0b3IueXkodWludDIgdikgewotICAgIHVpbnQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDIgb3BlcmF0b3IueXkodWludDMgdikgewotICAgIHVpbnQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDIgb3BlcmF0b3IueXkodWludDQgdikgewotICAgIHVpbnQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MiBvcGVyYXRvci55eShpbnQyIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MiBvcGVyYXRvci55eShpbnQzIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MiBvcGVyYXRvci55eShpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4ICovCi1ib29sMyBvcGVy
YXRvci53engoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iud3p4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3p4KGludDQg
dikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3Iud3p4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl6eCAq
LwotYm9vbDQgb3BlcmF0b3IueXl6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci55eXp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5engodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXl6eCh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXl6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5engoZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl6eChmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHNpbmNvcyAqLwotdm9pZCBzaW5jb3Mo
ZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0aHJlYWQgZmxvYXQqIHopIHsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAqeSA9IHNpbih4KTsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAqeiA9IGNvcyh4KTsKLX0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5
LCB0aHJlYWQgZmxvYXQyKiB6KSB7Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91
cCBmbG9hdDR4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDMqIHopIHsKICAgICBmbG9hdCBzaW5S
ZXN1bHQ7CiAgICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKKyAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
ICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotfQotdm9p
ZCBzaW5jb3MoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKKyAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5
KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
KyAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKKyAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQ0
IHgsIHRocmVhZCBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5S
ZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4
LCB0aHJlYWQgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKKyAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAg
IGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYg
KHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2lu
Y29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Cisg
ICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsw
XSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAg
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKKyAgICAg
ICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKKyAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3Mo
eFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKKyAgICAgICAgKCp5KVszXVsyXSA9IHNpblJl
c3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQy
eDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQyeDQqIHopIHsKK3ZvaWQgc2lu
Y29zKGZsb2F0Mng0IHgsIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB5LCB0aHJlYWRncm91cCBmbG9h
dDJ4NCogeikgewogICAgIGZsb2F0IHNpblJlc3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwpAQCAtNjEwOCw0MyAr
NjcyMiw0MyBAQCB2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqCiAgICAg
ICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OworICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKKyAgICBp
ZiAoeSAhPSBudWxsKQorICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OworICAgIGlmICh6
ICE9IG51bGwpCisgICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhb
MV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAg
ICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAg
KCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKKyAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CisgICAgaWYgKHkgIT0gbnVsbCkKKyAgICAgICAgKCp5KVswXVsyXSA9IHNp
blJlc3VsdDsKKyAgICBpZiAoeiAhPSBudWxsKQorICAgICAgICAoKnopWzBdWzJdID0gY29zUmVz
dWx0OwogICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBp
ZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhb
MF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgIGlmICh5ICE9IG51bGwpCisgICAg
ICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7CisgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
KCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVszXSA9IHNp
blJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzNdID0gY29zUmVz
dWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDIgeCwgdGhyZWFkIGZsb2F0M3gyKiB5LCB0aHJl
YWQgZmxvYXQzeDIqIHopIHsKK3ZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZs
b2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9hdDN4NCogeikgewogICAgIGZsb2F0IHNpblJlc3Vs
dDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwpAQCAtNjE1MiwxNDYgKzY3NjYsNjMgQEAgdm9pZCBzaW5jb3MoZmxvYXQz
eDIgeCwgdGhyZWFkIGZsb2F0M3gyKgogICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gz
KiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7CiAgICAg
c2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51
bGwpCiAgICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkK
ICAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJd
ID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0
KiB5LCB0aHJlYWQgZmxvYXQzeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFswXVsyXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsw
XVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzBdWzJd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owog
ICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5S
ZXN1bHQ7CisgICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7
CisgICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7CisgICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7CisgICAgc2luY29zKHhbMV1bM10s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMl0gPSBzaW5SZXN1bHQ7CisgICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7CiAg
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKyAgICAg
ICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKICAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVszXSA9
IHNpblJlc3VsdDsKICAgICBpZiAoeiAhPSBudWxsKQogICAgICAgICAoKnopWzJdWzNdID0gY29z
UmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkIGZsb2F0NHgyKiB5LCB0
aHJlYWQgZmxvYXQ0eDIqIHopIHsKK3ZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHg0KiB5LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeikgewogICAgIGZsb2F0IHNpblJl
c3VsdDsKICAgICBmbG9hdCBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwpAQCAtNjI5OSwzMDkxOCArNjgzMCwxMjcyOCBAQCB2b2lkIHNpbmNv
cyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqCiAgICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKICAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAgaWYg
KHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKICAgICBpZiAoeiAh
PSBudWxsKQogICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotfQotdm9pZCBzaW5jb3Mo
ZmxvYXQ0eDMgeCwgdGhyZWFkIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKLSAg
ICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMF0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMV1bMV0gPSBzaW5S
ZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CisgICAgc2lu
Y29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OworICAg
ICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jl
c3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZCBmbG9hdDR4NCogeSwgdGhy
ZWFkIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7CiAgICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9IG51bGwpCiAgICAgICAgICgqeSlbMF1bMl0gPSBz
aW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVsbCkKICAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKICAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7CiAgICAg
aWYgKHkgIT0gbnVsbCkKICAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKICAgICBpZiAo
eiAhPSBudWxsKQogICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwogICAgIHNpbmNvcyh4
WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQogICAg
ICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCiAgICAgICAg
ICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0Owor
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworICAgIHNp
bmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzBdWzNdID0g
c2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OworICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKICAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OworICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOworICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OworICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKICAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OworICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwogICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7CisgICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CiAg
ICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwogICAgIGlmICh5ICE9
IG51bGwpCiAgICAgICAgICgqeSlbM11bM10gPSBzaW5SZXN1bHQ7CiAgICAgaWYgKHogIT0gbnVs
bCkKICAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0
IHgsIHRocmVhZCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKnog
PSBjb3MoeCk7Ci19Ci12b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkIGZsb2F0MiogeSwgZGV2
aWNlIGZsb2F0MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVz
dWx0OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSAq
LworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191
aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2Vk
Q29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRocmVhZCBpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNf
dWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgaW50LCBkZXZpY2UgaW50
Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWlj
X3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRl
cmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgaW50LCB0aHJl
YWRncm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKHRo
cmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQq
LCBpbnQsIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJl
RXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCBkZXZpY2UgdWlu
dCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAg
YXRvbWljX2ludCosIGludCwgaW50LCBkZXZpY2UgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxv
Y2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHVpbnQs
IHRocmVhZGdyb3VwIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hh
bmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7
CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBzbW9vdGhzdGVwICovCitmbG9hdCBzbW9vdGhzdGVwKGZs
b2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwgZmxvYXQgeCkgeworICAgIGZsb2F0IHQgPSBjbGFtcCgo
eCAtIGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2UwKSwgMCwgMSk7CisgICAgcmV0dXJuIHQgKiB0ICog
KDMgLSAyICogdCk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwg
ZGV2aWNlIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDIgc21vb3Roc3RlcChm
bG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9
IHNtb290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZv
aWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWQgZmxvYXQ0KiB5LCBkZXZpY2UgZmxvYXQ0KiB6KSB7
Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdID0gY29zUmVzdWx0OworZmxvYXQzIHNt
b290aHN0ZXAoZmxvYXQzIHgsIGZsb2F0MyB5LCBmbG9hdDMgeikgeworICAgIGZsb2F0MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9
IHNtb290aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZv
aWQgc2luY29zKGZsb2F0MngyIHgsIHRocmVhZCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZsb2F0Mngy
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0IHNtb290aHN0ZXAoZmxvYXQ0
IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzbW9v
dGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IHNtb290aHN0ZXAoeFsy
XSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNdID0gc21vb3Roc3RlcCh4WzNdLCB5WzNdLCB6
WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhy
ZWFkIGZsb2F0MngzKiB5LCBkZXZpY2UgZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworZmxvYXQyeDIgc21vb3Roc3RlcChmbG9hdDJ4MiB4
LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0Mng0IHgsIHRocmVhZCBm
bG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDN4MiBzbW9vdGhz
dGVwKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVsw
XSwgelsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwg
eVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0M3gyIHgsIHRocmVhZCBmbG9hdDN4MiogeSwgZGV2aWNlIGZsb2F0M3gyKiB6KSB7Ci0gICAg
ZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgyIHNtb290aHN0
ZXAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgeworICAgIGZsb2F0NHgyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwg
elsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11b
MF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29z
KGZsb2F0M3gzIHgsIHRocmVhZCBmbG9hdDN4MyogeSwgZGV2aWNlIGZsb2F0M3gzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIHNtb290
aHN0ZXAoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0Mngz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3Mo
ZmxvYXQzeDQgeCwgdGhyZWFkIGZsb2F0M3g0KiB5LCBkZXZpY2UgZmxvYXQzeDQqIHopIHsKLSAg
ICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OworZmxvYXQzeDMgc21vb3Ro
c3RlcChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CisgICAgZmxvYXQzeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIGRldmljZSBmbG9hdDR4Miogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29z
UmVzdWx0OworZmxvYXQ0eDMgc21vb3Roc3RlcChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9h
dDR4MyB6KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290
aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21v
b3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBz
bW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxv
YXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCBzbW9vdGhzdGVwKGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHksIGZsb2F0Mng0IHopIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQg
ZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsK
LSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJd
WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAh
PSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bM10gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVszXSA9IGNvc1Jlc3Vs
dDsKK2Zsb2F0M3g0IHNtb290aHN0ZXAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQg
eikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0
ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Ro
c3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9v
dGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNt
b290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gc21vb3Roc3RlcCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkIGZsb2F0KiB5LCB0
aHJlYWRncm91cCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICp5ID0g
c2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6ID0gY29zKHgpOworZmxvYXQ0
eDQgc21vb3Roc3RlcChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CisgICAg
ZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwg
eVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFsz
XVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0
ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Ro
c3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9v
dGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNt
b290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
c21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3Vs
dFszXVszXSA9IHNtb290aHN0ZXAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCB0aHJlYWQgZmxvYXQyKiB5LCB0
aHJlYWRncm91cCBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGV4cCAqLworbmF0aXZlIGZsb2F0IGV4
cChmbG9hdCk7CitmbG9hdDIgZXhwKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBleHAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAg
IHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0Myog
eSwgdGhyZWFkZ3JvdXAgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZs
b2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MyBleHAo
ZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4cCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwKHhbMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkIGZs
b2F0NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzNdID0gY29zUmVzdWx0OworZmxvYXQ0IGV4cChmbG9hdDQgeCkgeworICAgIGZsb2F0
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4
cCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBleHAoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZXhw
KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0
aHJlYWQgZmxvYXQyeDIqIHksIHRocmVhZGdyb3VwIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OworZmxvYXQyeDIgZXhwKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0
MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Zs
b2F0M3gyIGV4cChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7CitmbG9hdDR4MiBleHAoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBl
eHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHks
IHRocmVhZGdyb3VwIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZs
b2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MngzIGV4cChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCB0aHJlYWQgZmxvYXQzeDMqIHksIHRocmVh
ZGdyb3VwIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0M3gzIGV4cChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZXhwKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDN4NCB4LCB0aHJlYWQgZmxvYXQzeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NHgz
IGV4cChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBleHAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwKHhbM11bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIq
IHksIHRocmVhZGdyb3VwIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCBleHAoZmxvYXQy
eDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZXhwKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDR4MyB4LCB0aHJlYWQgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0M3g0IGV4cChm
bG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4
cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhw
KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhwKHhbMl1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHksIHRo
cmVhZGdyb3VwIGZsb2F0NHg0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
M10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11b
Ml0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworZmxvYXQ0
eDQgZXhwKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGV4cCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGV4cCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gZXhwKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dCB4LCBkZXZpY2UgZmxvYXQqIHksIHRocmVhZCBmbG9hdCogeikgewotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICp5ID0gc2luKHgpOwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICp6
ID0gY29zKHgpOworCisvKiBGdW5jdGlvbnMgbmFtZWQgYWxsICovCitib29sIGFsbChib29sIHgp
IHsKKyAgICByZXR1cm4geDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQy
KiB5LCB0aHJlYWQgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0g
PSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sMiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRl
dmljZSBmbG9hdDMqIHksIHRocmVhZCBmbG9hdDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OworYm9v
bCBhbGwoYm9vbDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5j
b3MoZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIHRocmVhZCBmbG9hdDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sNCB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMl0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgsIGRldmljZSBmbG9hdDJ4MiogeSwgdGhy
ZWFkIGZsb2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworYm9vbCBhbGwodWlu
dCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngzIHgsIGRl
dmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKHVpbnQyIHgpIHsKKyAgICBib29s
IHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQot
dm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgZGV2aWNlIGZsb2F0Mng0KiB5LCB0aHJlYWQgZmxvYXQy
eDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsz
XSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKHVpbnQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRy
dWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBm
bG9hdDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKHVpbnQ0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHksIHRo
cmVhZCBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NS
ZXN1bHQ7Citib29sIGFsbChpbnQgeCkgeworICAgIHJldHVybiB4ICE9IDA7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4NCogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Citib29sIGFsbChp
bnQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgZGV2aWNlIGZsb2F0NHgy
KiB5LCB0aHJlYWQgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGludDMgeCkgeworICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxv
YXQ0eDMgeCwgZGV2aWNlIGZsb2F0NHgzKiB5LCB0aHJlYWQgZmxvYXQ0eDMqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OworYm9vbCBhbGwoaW50NCB4KSB7
CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAw
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwgZGV2aWNl
IGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1
bHQ7Citib29sIGFsbChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0IHgsIGRldmljZSBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKnogPSBjb3MoeCk7Citib29sIGFsbChmbG9hdDIgeCkgeworICAgIGJvb2wgcmVzdWx0
ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDIgeCwgZGV2aWNlIGZsb2F0MiogeSwgZGV2aWNlIGZsb2F0MiogeikgewotICAg
IGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OworYm9vbCBhbGwoZmxvYXQz
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0MyB4LCBkZXZpY2UgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7Ci0g
ICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0
cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIGRldmljZSBmbG9hdDQqIHksIGRldmljZSBmbG9h
dDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZj
b3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Citi
b29sIGFsbChmbG9hdDJ4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0Owog
fQotdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgZGV2aWNlIGZsb2F0MngyKiB5LCBkZXZpY2UgZmxv
YXQyeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDN4MiB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MyB4LCBkZXZpY2UgZmxvYXQyeDMqIHksIGRldmlj
ZSBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Citib29sIGFsbChmbG9hdDR4MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZv
aWQgc2luY29zKGZsb2F0Mng0IHgsIGRldmljZSBmbG9hdDJ4NCogeSwgZGV2aWNlIGZsb2F0Mng0
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10g
PSBjb3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDJ4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0
cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzFdWzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDN4MiB4LCBkZXZpY2UgZmxvYXQzeDIqIHksIGRldmljZSBmbG9hdDN4MiogeikgewotICAgIGZs
b2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsw
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDN4MyB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2UgZmxvYXQzeDMqIHks
IGRldmljZSBmbG9hdDN4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Citib29sIGFsbChmbG9hdDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVl
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzNdWzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDN4NCB4LCBkZXZpY2UgZmxvYXQzeDQqIHksIGRldmljZSBmbG9hdDN4NCogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Citib29sIGFsbChm
bG9hdDJ4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV1bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0
NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgZGV2aWNlIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxv
YXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci19
Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBkZXZpY2UgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9h
dDR4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Citi
b29sIGFsbChmbG9hdDN4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4
NCB4LCBkZXZpY2UgZmxvYXQ0eDQqIHksIGRldmljZSBmbG9hdDR4NCogeikgewotICAgIGZsb2F0
IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsz
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsy
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
Ml1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsx
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsw
XSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3Vs
dCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAg
IHNpbmNvcyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBu
dWxsKQotICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bM10sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
M11bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsz
XSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGZsb2F0NHg0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhm
bG9hdCB4LCBkZXZpY2UgZmxvYXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7Ci0gICAgaWYg
KHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKnogPSBjb3MoeCk7Citib29sIGFsbChib29sMngyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0MiB4LCBkZXZpY2UgZmxvYXQyKiB5LCB0aHJlYWRncm91cCBmbG9hdDIqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxs
KGJvb2wzeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzIHgsIGRl
dmljZSBmbG9hdDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5S
ZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7
Citib29sIGFsbChib29sNHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQg
c2luY29zKGZsb2F0NCB4LCBkZXZpY2UgZmxvYXQ0KiB5LCB0aHJlYWRncm91cCBmbG9hdDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgq
eilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Citib29sIGFs
bChib29sMngzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MngyIHgs
IGRldmljZSBmbG9hdDJ4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9h
dCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
MF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
MV0gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sM3gzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMF07CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IHhbMF1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMl1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0MngzIHgsIGRldmljZSBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OworYm9vbCBhbGwoYm9v
bDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzNdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCBkZXZpY2UgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZs
b2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7Citib29sIGFsbChib29sMng0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMV07CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1b
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CisgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gyIHgsIGRldmljZSBmbG9hdDN4MiogeSwg
dGhyZWFkZ3JvdXAgZmxvYXQzeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxv
YXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFd
ID0gY29zUmVzdWx0OworYm9vbCBhbGwoYm9vbDN4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0
cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzBdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB4WzJdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB4WzFdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzNd
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MyB4LCBkZXZpY2Ug
ZmxvYXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKK2Jvb2wgYWxsKGJvb2w0eDQgeCkgeworICAgIGJv
b2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVswXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgeFsyXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsx
XVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFszXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQot
dm9pZCBzaW5jb3MoZmxvYXQzeDQgeCwgZGV2aWNlIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBm
bG9hdDN4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsz
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsy
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzJdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7
CisKKworLyogRnVuY3Rpb25zIG5hbWVkIGZpcnN0Yml0bG93ICovCit1aW50IGZpcnN0Yml0bG93
KHVpbnQgeCkgeworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDMxOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDMwOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI5
OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI4Owor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCA0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI3OworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCA1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI2OworICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCA2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI1OworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCA3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI0OworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIzOworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA5KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIyOworICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAxMCkpICE9IDApCisgICAgICAgIHJldHVybiAyMTsKKyAgICBpZiAoKHggJiB1aW50KDEg
PDwgMTEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8
IDEyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAx
MykpICE9IDApCisgICAgICAgIHJldHVybiAxODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMTc7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE1KSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDE2OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNikpICE9
IDApCisgICAgICAgIHJldHVybiAxNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMTQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE4KSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDEzOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOSkpICE9IDApCisg
ICAgICAgIHJldHVybiAxMjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMTE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDEwOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCisgICAgICAg
IHJldHVybiA5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDApCisgICAgICAgIHJl
dHVybiA4OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9IDApCisgICAgICAgIHJldHVy
biA3OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNSkpICE9IDApCisgICAgICAgIHJldHVybiA2
OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNikpICE9IDApCisgICAgICAgIHJldHVybiA1Owor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNykpICE9IDApCisgICAgICAgIHJldHVybiA0OworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAyOCkpICE9IDApCisgICAgICAgIHJldHVybiAzOworICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAyOSkpICE9IDApCisgICAgICAgIHJldHVybiAyOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzMCkpICE9IDApCisgICAgICAgIHJldHVybiAxOworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAzMSkpICE9IDApCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiAzMjsK
IH0KLXZvaWQgc2luY29zKGZsb2F0NHgyIHgsIGRldmljZSBmbG9hdDR4MiogeSwgdGhyZWFkZ3Jv
dXAgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKK3VpbnQgZmlyc3RiaXRsb3coaW50IHgpIHsKKyAgICBy
ZXR1cm4gZmlyc3RiaXRsb3codWludCh4KSk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCBk
ZXZpY2UgZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQg
c2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsy
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsz
XVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKLX0KLXZvaWQgc2luY29zKGZsb2F0NHg0
IHgsIGRldmljZSBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHopIHsKLSAgICBm
bG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
M11bM10gPSBjb3NSZXN1bHQ7Cit1aW50MiBmaXJzdGJpdGxvdyh1aW50MiB4KSB7CisgICAgdWlu
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKnogPSBjb3MoeCk7Cit1aW50MyBmaXJzdGJpdGxvdyh1aW50MyB4KSB7Cisg
ICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0
bG93KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDIgeCwg
dGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJlYWQgZmxvYXQyKiB6KSB7Ci0gICAgZmxvYXQgc2lu
UmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwp
Ci0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7Cit1aW50NCBmaXJzdGJpdGxvdyh1aW50NCB4
KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZp
cnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10pOworICAg
IHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQzKiB5LCB0aHJlYWQgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZs
b2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAg
ICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKK3VpbnQyIGZpcnN0
Yml0bG93KGludDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJz
dGJpdGxvdyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZGdyb3VwIGZsb2F0
NCogeSwgdGhyZWFkIGZsb2F0NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9h
dCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsz
XSA9IGNvc1Jlc3VsdDsKK3VpbnQzIGZpcnN0Yml0bG93KGludDMgeCkgeworICAgIHVpbnQzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDIgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgewotICAgIGZsb2F0IHNpblJlc3Vs
dDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKK3VpbnQ0IGZpcnN0Yml0bG93KGludDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJp
dGxvdyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKKyAgICByZXN1
bHRbM10gPSBmaXJzdGJpdGxvdyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBz
aW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyeDMqIHksIHRocmVhZCBmbG9hdDJ4
MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsw
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAg
c2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51
bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkK
LSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNp
blJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsx
XVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFd
ID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0
KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0Owot
ICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwgdGhyZWFkIGZs
b2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bM10gPSBjb3NSZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcjw9ICovCitu
YXRpdmUgYm9vbCBvcGVyYXRvcjw9KGludCwgaW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPD0o
dWludCwgdWludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcjw9KGZsb2F0LCBmbG9hdCk7CituYXRp
dmUgYm9vbDIgb3BlcmF0b3I8PSh1aW50MiwgdWludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9y
PD0odWludDMsIHVpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcjw9KHVpbnQ0LCB1aW50NCk7
CituYXRpdmUgYm9vbDIgb3BlcmF0b3I8PShpbnQyLCBpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVy
YXRvcjw9KGludDMsIGludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0oaW50NCwgaW50NCk7
CituYXRpdmUgYm9vbDIgb3BlcmF0b3I8PShmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgYm9vbDMg
b3BlcmF0b3I8PShmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8PShmbG9h
dDQsIGZsb2F0NCk7CituYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcjw9KGZsb2F0MngyLCBmbG9hdDJ4
Mik7CituYXRpdmUgYm9vbDN4MiBvcGVyYXRvcjw9KGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRp
dmUgYm9vbDR4MiBvcGVyYXRvcjw9KGZsb2F0NHgyLCBmbG9hdDR4Mik7CituYXRpdmUgYm9vbDJ4
MyBvcGVyYXRvcjw9KGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUgYm9vbDN4MyBvcGVyYXRv
cjw9KGZsb2F0M3gzLCBmbG9hdDN4Myk7CituYXRpdmUgYm9vbDR4MyBvcGVyYXRvcjw9KGZsb2F0
NHgzLCBmbG9hdDR4Myk7CituYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcjw9KGZsb2F0Mng0LCBmbG9h
dDJ4NCk7CituYXRpdmUgYm9vbDN4NCBvcGVyYXRvcjw9KGZsb2F0M3g0LCBmbG9hdDN4NCk7Citu
YXRpdmUgYm9vbDR4NCBvcGVyYXRvcjw9KGZsb2F0NHg0LCBmbG9hdDR4NCk7CisKKy8qIEZ1bmN0
aW9ucyBuYW1lZCBkZHhfZmluZSAqLworZmxvYXQgZGR4X2ZpbmUoZmxvYXQgeCkgeworICAgIHJl
dHVybiBkZHgoeCk7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9h
dDN4MiogeSwgdGhyZWFkIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAg
IGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsx
XVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3Vs
dDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0Owot
ICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAh
PSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51
bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsy
XVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MiBkZHhfZmluZShmbG9hdDIgeCkgeworICAgIGZsb2F0
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gZGR4X2ZpbmUoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZs
b2F0M3gzIHgsIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB5LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsK
LSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworZmxvYXQzIGRkeF9m
aW5lKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHhf
ZmluZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBkZHhfZmluZSh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3Mo
ZmxvYXQzeDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQzeDQqIHksIHRocmVhZCBmbG9hdDN4NCogeikg
ewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVszXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzNdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsyXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzJdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDQgZGR4
X2ZpbmUoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRk
eF9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGRkeF9maW5lKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeF9maW5lKHhbM10pOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91
cCBmbG9hdDR4MiogeSwgdGhyZWFkIGZsb2F0NHgyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0
OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4MiBkZHhf
ZmluZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNp
bmNvcyhmbG9hdDR4MyB4LCB0aHJlYWRncm91cCBmbG9hdDR4MyogeSwgdGhyZWFkIGZsb2F0NHgz
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVs
bCkKLSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQot
ICAgICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2lu
UmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNd
WzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0g
PSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQp
OwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0g
ICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0
M3gyIGRkeF9maW5lKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2Zp
bmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4
X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0NHg0IHgsIHRocmVhZGdyb3Vw
IGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7
Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsw
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsx
XVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsy
XVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1
bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlm
ICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHog
IT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsz
XVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAo
KnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzNdLCAmc2luUmVzdWx0LCAm
Y29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzNdID0gc2lu
UmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bM10gPSBjb3NSZXN1
bHQ7CitmbG9hdDR4MiBkZHhfZmluZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdCB4LCB0aHJlYWRncm91cCBmbG9hdCogeSwgZGV2aWNlIGZsb2F0KiB6KSB7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7CitmbG9hdDJ4MyBkZHhfZmluZShmbG9hdDJ4MyB4
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5l
KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12
b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCBkZXZpY2UgZmxvYXQy
KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV0gPSBjb3NSZXN1bHQ7CitmbG9h
dDN4MyBkZHhfZmluZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9m
aW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRk
eF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0p
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQzKiB5LCBkZXZpY2UgZmxvYXQzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0Owot
ICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXSwgJnNpblJlc3VsdCwgJmNvc1Jl
c3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXSA9IHNpblJlc3VsdDsK
LSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXSA9IGNvc1Jlc3VsdDsKLX0KLXZv
aWQgc2luY29zKGZsb2F0NCB4LCB0aHJlYWRncm91cCBmbG9hdDQqIHksIGRldmljZSBmbG9hdDQq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBz
aW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10gPSBjb3NSZXN1bHQ7Ci19Ci12
b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MiogeSwgZGV2aWNlIGZs
b2F0MngyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0eDMgZGR4X2ZpbmUo
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHhfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfZmluZSh4WzNdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDMgeCwgdGhyZWFkZ3JvdXAgZmxvYXQy
eDMqIHksIGRldmljZSBmbG9hdDJ4MyogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBm
bG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1b
Ml0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1
bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7
Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAg
ICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0g
bnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzJdLCAm
c2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkp
WzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1b
Ml0gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4NCBkZHhfZmluZShmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9maW5lKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWRncm91cCBmbG9hdDJ4NCogeSwg
ZGV2aWNlIGZsb2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDN4NCBkZHhfZmluZShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5l
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9m
aW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRk
eF9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgZGV2
aWNlIGZsb2F0M3gyKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNvc1Jl
c3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAg
aWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4
WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAg
ICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAg
ICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQs
ICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jl
c3VsdDsKK2Zsb2F0NHg0IGRkeF9maW5lKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2Zp
bmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4
X2ZpbmUoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZGR4X2ZpbmUoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR4X2ZpbmUoeFszXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0M3gzIHgsIHRocmVhZGdy
b3VwIGZsb2F0M3gzKiB5LCBkZXZpY2UgZmxvYXQzeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1
bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0
LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NS
ZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAg
IGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYg
KHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3Mo
eFsyXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAg
ICAgICAgKCp5KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAg
ICAoKnopWzJdWzJdID0gY29zUmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Ig
Y2FzdCAqLworbmF0aXZlIG9wZXJhdG9yIHVpbnQoaW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50
KGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQodWludCk7CituYXRpdmUgb3BlcmF0b3IgaW50
KGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdCh1aW50KTsKK25hdGl2ZSBvcGVyYXRvciBm
bG9hdChpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludChib29sKTsKK25hdGl2ZSBvcGVyYXRvciBi
b29sKHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIGJvb2woaW50KTsKK25hdGl2ZSBvcGVyYXRvciBi
b29sKGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBib29sMihib29sLCBib29sKTsKK25hdGl2ZSBv
cGVyYXRvciBib29sMyhib29sLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sMyhi
b29sMiwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDMoYm9vbCwgYm9vbDIpOworbmF0aXZl
IG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9y
IGJvb2w0KGJvb2wyLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sNChib29sLCBi
b29sMiwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbCwgYm9vbDIpOwor
bmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wyLCBib29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9v
bDQoYm9vbDMsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0KGJvb2wsIGJvb2wzKTsKK25h
dGl2ZSBvcGVyYXRvciB1aW50Mih1aW50LCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50Myh1
aW50LCB1aW50LCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50Myh1aW50MiwgdWludCk7Citu
YXRpdmUgb3BlcmF0b3IgdWludDModWludCwgdWludDIpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQ0
KHVpbnQsIHVpbnQsIHVpbnQsIHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQyLCB1
aW50LCB1aW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50LCB1aW50MiwgdWludCk7Citu
YXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludDIpOworbmF0aXZlIG9wZXJhdG9y
IHVpbnQ0KHVpbnQyLCB1aW50Mik7CituYXRpdmUgb3BlcmF0b3IgdWludDQodWludDMsIHVpbnQp
OworbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVpbnQzKTsKK25hdGl2ZSBvcGVyYXRvciBp
bnQyKGludCwgaW50KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQzKGludCwgaW50LCBpbnQpOworbmF0
aXZlIG9wZXJhdG9yIGludDMoaW50MiwgaW50KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQzKGludCwg
aW50Mik7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludCwgaW50LCBpbnQpOworbmF0aXZl
IG9wZXJhdG9yIGludDQoaW50MiwgaW50LCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDQoaW50
LCBpbnQyLCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQsIGludDIpOworbmF0
aXZlIG9wZXJhdG9yIGludDQoaW50MiwgaW50Mik7CituYXRpdmUgb3BlcmF0b3IgaW50NChpbnQz
LCBpbnQpOworbmF0aXZlIG9wZXJhdG9yIGludDQoaW50LCBpbnQzKTsKK25hdGl2ZSBvcGVyYXRv
ciBmbG9hdDIoZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDMoZmxvYXQsIGZs
b2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZsb2F0MiwgZmxvYXQpOworbmF0
aXZlIG9wZXJhdG9yIGZsb2F0MyhmbG9hdCwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9h
dDQoZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChm
bG9hdDIsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0LCBmbG9h
dDIsIGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQsIGZsb2F0LCBmbG9hdDIp
OworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgb3BlcmF0
b3IgZmxvYXQ0KGZsb2F0MywgZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwg
ZmxvYXQzKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MihmbG9hdDIsIGZsb2F0Mik7CituYXRp
dmUgb3BlcmF0b3IgZmxvYXQyeDMoZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIG9wZXJhdG9yIGZs
b2F0Mng0KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MihmbG9hdDIs
IGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MyhmbG9hdDMsIGZsb2F0
MywgZmxvYXQzKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDN4NChmbG9hdDQsIGZsb2F0NCwgZmxv
YXQ0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDR4MihmbG9hdDIsIGZsb2F0MiwgZmxvYXQyLCBm
bG9hdDIpOworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgzKGZsb2F0MywgZmxvYXQzLCBmbG9hdDMs
IGZsb2F0Myk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDQoZmxvYXQ0LCBmbG9hdDQsIGZsb2F0
NCwgZmxvYXQ0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MihmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDMoZmxvYXQsIGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQsIGZs
b2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBv
cGVyYXRvciBmbG9hdDN4MihmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDN4MyhmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9h
dDN4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdDR4
MihmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQp
OworbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgzKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwor
bmF0aXZlIG9wZXJhdG9yIGZsb2F0NHg0KGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9h
dCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBib29sMngyKGJvb2wyLCBi
b29sMik7CituYXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sMywgYm9vbDMpOworbmF0aXZlIG9w
ZXJhdG9yIGJvb2wyeDQoYm9vbDQsIGJvb2w0KTsKK25hdGl2ZSBvcGVyYXRvciBib29sM3gyKGJv
b2wyLCBib29sMiwgYm9vbDIpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDMoYm9vbDMsIGJvb2wz
LCBib29sMyk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDN4NChib29sNCwgYm9vbDQsIGJvb2w0KTsK
K25hdGl2ZSBvcGVyYXRvciBib29sNHgyKGJvb2wyLCBib29sMiwgYm9vbDIsIGJvb2wyKTsKK25h
dGl2ZSBvcGVyYXRvciBib29sNHgzKGJvb2wzLCBib29sMywgYm9vbDMsIGJvb2wzKTsKK25hdGl2
ZSBvcGVyYXRvciBib29sNHg0KGJvb2w0LCBib29sNCwgYm9vbDQsIGJvb2w0KTsKK25hdGl2ZSBv
cGVyYXRvciBib29sMngyKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9y
IGJvb2wyeDMoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3Bl
cmF0b3IgYm9vbDJ4NChib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sM3gyKGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDMoYm9vbCwgYm9vbCwgYm9vbCwgYm9v
bCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDN4
NChib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBi
b29sLCBib29sLCBib29sKTsKK25hdGl2ZSBvcGVyYXRvciBib29sNHgyKGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOworbmF0aXZlIG9wZXJhdG9yIGJvb2w0
eDMoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCk7CituYXRpdmUgb3BlcmF0b3IgYm9vbDR4NChib29sLCBib29sLCBi
b29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGxvYWQgKi8K
K25hdGl2ZSBpbnQgbG9hZChkZXZpY2UgYXRvbWljX2ludCopOworbmF0aXZlIHVpbnQgbG9hZChk
ZXZpY2UgYXRvbWljX3VpbnQqKTsKK25hdGl2ZSBpbnQgbG9hZCh0aHJlYWRncm91cCBhdG9taWNf
aW50Kik7CituYXRpdmUgdWludCBsb2FkKHRocmVhZGdyb3VwIGF0b21pY191aW50Kik7CisKKy8q
IEZ1bmN0aW9ucyBuYW1lZCBjb3VudF9iaXRzICovCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCByc3Fy
dCAqLworZmxvYXQgcnNxcnQoZmxvYXQgeCkgeworICAgIHJldHVybiAxIC8gc3FydCh4KTsKIH0K
LXZvaWQgc2luY29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCBkZXZpY2Ug
ZmxvYXQzeDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
M10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1b
Ml0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0
OworZmxvYXQyIHJzcXJ0KGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSByc3FydCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByc3FydCh4WzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDIgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQ0eDIqIHksIGRldmljZSBmbG9hdDR4MiogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAg
ICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
MV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilb
Ml1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1bHQsICZjb3NS
ZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0gPSBzaW5SZXN1
bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNvc1Jlc3VsdDsK
LSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBu
dWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OworZmxvYXQzIHJzcXJ0KGZsb2F0
MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByc3FydCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSByc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByc3FydCh4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFk
Z3JvdXAgZmxvYXQ0eDMqIHksIGRldmljZSBmbG9hdDR4MyogeikgewotICAgIGZsb2F0IHNpblJl
c3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMl0gPSBjb3NSZXN1bHQ7CitmbG9hdDQgcnNxcnQoZmxvYXQ0IHgpIHsKKyAg
ICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJzcXJ0KHhbMl0pOworICAgIHJl
c3VsdFszXSA9IHJzcXJ0KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNv
cyhmbG9hdDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgZGV2aWNlIGZsb2F0NHg0KiB6
KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFswXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVswXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzBdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzJd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMl0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bM10gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFd
ID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBj
b3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwot
ICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAg
aWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5j
b3MoeFszXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkK
LSAgICAgICAgKCp5KVszXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAg
ICAgICAoKnopWzNdWzNdID0gY29zUmVzdWx0OworZmxvYXQyeDIgcnNxcnQoZmxvYXQyeDIgeCkg
eworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSByc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQqIHksIHRocmVhZGdyb3VwIGZsb2F0KiB6KSB7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAg
ICAgKnkgPSBzaW4oeCk7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKnogPSBjb3MoeCk7
CitmbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJldHVybiByZXN1
bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkZ3JvdXAgZmxvYXQyKiB5LCB0aHJl
YWRncm91cCBmbG9hdDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0sICZz
aW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlb
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9IGNv
c1Jlc3VsdDsKK2Zsb2F0NHgyIHJzcXJ0KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFsz
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXZvaWQgc2luY29zKGZsb2F0MyB4LCB0aHJl
YWRncm91cCBmbG9hdDMqIHksIHRocmVhZGdyb3VwIGZsb2F0MyogeikgewotICAgIGZsb2F0IHNp
blJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF0gPSBz
aW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXSA9IGNvc1Jlc3Vs
dDsKLSAgICBzaW5jb3MoeFsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkg
IT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxs
KQotICAgICAgICAoKnopWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdLCAmc2luUmVz
dWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdID0g
c2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl0gPSBjb3NSZXN1
bHQ7CitmbG9hdDJ4MyByc3FydChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJz
cXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDQgeCwgdGhyZWFkZ3JvdXAgZmxvYXQ0KiB5LCB0
aHJlYWRncm91cCBmbG9hdDQqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQg
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV0s
ICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgq
eSlbMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAo
eiAhPSBudWxsKQotICAgICAgICAoKnopWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNd
LCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAo
KnkpWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM10g
PSBjb3NSZXN1bHQ7CitmbG9hdDN4MyByc3FydChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWRncm91cCBmbG9hdDJ4
MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQyeDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0g
ICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7
Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5
ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0g
bnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsw
XSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAg
KCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnop
WzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29z
UmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVz
dWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7
CitmbG9hdDR4MyByc3FydChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJz
cXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lk
IHNpbmNvcyhmbG9hdDJ4MyB4LCB0aHJlYWRncm91cCBmbG9hdDJ4MyogeSwgdGhyZWFkZ3JvdXAg
ZmxvYXQyeDMqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0
OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAo
eSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9
IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1b
MV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAg
ICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6
KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJlc3VsdCwgJmNv
c1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsyXSA9IHNpblJl
c3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0gY29zUmVzdWx0
OworZmxvYXQyeDQgcnNxcnQoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3Fy
dCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByc3FydCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSByc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQyeDQgeCwgdGhyZWFkZ3Jv
dXAgZmxvYXQyeDQqIHksIHRocmVhZGdyb3VwIGZsb2F0Mng0KiB6KSB7Ci0gICAgZmxvYXQgc2lu
UmVzdWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsw
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVszXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsz
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzNdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzBdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2lu
Y29zKHhbMV1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwp
Ci0gICAgICAgICgqeSlbMV1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAg
ICAgICAgKCp6KVsxXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsyXSwgJnNpblJl
c3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsy
XSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzJdID0g
Y29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsK
LSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzNdID0gc2luUmVzdWx0OwotICAg
IGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDN4
NCByc3FydChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHJzcXJ0KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhm
bG9hdDN4MiB4LCB0aHJlYWRncm91cCBmbG9hdDN4MiogeSwgdGhyZWFkZ3JvdXAgZmxvYXQzeDIq
IHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1b
MV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVzdWx0OwotICAgIHNp
bmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxs
KQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0g
ICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMF0sICZzaW5S
ZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1b
MF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVswXSA9
IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7
Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAg
ICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzFdID0gY29zUmVzdWx0OworZmxvYXQ0
eDQgcnNxcnQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSByc3FydCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByc3Fy
dCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByc3FydCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSByc3FydCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBy
c3FydCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSByc3FydCh4WzNdWzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkZ3JvdXAgZmxv
YXQzeDMqIHksIHRocmVhZGdyb3VwIGZsb2F0M3gzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVzdWx0
OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
MV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwg
JmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNp
blJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVz
dWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBp
ZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6
ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhb
Ml1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAg
ICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAg
KCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIHNxcnQgKi8KK2Zs
b2F0IHNxcnQoZmxvYXQgeCkgeworICAgIHJldHVybiBwb3coeCwgMC41KTsKIH0KLXZvaWQgc2lu
Y29zKGZsb2F0M3g0IHgsIHRocmVhZGdyb3VwIGZsb2F0M3g0KiB5LCB0aHJlYWRncm91cCBmbG9h
dDN4NCogeikgewotICAgIGZsb2F0IHNpblJlc3VsdDsKLSAgICBmbG9hdCBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVswXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzJdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMl0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bM10sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bM10gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVszXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVszXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVszXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsyXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsyXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzNdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bM10gPSBjb3NSZXN1bHQ7Citm
bG9hdDIgc3FydChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gc3FydCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzcXJ0KHhbMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9hdDR4MiB4LCB0aHJlYWRncm91cCBmbG9hdDR4Miog
eSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDIqIHopIHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAg
ZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsxXVswXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFd
WzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbMl1bMF0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbMl1bMF0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVsyXVswXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVsxXSwg
JnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5
KVsyXVsxXSA9IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJd
WzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVz
dWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0
OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0g
ICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9
IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVs
bCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0MyBzcXJ0KGZsb2F0MyB4
KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc3FydCh4WzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OwogfQotdm9pZCBzaW5jb3MoZmxvYXQ0eDMgeCwgdGhyZWFkZ3JvdXAg
ZmxvYXQ0eDMqIHksIHRocmVhZGdyb3VwIGZsb2F0NHgzKiB6KSB7Ci0gICAgZmxvYXQgc2luUmVz
dWx0OwotICAgIGZsb2F0IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzBdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzBdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMF1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMF1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMF1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVswXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzFdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzFdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMV1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMV1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMV1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsxXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbMl1bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbMl1bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVsyXVsyXSA9IGNvc1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVswXSwgJnNpblJlc3Vs
dCwgJmNvc1Jlc3VsdCk7Ci0gICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVswXSA9
IHNpblJlc3VsdDsKLSAgICBpZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzBdID0gY29z
UmVzdWx0OwotICAgIHNpbmNvcyh4WzNdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAg
ICBpZiAoeSAhPSBudWxsKQotICAgICAgICAoKnkpWzNdWzFdID0gc2luUmVzdWx0OwotICAgIGlm
ICh6ICE9IG51bGwpCi0gICAgICAgICgqeilbM11bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29z
KHhbM11bMl0sICZzaW5SZXN1bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0g
ICAgICAgICgqeSlbM11bMl0gPSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAg
ICAgKCp6KVszXVsyXSA9IGNvc1Jlc3VsdDsKK2Zsb2F0NCBzcXJ0KGZsb2F0NCB4KSB7CisgICAg
ZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IHNxcnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc3FydCh4WzJdKTsKKyAgICByZXN1bHRb
M10gPSBzcXJ0KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci12b2lkIHNpbmNvcyhmbG9h
dDR4NCB4LCB0aHJlYWRncm91cCBmbG9hdDR4NCogeSwgdGhyZWFkZ3JvdXAgZmxvYXQ0eDQqIHop
IHsKLSAgICBmbG9hdCBzaW5SZXN1bHQ7Ci0gICAgZmxvYXQgY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMF1bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMF1bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVswXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFswXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVswXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzBdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzBdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzBdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMF1bM10gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bMF0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bMF0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVswXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsxXVsxXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsxXVsxXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzFdWzFdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzFdWzJdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzFdWzJdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMV1bMl0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMV1bM10sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMV1bM10g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsxXVszXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVswXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVswXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzBdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzJdWzFdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzJdWzFdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbMl1bMV0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbMl1bMl0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbMl1bMl0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVsyXVsyXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFsyXVszXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVsyXVszXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzJdWzNdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzBdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzBdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bMF0gPSBjb3NSZXN1bHQ7Ci0gICAgc2luY29zKHhbM11bMV0sICZzaW5SZXN1
bHQsICZjb3NSZXN1bHQpOwotICAgIGlmICh5ICE9IG51bGwpCi0gICAgICAgICgqeSlbM11bMV0g
PSBzaW5SZXN1bHQ7Ci0gICAgaWYgKHogIT0gbnVsbCkKLSAgICAgICAgKCp6KVszXVsxXSA9IGNv
c1Jlc3VsdDsKLSAgICBzaW5jb3MoeFszXVsyXSwgJnNpblJlc3VsdCwgJmNvc1Jlc3VsdCk7Ci0g
ICAgaWYgKHkgIT0gbnVsbCkKLSAgICAgICAgKCp5KVszXVsyXSA9IHNpblJlc3VsdDsKLSAgICBp
ZiAoeiAhPSBudWxsKQotICAgICAgICAoKnopWzNdWzJdID0gY29zUmVzdWx0OwotICAgIHNpbmNv
cyh4WzNdWzNdLCAmc2luUmVzdWx0LCAmY29zUmVzdWx0KTsKLSAgICBpZiAoeSAhPSBudWxsKQot
ICAgICAgICAoKnkpWzNdWzNdID0gc2luUmVzdWx0OwotICAgIGlmICh6ICE9IG51bGwpCi0gICAg
ICAgICgqeilbM11bM10gPSBjb3NSZXN1bHQ7CitmbG9hdDJ4MiBzcXJ0KGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZENvbXBhcmVF
eGNoYW5nZSAqLwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoZGV2aWNl
IGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIElu
dGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBpbnQsIHRo
cmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKGRldmlj
ZSBhdG9taWNfdWludCosIHVpbnQsIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgaW50LCBk
ZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZp
Y2UgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwg
aW50LCB0aHJlYWRncm91cCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4
Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdWludCwgdGhyZWFkIHVpbnQq
KTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0
b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRDb21wYXJlRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB1aW50LCBk
ZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UodGhy
ZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVp
bnQsIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkQ29t
cGFyZUV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGludCwgdGhyZWFkZ3Jv
dXAgaW50Kik7Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eiAqLwotYm9vbDMg
b3BlcmF0b3IueHd6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDN4
MiBzcXJ0KGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3Fy
dCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9w
ZXJhdG9yLnh3eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQ0eDIg
c3FydChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNxcnQo
eFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50MyBvcGVyYXRvci54d3ooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Citm
bG9hdDJ4MyBzcXJ0KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0MyBvcGVyYXRvci54d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owor
ZmxvYXQzeDMgc3FydChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBzcXJ0KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci53enh6ICovCi1ib29sNCBvcGVyYXRvci53enh6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4
MyBzcXJ0KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3Fy
dCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHNxcnQoeFsz
XVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6eHoodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0
Mng0IHNxcnQoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
cXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDQgb3BlcmF0b3Iud3p4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3g0IHNxcnQoZmxvYXQzeDQgeCkgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3FydCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNx
cnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDQgc3FydChmbG9hdDR4NCB4KSB7
CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzcXJ0KHhbM11bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHNx
cnQoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnp4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnp4d3koYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iuenh3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi55OworLyogRnVuY3Rpb25zIG5hbWVkIGFjb3MgKi8KK25h
dGl2ZSBmbG9hdCBhY29zKGZsb2F0KTsKK2Zsb2F0MiBhY29zKGZsb2F0MiB4KSB7CisgICAgZmxv
YXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGFjb3MoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenh3eShp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zs
b2F0MyBhY29zKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gYWNvcyh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4
d3koZmxvYXQ0IHYpIHsKK2Zsb2F0NCBhY29zKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4dyAqLwotYm9vbDQgb3BlcmF0b3Iud3p4dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enh3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CisgICAgcmVzdWx0WzBd
ID0gYWNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhY29zKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGFjb3MoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYWNvcyh4WzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDIgYWNvcyhmbG9hdDJ4MiB4KSB7
CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci53enh3KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3gyIGFjb3MoZmxv
YXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29z
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YWNvcyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenl6ICovCi1ib29sMyBvcGVyYXRvci56eXooYm9vbDMgdikgewotICAgIGJv
b2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKK2Zsb2F0NHgyIGFjb3MoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFsz
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnp5eihib29sNCB2
KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDMgYWNvcyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56eXoodWludDMgdikg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKK2Zsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgewor
ICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNv
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iuenl6KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7CitmbG9hdDR4MyBhY29zKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOworICAg
IHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDMgb3BlcmF0b3Iuenl6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQy
eDQgYWNvcyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFj
b3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50MyBvcGVyYXRvci56eXooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
CitmbG9hdDN4NCBhY29zKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNv
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGFjb3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWNvcyh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGFjb3MoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56
eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQ0eDQgYWNvcyhm
bG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFj
b3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGFjb3MoeFszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gYWNvcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNv
cyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOworICAgIHJlc3Vs
dFszXVszXSA9IGFjb3MoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci56eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcj4gKi8KK25hdGl2ZSBi
b29sIG9wZXJhdG9yPihpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcj4odWludCwgdWlu
dCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcj4oZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBib29sMiBv
cGVyYXRvcj4odWludDIsIHVpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj4odWludDMsIHVp
bnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj4odWludDQsIHVpbnQ0KTsKK25hdGl2ZSBib29s
MiBvcGVyYXRvcj4oaW50MiwgaW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+KGludDMsIGlu
dDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPihpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBv
cGVyYXRvcj4oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPihmbG9hdDMs
IGZsb2F0Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I+KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2
ZSBib29sMngyIG9wZXJhdG9yPihmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGJvb2wzeDIg
b3BlcmF0b3I+KGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgYm9vbDR4MiBvcGVyYXRvcj4o
ZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPihmbG9hdDJ4Mywg
ZmxvYXQyeDMpOworbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I+KGZsb2F0M3gzLCBmbG9hdDN4Myk7
CituYXRpdmUgYm9vbDR4MyBvcGVyYXRvcj4oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25hdGl2ZSBi
b29sMng0IG9wZXJhdG9yPihmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGJvb2wzeDQgb3Bl
cmF0b3I+KGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj4oZmxv
YXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yJiAqLworYm9v
bCBvcGVyYXRvciYoYm9vbCBhLCBib29sIGIpIHsKKyAgICByZXR1cm4gYSAmJiBiOwogfQorbmF0
aXZlIGludCBvcGVyYXRvciYoaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3ImKHVpbnQs
IHVpbnQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl5eiAqLwotYm9vbDQgb3Bl
cmF0b3IueXl5eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OworLyogRnVuY3Rpb25zIG5hbWVkIHRhbmggKi8KK25hdGl2ZSBmbG9hdCB0YW5o
KGZsb2F0KTsKK2Zsb2F0MiB0YW5oKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl5eXooYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MyB0YW5oKGZs
b2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuaCh4WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXl5eih1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0IHRh
bmgoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbmgo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSB0YW5o
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHRhbmgoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQ0IG9wZXJhdG9yLnl5eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngyIHRhbmgoZmxvYXQyeDIgeCkgeworICAg
IGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5eXooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MiB0YW5oKGZsb2F0M3gyIHgpIHsK
KyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRh
bmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl5eihpbnQ0IHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgyIHRh
bmgoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW5oKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci55eXl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0MngzIHRhbmgoZmxvYXQyeDMgeCkgeworICAg
IGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzeDMg
dGFuaChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0
YW5oKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci54enl3ICovCi1ib29sNCBvcGVyYXRvci54enl3KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MyB0YW5oKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFu
aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh6eXcodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0Mng0IHRhbmgo
ZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0
YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDQgb3BlcmF0b3IueHp5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYudzsKK2Zsb2F0M3g0IHRhbmgoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRh
bmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnh6eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQ0eDQgdGFuaChmbG9hdDR4NCB4KSB7CisgICAgZmxv
YXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRh
bmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IHRhbmgoeFszXVsz
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIHNtb290aHN0
ZXAgKi8KLWZsb2F0IHNtb290aHN0ZXAoZmxvYXQgZWRnZTAsIGZsb2F0IGVkZ2UxLCBmbG9hdCB4
KSB7Ci0gICAgZmxvYXQgdCA9IGNsYW1wKCh4IC0gZWRnZTApIC8gKGVkZ2UxIC0gZWRnZTApLCAw
LCAxKTsKLSAgICByZXR1cm4gdCAqIHQgKiAoMyAtIDIgKiB0KTsKLX0KLWZsb2F0MiBzbW9vdGhz
dGVwKGZsb2F0MiB4LCBmbG9hdDIgeSwgZmxvYXQyIHopIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvciogKi8KK25hdGl2ZSBpbnQgb3BlcmF0b3IqKGludCwgaW50KTsKK25hdGl2ZSB1aW50
IG9wZXJhdG9yKih1aW50LCB1aW50KTsKK25hdGl2ZSBmbG9hdCBvcGVyYXRvciooZmxvYXQsIGZs
b2F0KTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvcioodWludDIsIHVpbnQyKTsKK25hdGl2ZSB1aW50
MiBvcGVyYXRvcioodWludDIsIHVpbnQpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yKih1aW50LCB1
aW50Mik7CituYXRpdmUgdWludDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50Myk7CituYXRpdmUgdWlu
dDMgb3BlcmF0b3IqKHVpbnQzLCB1aW50KTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvcioodWludCwg
dWludDMpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKih1aW50NCwgdWludDQpOworbmF0aXZlIHVp
bnQ0IG9wZXJhdG9yKih1aW50NCwgdWludCk7CituYXRpdmUgdWludDQgb3BlcmF0b3IqKHVpbnQs
IHVpbnQ0KTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKihpbnQyLCBpbnQyKTsKK25hdGl2ZSBpbnQy
IG9wZXJhdG9yKihpbnQyLCBpbnQpOworbmF0aXZlIGludDIgb3BlcmF0b3IqKGludCwgaW50Mik7
CituYXRpdmUgaW50MyBvcGVyYXRvciooaW50MywgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRv
ciooaW50MywgaW50KTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yKihpbnQsIGludDMpOworbmF0aXZl
IGludDQgb3BlcmF0b3IqKGludDQsIGludDQpOworbmF0aXZlIGludDQgb3BlcmF0b3IqKGludDQs
IGludCk7CituYXRpdmUgaW50NCBvcGVyYXRvciooaW50LCBpbnQ0KTsKK25hdGl2ZSBmbG9hdDIg
b3BlcmF0b3IqKGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZsb2F0
MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0Mik7CituYXRp
dmUgZmxvYXQzIG9wZXJhdG9yKihmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJh
dG9yKihmbG9hdDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IqKGZsb2F0LCBmbG9h
dDMpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdDQpOworbmF0aXZlIGZs
b2F0NCBvcGVyYXRvciooZmxvYXQ0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKihm
bG9hdCwgZmxvYXQ0KTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0
MngyKTsKK25hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQyeDIsIGZsb2F0KTsKK25hdGl2
ZSBmbG9hdDJ4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngyKTsKK25hdGl2ZSBmbG9hdDN4MiBv
cGVyYXRvciooZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvcioo
ZmxvYXQzeDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0
M3gyKTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25h
dGl2ZSBmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQ0eDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4
MiBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvcioo
ZmxvYXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQyeDMs
IGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0MngzKTsKK25h
dGl2ZSBmbG9hdDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9h
dDN4MyBvcGVyYXRvciooZmxvYXQzeDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDN4MyBvcGVyYXRv
ciooZmxvYXQsIGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMs
IGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQ0eDMsIGZsb2F0KTsK
K25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9h
dDJ4NCBvcGVyYXRvciooZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVy
YXRvciooZmxvYXQyeDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvciooZmxvYXQs
IGZsb2F0Mng0KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0M3g0
KTsKK25hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvciooZmxvYXQzeDQsIGZsb2F0KTsKK25hdGl2ZSBm
bG9hdDN4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVy
YXRvciooZmxvYXQ0eDQsIGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxv
YXQ0eDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0NHg0
KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGNvcyAqLworbmF0aXZlIGZsb2F0IGNvcyhmbG9hdCk7
CitmbG9hdDIgY29zKGZsb2F0MiB4KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNtb290
aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzBdID0gY29zKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGNvcyh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIHNt
b290aHN0ZXAoZmxvYXQzIHgsIGZsb2F0MyB5LCBmbG9hdDMgeikgeworZmxvYXQzIGNvcyhmbG9h
dDMgeCkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc21vb3Roc3RlcCh4
WzBdLCB5WzBdLCB6WzBdKTsKLSAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlbMV0s
IHpbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNtb290aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7Cisg
ICAgcmVzdWx0WzBdID0gY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvcyh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBjb3MoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBz
bW9vdGhzdGVwKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxvYXQ0IHopIHsKK2Zsb2F0NCBjb3MoZmxv
YXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNtb290aHN0ZXAo
eFswXSwgeVswXSwgelswXSk7Ci0gICAgcmVzdWx0WzFdID0gc21vb3Roc3RlcCh4WzFdLCB5WzFd
LCB6WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzbW9vdGhzdGVwKHhbMl0sIHlbMl0sIHpbMl0pOwot
ICAgIHJlc3VsdFszXSA9IHNtb290aHN0ZXAoeFszXSwgeVszXSwgelszXSk7CisgICAgcmVzdWx0
WzBdID0gY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvcyh4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBjb3MoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gY29zKHhbM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBzbW9vdGhzdGVwKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZs
b2F0MngyIHopIHsKK2Zsb2F0MngyIGNvcyhmbG9hdDJ4MiB4KSB7CiAgICAgZmxvYXQyeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHNtb290aHN0ZXAo
ZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgc21vb3Roc3Rl
cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7Ci0gICAgZmxvYXQyeDQgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3gyIHNtb290aHN0ZXAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSwgZmxv
YXQzeDIgeikgeworZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwg
elsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIHNtb290aHN0
ZXAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewotICAgIGZsb2F0M3gzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0s
IHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJd
WzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQg
c21vb3Roc3RlcChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5LCBmbG9hdDN4NCB6KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0s
IHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFd
WzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhb
MV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3Rl
cCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhz
dGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290
aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21v
b3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBz
bW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFswXVswXSA9
IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
Y29zKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiBzbW9vdGhzdGVw
KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKK2Zsb2F0NHgyIGNvcyhmbG9h
dDR4MiB4KSB7CiAgICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNtb290
aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21v
b3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBz
bW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1b
MV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0
WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBj
b3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDR4MyBzbW9vdGhzdGVwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHop
IHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0
ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc21vb3Ro
c3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9v
dGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNt
b290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
c21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gc21vb3Roc3RlcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBzbW9vdGhzdGVwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHNtb290aHN0ZXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CitmbG9hdDJ4
MyBjb3MoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNvcyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgc21vb3Ro
c3RlcChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7Ci0gICAgZmxvYXQ0eDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1b
Ml0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVsw
XVszXSwgelswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5
WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFd
WzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhb
Ml1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAo
eFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3Rl
cCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhz
dGVwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHNtb290
aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc21v
b3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBz
bW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IHNtb290aHN0ZXAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7CitmbG9hdDN4MyBjb3MoZmxv
YXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3Mo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5eiAq
LwotYm9vbDQgb3BlcmF0b3Iud3l5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDMgY29zKGZsb2F0NHgzIHgpIHsKKyAgICBm
bG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gY29zKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
Y29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBjb3MoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnd5eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKK2Zsb2F0Mng0IGNvcyhmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3l5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3g0IGNvcyhmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
Y29zKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBj
b3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3Iud3l5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4NCBjb3MoZmxvYXQ0eDQgeCkgeworICAg
IGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IGNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9
IGNvcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBjb3MoeFszXVszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3ICovCi1ib29s
MiBvcGVyYXRvci53dyhib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3I9PSAqLworbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShib29sLCBi
b29sKTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPT0oaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3Bl
cmF0b3I9PSh1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPT0oZmxvYXQsIGZsb2F0
KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcj09KGJvb2wyLCBib29sMik7CituYXRpdmUgYm9vbDMg
b3BlcmF0b3I9PShib29sMywgYm9vbDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0oYm9vbDQs
IGJvb2w0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcj09KHVpbnQyLCB1aW50Mik7CituYXRpdmUg
Ym9vbDMgb3BlcmF0b3I9PSh1aW50MywgdWludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0o
dWludDQsIHVpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcj09KGludDIsIGludDIpOworbmF0
aXZlIGJvb2wzIG9wZXJhdG9yPT0oaW50MywgaW50Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I9
PShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcj09KGZsb2F0MiwgZmxvYXQyKTsK
K25hdGl2ZSBib29sMyBvcGVyYXRvcj09KGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBib29sNCBv
cGVyYXRvcj09KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBib29sMngyIG9wZXJhdG9yPT0oZmxv
YXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sM3gyIG9wZXJhdG9yPT0oZmxvYXQzeDIsIGZs
b2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPT0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsK
K25hdGl2ZSBib29sMngzIG9wZXJhdG9yPT0oZmxvYXQyeDMsIGZsb2F0MngzKTsKK25hdGl2ZSBi
b29sM3gzIG9wZXJhdG9yPT0oZmxvYXQzeDMsIGZsb2F0M3gzKTsKK25hdGl2ZSBib29sNHgzIG9w
ZXJhdG9yPT0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25hdGl2ZSBib29sMng0IG9wZXJhdG9yPT0o
ZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBib29sM3g0IG9wZXJhdG9yPT0oZmxvYXQzeDQs
IGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9yPT0oZmxvYXQ0eDQsIGZsb2F0NHg0
KTsKK25hdGl2ZSBib29sMngyIG9wZXJhdG9yPT0oYm9vbDJ4MiwgYm9vbDJ4Mik7CituYXRpdmUg
Ym9vbDN4MiBvcGVyYXRvcj09KGJvb2wzeDIsIGJvb2wzeDIpOworbmF0aXZlIGJvb2w0eDIgb3Bl
cmF0b3I9PShib29sNHgyLCBib29sNHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPT0oYm9v
bDJ4MywgYm9vbDJ4Myk7CituYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj09KGJvb2wzeDMsIGJvb2wz
eDMpOworbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I9PShib29sNHgzLCBib29sNHgzKTsKK25hdGl2
ZSBib29sMng0IG9wZXJhdG9yPT0oYm9vbDJ4NCwgYm9vbDJ4NCk7CituYXRpdmUgYm9vbDN4NCBv
cGVyYXRvcj09KGJvb2wzeDQsIGJvb2wzeDQpOworbmF0aXZlIGJvb2w0eDQgb3BlcmF0b3I9PShi
b29sNHg0LCBib29sNHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj4gKi8KK25h
dGl2ZSBpbnQgb3BlcmF0b3I+PihpbnQsIHVpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3I+Pih1
aW50LCB1aW50KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIHJlZmxlY3QgKi8KK2Zsb2F0IHJlZmxl
Y3QoZmxvYXQgaSwgZmxvYXQgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7
CiB9Ci11aW50MiBvcGVyYXRvci53dyh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
CitmbG9hdDIgcmVmbGVjdChmbG9hdDIgaSwgZmxvYXQyIG4pIHsKKyAgICByZXR1cm4gaSAtIDIg
KiBuICogZG90KGksIG4pOwogfQotaW50MiBvcGVyYXRvci53dyhpbnQ0IHYpIHsKLSAgICBpbnQy
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OworZmxvYXQzIHJlZmxlY3QoZmxvYXQzIGksIGZsb2F0MyBuKSB7CisgICAg
cmV0dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKIH0KLWZsb2F0MiBvcGVyYXRvci53dyhmbG9h
dDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0NCByZWZsZWN0KGZsb2F0NCBp
LCBmbG9hdDQgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7CiB9CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcltdICovCi1uYXRpdmUgYm9vbCBvcGVyYXRvcltdKGJv
b2wyLCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yW10oYm9vbDMsIHVpbnQpOwotbmF0aXZl
IGJvb2wgb3BlcmF0b3JbXShib29sNCwgdWludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcltdKHVp
bnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yW10odWludDMsIHVpbnQpOwotbmF0aXZl
IHVpbnQgb3BlcmF0b3JbXSh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yW10oaW50
MiwgdWludCk7Ci1uYXRpdmUgaW50IG9wZXJhdG9yW10oaW50MywgdWludCk7Ci1uYXRpdmUgaW50
IG9wZXJhdG9yW10oaW50NCwgdWludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3JbXShmbG9hdDIs
IHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yW10oZmxvYXQzLCB1aW50KTsKLW5hdGl2ZSBm
bG9hdCBvcGVyYXRvcltdKGZsb2F0NCwgdWludCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yW10o
ZmxvYXQyeDIsIHVpbnQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcltdKGZsb2F0MngzLCB1aW50
KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3JbXShmbG9hdDJ4NCwgdWludCk7Ci1uYXRpdmUgZmxv
YXQyIG9wZXJhdG9yW10oZmxvYXQzeDIsIHVpbnQpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcltd
KGZsb2F0M3gzLCB1aW50KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3JbXShmbG9hdDN4NCwgdWlu
dCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yW10oZmxvYXQ0eDIsIHVpbnQpOwotbmF0aXZlIGZs
b2F0MyBvcGVyYXRvcltdKGZsb2F0NHgzLCB1aW50KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3Jb
XShmbG9hdDR4NCwgdWludCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3JbXShib29sMngyLCB1aW50
KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcltdKGJvb2wyeDMsIHVpbnQpOwotbmF0aXZlIGJvb2w0
IG9wZXJhdG9yW10oYm9vbDJ4NCwgdWludCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3JbXShib29s
M3gyLCB1aW50KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcltdKGJvb2wzeDMsIHVpbnQpOwotbmF0
aXZlIGJvb2w0IG9wZXJhdG9yW10oYm9vbDN4NCwgdWludCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0
b3JbXShib29sNHgyLCB1aW50KTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcltdKGJvb2w0eDMsIHVp
bnQpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yW10oYm9vbDR4NCwgdWludCk7CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eXd6ICovCi1ib29sNCBvcGVyYXRvci55eXd6KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5d3oodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eXd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueXl3eihmbG9hdDQgdikgeworLyogRnVuY3Rpb25zIG5hbWVkIGxpdCAqLworZmxvYXQ0IGxp
dChmbG9hdCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7CisgICAgZmxvYXQgYW1i
aWVudCA9IDE7CisgICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKKyAgICBmbG9h
dCBzcGVjdWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90X2ggKiBt
OwogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CisgICAgcmVz
dWx0LnggPSBhbWJpZW50OworICAgIHJlc3VsdC55ID0gZGlmZnVzZTsKKyAgICByZXN1bHQueiA9
IHNwZWN1bGFyOworICAgIHJlc3VsdC53ID0gMTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0v
KiBGdW5jdGlvbnMgbmFtZWQgZXhwICovCi1uYXRpdmUgZmxvYXQgZXhwKGZsb2F0KTsKLWZsb2F0
MiBleHAoZmxvYXQyIHgpIHsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cyICovCitmbG9hdCBsb2cy
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4gbG9nKHgpIC8gbG9nKGZsb2F0KDIpKTsKK30KK2Zsb2F0
MiBsb2cyKGZsb2F0MiB4KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBl
eHAoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAgIHJlc3VsdFswXSA9IGxv
ZzIoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQzIGV4cChmbG9hdDMgeCkgeworZmxvYXQzIGxvZzIoZmxvYXQzIHgpIHsKICAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBleHAoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZXhwKHhbMl0pOworICAgIHJlc3VsdFsw
XSA9IGxvZzIoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBsb2cyKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgZXhwKGZsb2F0
NCB4KSB7CitmbG9hdDQgbG9nMihmbG9hdDQgeCkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZXhwKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFdKTsKLSAgICBy
ZXN1bHRbMl0gPSBleHAoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZXhwKHhbM10pOworICAgIHJl
c3VsdFswXSA9IGxvZzIoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBsb2cyKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGxvZzIoeFszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngyIGV4cChmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4MiBs
b2cyKGZsb2F0MngyIHgpIHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1b
MV0pOworICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0MngzIGV4cChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4
cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZXhwKHhbMV1bMl0pOworZmxvYXQzeDIgbG9nMihmbG9hdDN4MiB4KSB7CisgICAg
ZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBleHAoZmxvYXQyeDQgeCkgewotICAgIGZs
b2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZXhwKHhbMV1bM10p
OworZmxvYXQ0eDIgbG9nMihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
ZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQzeDIgZXhwKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CitmbG9hdDJ4MyBsb2cyKGZs
b2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9n
Mih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxvZzIoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gzIGV4cChmbG9h
dDN4MyB4KSB7CitmbG9hdDN4MyBsb2cyKGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGV4cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9
IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3g0IGV4cChmbG9hdDN4NCB4KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGV4
cCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gZXhwKHhbMl1bM10pOworZmxvYXQ0eDMgbG9nMihmbG9hdDR4MyB4KSB7CisgICAg
ZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhb
Ml1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9n
Mih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDR4MiBleHAoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZXhwKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBleHAoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworZmxvYXQyeDQgbG9nMihm
bG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxv
ZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0eDMgZXhwKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZXhw
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSBleHAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBleHAo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IGV4cCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7Citm
bG9hdDN4NCBsb2cyKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGxvZzIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGxv
ZzIoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IGV4cChmbG9hdDR4
NCB4KSB7CitmbG9hdDR4NCBsb2cyKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGV4
cCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gZXhwKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsK
LSAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZXhw
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBleHAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBleHAo
eFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IGV4cCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7Ci0g
ICAgcmVzdWx0WzNdWzNdID0gZXhwKHhbM11bM10pOworICAgIHJlc3VsdFswXVswXSA9IGxvZzIo
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBs
b2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gbG9nMih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVszXSA9IGxvZzIoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp4dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnp4dz0oYm9vbDQgdiwg
Ym9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBub3JtYWxpemUgKi8KK2Zsb2F0IG5vcm1hbGl6ZShmbG9h
dCB4KSB7CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7CiB9Ci11aW50NCBvcGVyYXRvci56eHc9
KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7CitmbG9hdDIgbm9ybWFsaXplKGZsb2F0MiB4KSB7CisgICAgcmV0dXJuIHgg
LyBsZW5ndGgoeCk7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp4dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAg
ICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBj
Lnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MyBub3Jt
YWxpemUoZmxvYXQzIHgpIHsKKyAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKIH0KLWZsb2F0NCBv
cGVyYXRvci56eHc9KGZsb2F0NCB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdDQgbm9ybWFsaXplKGZsb2F0NCB4KSB7
CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56enogKi8KLWJvb2wzIG9wZXJhdG9yLnp6eihib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56enooYm9v
bDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDMgb3BlcmF0b3Iuenp6KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp6eih1aW50NCB2KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9y
Lnp6eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50MyBvcGVyYXRvci56enooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGxkZXhwICovCitmbG9h
dCBsZGV4cChmbG9hdCB4LCBmbG9hdCBlKSB7CisgICAgcmV0dXJuIHggKiBwb3coMiwgZSk7CiB9
Ci1mbG9hdDMgb3BlcmF0b3Iuenp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKK2Zsb2F0MiBsZGV4cChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGxk
ZXhwKHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iu
enp6KGZsb2F0NCB2KSB7CitmbG9hdDMgbGRleHAoZmxvYXQzIHgsIGZsb2F0MyB5KSB7CiAgICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3p3eCAqLwotYm9vbDQgb3BlcmF0b3Iud3p3eChib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53end4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gbGRleHAo
eFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7CisgICAgcmVz
dWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQg
b3BlcmF0b3Iud3p3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKK2Zsb2F0NCBsZGV4cChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9h
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGxkZXhwKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhbMl0sIHlb
Ml0pOworICAgIHJlc3VsdFszXSA9IGxkZXhwKHhbM10sIHlbM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MiBsZGV4cChmbG9hdDJ4MiB4
LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXp6ICovCi1ib29s
NCBvcGVyYXRvci55eXp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MiBsZGV4cChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7
CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhw
KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eXp6KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9h
dDR4MiBsZGV4cChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxk
ZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0s
IHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhw
KHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55eXp6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7CitmbG9hdDJ4MyBsZGV4cChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxk
ZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55eXp6KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4MyBsZGV4
cChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1b
MF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxk
ZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5enooaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MyBsZGV4cChm
bG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxk
ZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhw
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhb
M11bMl0sIHlbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5
enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7
CitmbG9hdDJ4NCBsZGV4cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3IueXl6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7CitmbG9hdDN4NCBsZGV4cChmbG9hdDN4NCB4LCBmbG9hdDN4NCB5KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhw
KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhb
MF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl6eihmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4NCBsZGV4cChm
bG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGxk
ZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhw
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGxkZXhwKHhb
M11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxkZXhwKHhbMF1bM10sIHlbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IGxkZXhwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IGxkZXhwKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9
IGxkZXhwKHhbM11bM10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXd4ICovCi1ib29sNCBvcGVyYXRvci55eXd4KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhYnMgKi8KK3VpbnQgYWJzKHVpbnQg
eCkgeworICAgIHJldHVybiB4OwogfQotdWludDQgb3BlcmF0b3IueXl3eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7CitpbnQgYWJzKGludCB4KSB7CisgICAgaWYgKHggPCAwKQorICAgICAgICByZXR1cm4g
LXg7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5d3goaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK2Zsb2F0IGFicyhmbG9hdCB4KSB7CisgICAgaWYgKHggPCAwKQorICAgICAgICByZXR1cm4g
LXg7CisgICAgcmV0dXJuIHg7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXl3eChmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Cit1aW50MiBhYnMo
dWludDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enggKi8KLWJvb2wzIG9wZXJhdG9yLnp6eChib29s
MyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwordWludDMgYWJzKHVpbnQzIHgpIHsKKyAg
ICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnp6eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwordWludDQgYWJzKHVpbnQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYWJzKHhbM10pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci56engodWludDMgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKK2ludDIgYWJzKGludDIgeCkgeworICAgIGludDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnp6eCh1aW50NCB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OworaW50MyBhYnMoaW50MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBhYnMoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0
b3Iuenp4KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OworaW50NCBhYnMoaW50NCB4
KSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmVz
dWx0WzNdID0gYWJzKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9y
Lnp6eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MiBhYnMoZmxvYXQy
IHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci56engoZmxvYXQzIHYpIHsKK2Zsb2F0MyBhYnMoZmxvYXQzIHgpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iuenp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKK2Zsb2F0NCBhYnMoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh4ICov
Ci1ib29sMyBvcGVyYXRvci54eHgoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
K2Zsb2F0MngyIGFicyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGFicyh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3IueHh4
KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDN4MiBhYnMoZmxvYXQz
eDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3IueHh4KGJvb2w0IHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7CitmbG9hdDR4MiBhYnMoZmxvYXQ0eDIgeCkgewor
ICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWJzKHhb
M11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eHgodWludDIg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MngzIGFicyhmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJz
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eHgodWludDMgdikgewotICAg
IHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7CisgICAgZmxv
YXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
YnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci11aW50MyBvcGVyYXRvci54eHgodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
K2Zsb2F0NHgzIGFicyhmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
YWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eChpbnQyIHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0Mng0IGFicyhmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBh
YnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHh4KGludDMgdikgewotICAg
IGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQzeDQgYWJzKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9h
dDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJz
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBhYnMoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0
b3IueHh4KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OworZmxvYXQ0eDQgYWJzKGZs
b2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJz
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBhYnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWJzKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFicyh4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gYWJzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBhYnMoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYWJzKHhb
M11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHh4KGZsb2F0
MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKKworCisvKiBGdW5jdGlvbnMgbmFtZWQg
cm91bmQgKi8KK25hdGl2ZSBmbG9hdCByb3VuZChmbG9hdCk7CitmbG9hdDIgcm91bmQoZmxvYXQy
IHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJvdW5kKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHJvdW5kKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDMgb3BlcmF0b3IueHh4KGZsb2F0MyB2KSB7CitmbG9hdDMgcm91bmQoZmxvYXQzIHgpIHsKICAg
ICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OworICAgIHJlc3VsdFswXSA9IHJvdW5kKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHJvdW5kKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJvdW5kKHhbMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHh4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0NCByb3VuZChmbG9hdDQgeCkgeworICAgIGZs
b2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gcm91bmQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gcm91bmQoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl4eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnl4eHkoYm9vbDIgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MngyIHJv
dW5kKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91
bmQoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl4eHko
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
K2Zsb2F0M3gyIHJvdW5kKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWJvb2w0IG9wZXJhdG9yLnl4eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgyIHJvdW5kKGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gcm91bmQoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9w
ZXJhdG9yLnl4eHkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0MngzIHJvdW5kKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl4eHkodWludDMgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gzIHJvdW5kKGZs
b2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91
bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
cm91bmQoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl4
eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKK2Zsb2F0NHgzIHJvdW5kKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91
bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcm91bmQoeFszXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
cm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gcm91bmQoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDQgb3BlcmF0b3IueXh4eShpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKK2Zsb2F0Mng0IHJvdW5kKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcm91
bmQoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXh4eShp
bnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zs
b2F0M3g0IHJvdW5kKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
cm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gcm91bmQoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3Bl
cmF0b3IueXh4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKK2Zsb2F0NHg0IHJvdW5kKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91
bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcm91bmQoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gcm91bmQoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
cm91bmQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gcm91bmQoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gcm91bmQo
eFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eHh5KGZs
b2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OworCisvKiBGdW5jdGlvbnMgbmFtZWQgbXVsICovCit1aW50IG11
bCh1aW50IHgsIHVpbnQgeSkgeworICAgIHJldHVybiB4ICogeTsKIH0KLWZsb2F0NCBvcGVyYXRv
ci55eHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworaW50IG11bChpbnQgeCwgaW50IHkpIHsKKyAg
ICByZXR1cm4geCAqIHk7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh4eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK2Zsb2F0IG11bChmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgcmV0dXJuIHggKiB5Owog
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l5eSAqLwotYm9vbDQgb3BlcmF0b3Iu
d3l5eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwordWludDIgbXVsKHVpbnQgeCwgdWludDIgeSkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l5eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDIgbXVsKHVpbnQyIHgs
IHVpbnQgeSkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsK
KyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBv
cGVyYXRvci53eXl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi55OwordWludDMgbXVsKHVpbnQgeCwgdWludDMgeSkgeworICAgIHVpbnQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsK
KyAgICByZXN1bHRbMl0gPSB4ICogeVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnd5eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwordWludDMgbXVsKHVpbnQzIHgsIHVpbnQgeSkgeworICAgIHVpbnQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFd
ICogeTsKKyAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3l3
dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53
OwordWludDQgbXVsKHVpbnQgeCwgdWludDQgeSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1
bHRbMl0gPSB4ICogeVsyXTsKKyAgICByZXN1bHRbM10gPSB4ICogeVszXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iud3l3dyh1aW50NCB2KSB7Cit1aW50NCBtdWwodWlu
dDQgeCwgdWludCB5KSB7CiAgICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5
OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5Owog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd5d3coaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitpbnQyIG11bChpbnQgeCwg
aW50MiB5KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07Cisg
ICAgcmVzdWx0WzFdID0geCAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci53eXd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKK2ludDIgbXVsKGludDIgeCwgaW50IHkpIHsKKyAgICBpbnQyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl5
dyAqLwotYm9vbDQgb3BlcmF0b3IueXl5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OworaW50MyBtdWwoaW50IHgsIGludDMgeSkgeworICAg
IGludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9
IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50NCBvcGVyYXRvci55eXl3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitpbnQzIG11bChpbnQzIHgsIGludCB5KSB7CisgICAg
aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0g
eFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3IueXl5dyhpbnQ0IHYpIHsKK2ludDQgbXVsKGludCB4LCBpbnQ0IHkp
IHsKICAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworICAgIHJlc3VsdFswXSA9IHgg
KiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5
WzJdOworICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHcgKi8KLWJvb2wzIG9wZXJhdG9yLnh4dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworaW50NCBtdWwoaW50NCB4LCBpbnQg
eSkgeworICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJl
c3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3Vs
dFszXSA9IHhbM10gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54
eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Zsb2F0MiBtdWwoZmxvYXQg
eCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5
WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQzIG9wZXJhdG9yLnh4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Zsb2F0
MiBtdWwoZmxvYXQyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHh3KGZsb2F0NCB2KSB7CitmbG9hdDMgbXVsKGZs
b2F0IHgsIGZsb2F0MyB5KSB7CiAgICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4eSAqLwotYm9vbDQg
b3BlcmF0b3IueHp4eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54enh5
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eHkodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh6eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFd
ID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDQgb3BlcmF0b3IueHp4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0IHkpIHsK
KyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3Vs
dFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp4eShmbG9hdDMgdikgeworZmxvYXQ0IG11bChm
bG9hdCB4LCBmbG9hdDQgeSkgewogICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFdID0geCAq
IHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07CisgICAgcmVzdWx0WzNdID0geCAqIHlb
M107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54enh5KGZsb2F0NCB2
KSB7CitmbG9hdDQgbXVsKGZsb2F0NCB4LCBmbG9hdCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKKyAg
ICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKKyAgICBy
ZXN1bHRbM10gPSB4WzNdICogeTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXc9ICovCi1ib29sNCBvcGVyYXRvci55dz0oYm9vbDQgdiwgYm9v
bDIgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LncgPSBjLnk7CitmbG9hdDJ4MiBtdWwoZmxvYXQgeCwgZmxvYXQyeDIgeSkgeworICAg
IGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueXc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OworZmxvYXQy
eDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzFdID0g
eFsxXVsxXSAqIHk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXc9KGlu
dDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OworZmxvYXQzeDIgbXVsKGZsb2F0IHgsIGZsb2F0M3gyIHkp
IHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdID0geCAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55dz0oZmxvYXQ0IHYsIGZsb2F0MiBj
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LncgPSBjLnk7CitmbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxvYXQgeSkgeworICAgIGZs
b2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKKyAgICByZXN1
bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdICogeTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl4ICovCi1ib29sMyBvcGVy
YXRvci54eXgoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0NHgyIG11
bChmbG9hdCB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5
WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsx
XSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJl
c3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBv
cGVyYXRvci54eXgoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0NHgy
IG11bChmbG9hdDR4MiB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5
OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhb
M11bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAg
IHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29s
MyBvcGVyYXRvci54eXgoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0
MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFd
WzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9
IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVy
YXRvci54eXgodWludDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MngzIG11
bChmbG9hdDJ4MyB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5Owor
ICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsy
XSA9IHhbMV1bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54
eXgodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gzIG11bChmbG9h
dCB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJl
c3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IHgg
KiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eXgodWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3gzIG11bChmbG9hdDN4MyB4LCBmbG9hdCB5KSB7Cisg
ICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0g
KiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9
IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3Vs
dFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5Owor
ICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQzIG9wZXJhdG9yLnh5eChpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0
NHgzIG11bChmbG9hdCB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFd
WzBdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVswXSA9
IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5
WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsy
XSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eChpbnQzIHYpIHsKLSAgICBpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKK2Zsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdCB5KSB7CisgICAgZmxv
YXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3Vs
dFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5Owor
ICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1b
MV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsx
XSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJl
c3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5
OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAgIHJlc3VsdFszXVsyXSA9IHhb
M11bMl0gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eChpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0Mng0IG11bChmbG9hdCB4LCBmbG9h
dDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5
WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJl
c3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJd
OworICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHgg
KiB5WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl4KGZs
b2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0Mng0IG11bChmbG9hdDJ4
NCB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5Owor
ICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1b
Ml0gKiB5OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVsz
XSA9IHhbMV1bM10gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3Iu
eHl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0M3g0IG11bChm
bG9hdCB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAg
IHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBd
WzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9
IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5
WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKK2Zsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsx
XVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9
IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3Vs
dFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5Owor
ICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJlc3VsdFsyXVszXSA9IHhbMl1b
M10gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBhbGwg
Ki8KLWJvb2wgYWxsKGJvb2wgeCkgewotICAgIHJldHVybiB4OwotfQotYm9vbCBhbGwoYm9vbDIg
eCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSk7CitmbG9hdDR4NCBtdWwoZmxvYXQg
eCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSB4ICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1
bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11b
MV0gPSB4ICogeVszXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsy
XTsKKyAgICByZXN1bHRbM11bMl0gPSB4ICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSB4
ICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10gPSB4ICogeVsxXVszXTsKKyAgICByZXN1bHRb
Ml1bM10gPSB4ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bM10gPSB4ICogeVszXVszXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDMgeCkgewotICAgIGJvb2wgcmVzdWx0
ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0pOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdKTsKK2Zsb2F0NHg0
IG11bChmbG9hdDR4NCB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5
OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhb
M11bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAg
IHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0g
KiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9
IHhbMl1bMl0gKiB5OworICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJlc3Vs
dFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5Owor
ICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3VsdFszXVszXSA9IHhbM11b
M10gKiB5OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sNCB4KSB7Ci0gICAg
Ym9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0p
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK3Vp
bnQgbXVsKHVpbnQyIHgsIHVpbnQyIHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotYm9v
bCBhbGwodWludCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKK3VpbnQgbXVsKHVpbnQzIHgsIHVp
bnQzIHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotYm9vbCBhbGwodWludDIgeCkgewot
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOwotICAgIHJldHVybiByZXN1
bHQ7Cit1aW50IG11bCh1aW50NCB4LCB1aW50NCB5KSB7CisgICAgcmV0dXJuIGRvdCh4LCB5KTsK
IH0KLWJvb2wgYWxsKHVpbnQzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKK2ludCBtdWwoaW50MiB4LCBpbnQyIHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkp
OwogfQotYm9vbCBhbGwodWludDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM10gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBtdWwo
aW50MyB4LCBpbnQzIHkpIHsKKyAgICByZXR1cm4gZG90KHgsIHkpOwogfQotYm9vbCBhbGwoaW50
IHgpIHsKLSAgICByZXR1cm4geCAhPSAwOworaW50IG11bChpbnQ0IHgsIGludDQgeSkgeworICAg
IHJldHVybiBkb3QoeCwgeSk7CiB9Ci1ib29sIGFsbChpbnQyIHgpIHsKLSAgICBib29sIHJlc3Vs
dCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKK2Zsb2F0IG11bChmbG9hdDIgeCwgZmxvYXQyIHkp
IHsKKyAgICByZXR1cm4gZG90KHgsIHkpOworfQorZmxvYXQgbXVsKGZsb2F0MyB4LCBmbG9hdDMg
eSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitmbG9hdCBtdWwoZmxvYXQ0IHgsIGZsb2F0
NCB5KSB7CisgICAgcmV0dXJuIGRvdCh4LCB5KTsKK30KK2Zsb2F0MiBtdWwoZmxvYXQyIHgsIGZs
b2F0MngyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAg
cmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2wgYWxsKGludDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKK2Zsb2F0MiBtdWwo
ZmxvYXQyeDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4
WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGludDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1
ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM10gIT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0MiB4
LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOwor
ICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXSA9
IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4
WzFdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQgeCkg
ewotICAgIHJldHVybiB4ICE9IDA7CitmbG9hdDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MyB5KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSAr
PSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAg
cmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVz
dWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWJvb2wgYWxsKGZsb2F0MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV0gIT0gMCk7CitmbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdID0g
MDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhb
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
M10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM10g
Kz0geFsxXSAqIHlbM11bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0
MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworZmxvYXQyIG11bChmbG9hdDR4MiB4LCBmbG9h
dDQgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1
bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV1bMF0gKiB5WzFd
OworICAgIHJlc3VsdFswXSArPSB4WzJdWzBdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFsz
XVswXSAqIHlbM107CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsx
XSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsx
XSArPSB4WzJdWzFdICogeVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXVsxXSAqIHlbM107CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0NCB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKK2Zsb2F0MiBtdWwo
ZmxvYXQzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsy
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQyeDIgeCkgewotICAgIGJv
b2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0g
IT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0MiB5KSB7CisgICAgZmxvYXQzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVsw
XTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzFdID0gMDsK
KyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1b
MV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF1bMl0g
KiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotYm9vbCBhbGwoZmxvYXQyeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XVsyXSAhPSAwKTsKK2Zsb2F0MyBtdWwoZmxvYXQzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9h
dDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0g
Kz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0g
eFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3Vs
dFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1ib29sIGFsbChmbG9hdDJ4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0
MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3Vs
dFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07
CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFsxXSA9IDA7Cisg
ICAgcmVzdWx0WzFdICs9IHhbMF1bMV0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXVsxXSAqIHlbMl07CisgICAgcmVzdWx0WzJd
ID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXVsyXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9
IHhbMV1bMl0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoZmxvYXQzeDIgeCkgewotICAgIGJvb2wgcmVzdWx0
ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsyXVsxXSAhPSAwKTsKK2Zsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0NHgzIHkpIHsK
KyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9
IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF0gKz0geFsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1
bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gPSAwOwor
ICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsz
XSA9IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXSAr
PSB4WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbM11bMl07CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGZsb2F0M3gzIHgpIHsKLSAgICBib29sIHJlc3Vs
dCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9
IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CitmbG9hdDMgbXVsKGZsb2F0NHgzIHgsIGZsb2F0
NCB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3Vs
dFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07
CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzNd
WzBdICogeVszXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdWzFd
ICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFd
ICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzNdWzFdICogeVszXTsKKyAg
ICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVswXTsKKyAgICBy
ZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdWzJdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotYm9vbCBhbGwoZmxvYXQzeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAw
KTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsx
XSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsyXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsyXVszXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbGwoZmxv
YXQ0eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDAp
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzNdWzFdICE9IDApOworZmxvYXQyIG11bChmbG9hdDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZs
b2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWJvb2wgYWxsKGZsb2F0NHgzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
Ml0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwotICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbM11bMl0gIT0gMCk7CitmbG9hdDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0MiB5KSB7
CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSAr
PSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXVswXSAqIHlbMV07CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CisgICAgcmVz
dWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0
WzJdICs9IHhbMF1bMl0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdWzJdICogeVsxXTsK
KyAgICByZXN1bHRbM10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsKKyAg
ICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJv
b2wgYWxsKGZsb2F0NHg0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzNdICE9IDAp
OworZmxvYXQzIG11bChmbG9hdDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXSArPSB4WzJdICog
eVswXVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFd
ID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdICs9
IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFszXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1
bHRbMl0gKz0geFswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFsz
XSAqIHlbMl1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2wyeDIgeCkg
ewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKK2Zsb2F0NCBtdWwo
ZmxvYXQzeDQgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzFdWzBdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXVswXSAqIHlbMl07CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXVsxXSAqIHlbMF07CisgICAgcmVz
dWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdWzFdICogeVsy
XTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdWzJdICogeVswXTsK
KyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl1b
Ml0gKiB5WzJdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF1bM10g
KiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdWzNdICogeVsxXTsKKyAgICByZXN1bHRbM10g
Kz0geFsyXVszXSAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2wy
eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFswXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsy
XTsKK2Zsb2F0NCBtdWwoZmxvYXQ0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFsyXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsx
XSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdICs9IHhbM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVz
dWx0WzJdICs9IHhbMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdICs9IHhb
M10gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXSArPSB4WzFdICogeVszXVsxXTsKKyAgICByZXN1bHRb
M10gKz0geFsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdICs9IHhbM10gKiB5WzNdWzNdOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sMng0IHgpIHsKLSAgICBib29sIHJl
c3VsdCA9IHRydWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
MV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bM107CitmbG9hdDQg
bXVsKGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRb
MF0gKz0geFsxXVswXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMl1bMF0gKiB5WzJdOwor
ICAgIHJlc3VsdFswXSArPSB4WzNdWzBdICogeVszXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdWzFdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAq
IHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl1bMV0gKiB5WzJdOworICAgIHJlc3VsdFsxXSAr
PSB4WzNdWzFdICogeVszXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4
WzBdWzJdICogeVswXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXVsyXSAqIHlbMV07CisgICAgcmVz
dWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdWzJdICogeVsz
XTsKKyAgICByZXN1bHRbM10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdWzNdICogeVswXTsK
KyAgICByZXN1bHRbM10gKz0geFsxXVszXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbMl1b
M10gKiB5WzJdOworICAgIHJlc3VsdFszXSArPSB4WzNdWzNdICogeVszXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDN4MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVl
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOworZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZs
b2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0
WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4
WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1ib29sIGFsbChib29sM3gzIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IHRy
dWU7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMF1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhb
Ml1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0ICYmIHhbMl1bMl07CitmbG9hdDN4MiBtdWwoZmxvYXQyeDIgeCwgZmxvYXQzeDIgeSkgewor
ICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsw
XVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
MF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0gMDsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFd
ICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDN4NCB4KSB7
Ci0gICAgYm9vbCByZXN1bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBd
OwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB4WzBdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzNdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzNdOworZmxvYXQ0eDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0NHgy
IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsx
XSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1b
MV0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDR4MiB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJd
WzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzNdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOworZmxvYXQyeDIg
bXVsKGZsb2F0M3gyIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1
bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotYm9vbCBhbGwoYm9vbDR4MyB4KSB7Ci0gICAgYm9vbCByZXN1
bHQgPSB0cnVlOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzBdOwotICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB4WzBdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzBdWzJdOwotICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFd
WzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzFdWzJdOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiB4WzJdWzBdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzJdWzFdOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB4WzJdWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzBdOwot
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4WzNdWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB4
WzNdWzJdOworZmxvYXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9h
dDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1b
MF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1b
MF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsy
XVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsxXSAqIHlbMl1bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wgYWxsKGJvb2w0eDQg
eCkgewotICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsw
XVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVsxXTsKLSAgICByZXN1bHQgPSByZXN1
bHQgJiYgeFswXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFswXVszXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgJiYgeFsxXVswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsxXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsxXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYg
eFsxXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgeFsyXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFsyXVsyXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgeFsyXVszXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsw
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
JiYgeFszXVsyXTsKLSAgICByZXN1bHQgPSByZXN1bHQgJiYgeFszXVszXTsKK2Zsb2F0NHgyIG11
bChmbG9hdDN4MiB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0
WzNdWzBdICs9IHhbMF1bMF0gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBd
ICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsyXVswXSAqIHlbM11bMl07CisgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzJdWzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsx
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1
bHRbM11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1b
MV0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53PSAq
LwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yLnc9KGJvb2w0LCBib29sKTsKLW5hdGl2ZSB1aW50NCBv
cGVyYXRvci53PSh1aW50NCwgdWludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci53PShpbnQ0LCBp
bnQpOwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci53PShmbG9hdDQsIGZsb2F0KTsKLQotLyogRnVu
Y3Rpb25zIG5hbWVkIGZpcnN0Yml0bG93ICovCi11aW50IGZpcnN0Yml0bG93KHVpbnQgeCkgewot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDMxOwotICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDMwOwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAyKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI5OwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI4OwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA0KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI3OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA1KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI2OwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCA2KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI1OwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCA3KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDI0OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCA4
KSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDIzOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCA5KSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDIyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMCkpICE9
IDApCi0gICAgICAgIHJldHVybiAyMTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAw
KQotICAgICAgICByZXR1cm4gMjA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDEyKSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDE5OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMykpICE9IDApCi0g
ICAgICAgIHJldHVybiAxODsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQotICAg
ICAgICByZXR1cm4gMTc7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE1KSkgIT0gMCkKLSAgICAg
ICAgcmV0dXJuIDE2OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNikpICE9IDApCi0gICAgICAg
IHJldHVybiAxNTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQotICAgICAgICBy
ZXR1cm4gMTQ7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE4KSkgIT0gMCkKLSAgICAgICAgcmV0
dXJuIDEzOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOSkpICE9IDApCi0gICAgICAgIHJldHVy
biAxMjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQotICAgICAgICByZXR1cm4g
MTE7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDIxKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDEw
OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCi0gICAgICAgIHJldHVybiA5Owot
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDApCi0gICAgICAgIHJldHVybiA4OwotICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9IDApCi0gICAgICAgIHJldHVybiA3OwotICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCAyNSkpICE9IDApCi0gICAgICAgIHJldHVybiA2OwotICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAyNikpICE9IDApCi0gICAgICAgIHJldHVybiA1OwotICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAyNykpICE9IDApCi0gICAgICAgIHJldHVybiA0OwotICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyOCkpICE9IDApCi0gICAgICAgIHJldHVybiAzOwotICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyOSkpICE9IDApCi0gICAgICAgIHJldHVybiAyOwotICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAzMCkpICE9IDApCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAz
MSkpICE9IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAzMjsKLX0KLXVpbnQgZmly
c3RiaXRsb3coaW50IHgpIHsKLSAgICByZXR1cm4gZmlyc3RiaXRsb3codWludCh4KSk7Ci19Ci11
aW50MiBmaXJzdGJpdGxvdyh1aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhb
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBmaXJzdGJpdGxvdyh1aW50MyB4KSB7
Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOwot
ICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZpcnN0
Yml0bG93KHhbMl0pOworZmxvYXQyeDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAg
ICByZXN1bHRbMV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAq
IHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IGZpcnN0Yml0bG93KHVpbnQ0
IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
Zmlyc3RiaXRsb3coeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gZmlyc3RiaXRsb3coeFszXSk7Citm
bG9hdDN4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNd
WzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsx
XVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsx
XVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOwor
ICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMV0g
PSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsx
XVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzNdWzFdICogeVsyXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgZmlyc3RiaXRs
b3coaW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
bG93KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworZmxvYXQ0eDIg
bXVsKGZsb2F0NHgyIHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFszXVswXSAqIHlb
MF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1bMF0gKz0geFswXVsw
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gKz0g
eFszXVswXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFszXVswXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzBdID0gMDsKKyAg
ICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzBdICs9
IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJdWzBdICogeVszXVsy
XTsKKyAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbM11bM107CisgICAgcmVzdWx0WzBd
WzFdID0gMDsKKyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdICs9IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzJd
WzFdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFszXVsxXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFszXVsxXSAq
IHlbMV1bM107CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsw
XVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFszXVsxXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzFdID0gMDsKKyAgICByZXN1bHRb
M11bMV0gKz0geFswXVsxXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMV1bMV0g
KiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzJdWzFdICogeVszXVsyXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbM11bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQzIGZpcnN0Yml0bG93KGludDMgeCkgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4
WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxvdyh4WzJdKTsKK2Zsb2F0MngzIG11bChm
bG9hdDJ4MyB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSAw
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMV1b
MV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci11aW50NCBmaXJzdGJpdGxvdyhpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gZmlyc3RiaXRsb3coeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRs
b3coeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gZmlyc3RiaXRsb3coeFszXSk7CitmbG9hdDN4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQz
eDIgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRbMV1b
MF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1b
MF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsw
XVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd4eSAqLwotYm9vbDQg
b3BlcmF0b3IueHd4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OworZmxvYXQ0eDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0NHgyIHkpIHsKKyAg
ICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1b
MF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1b
MF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNd
WzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsx
XVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsw
XVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFszXVsxXSA9IDA7CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMF1bMV0gKiB5WzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzFdWzFdICogeVszXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4
WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh3eHkodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MngzIG11
bChmbG9hdDN4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFswXVswXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzJdWzBdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzJdWzJdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsy
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh3eHkoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBtdWwoZmxvYXQz
eDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1b
MF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9
IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJd
WzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzBdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhb
Ml1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0
WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzJdICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9y
Lnh3eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OworZmxvYXQ0eDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1b
MF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1b
MF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBdICs9
IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNd
WzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAgcmVz
dWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4WzJd
WzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSAr
PSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsx
XVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0g
Kz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
M11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
Ml1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4
WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsy
XSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3Vs
dFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOworICAg
IHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0g
eFsyXVsyXSAqIHlbM11bMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnl6eiAqLwotYm9vbDMgb3BlcmF0b3IueXp6KGJvb2wzIHYpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDJ4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQyeDQg
eSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0g
PSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVsw
XVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4
WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotYm9vbDMgb3BlcmF0b3IueXp6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7CitmbG9hdDN4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsw
XSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3Vs
dFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSAw
OworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1b
MF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5
WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICByZXN1
bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVsz
XTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNd
WzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1b
MV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsy
XVsxXSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsx
XVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0g
PSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsK
KyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsy
XVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp6KHVpbnQzIHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7CitmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxv
YXQ0eDQgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOwor
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRb
MV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzNdWzBd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOworICAgIHJlc3VsdFszXVswXSArPSB4
WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0gKz0geFsxXVswXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsw
XSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsx
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAw
OworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1
bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBdWzFdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzNdWzFdICogeVsyXVsz
XTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICog
eVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVz
dWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNd
WzFdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsx
XVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMl0g
PSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0g
KiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNdWzJdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzBdWzJdICogeVszXVswXTsK
KyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzJd
ICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsz
XVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXp6KHVpbnQ0IHYp
IHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMg
b3BlcmF0b3IueXp6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eihmbG9h
dDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci55enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56
OworZmxvYXQyeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1b
MV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0gMDsKKyAg
ICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBd
WzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp3eCAqLwotYm9vbDQgb3BlcmF0b3IueXp3
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OworZmxvYXQzeDQgbXVsKGZsb2F0Mng0IHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1b
MF0gPSAwOworICAgIHJlc3VsdFsyXVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMF0gKz0geFsxXVswXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzFdID0gMDsKKyAg
ICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdICs9
IHhbMV1bMV0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzBd
WzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0g
Kz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRb
MF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10g
KiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl6d3godWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHg0IG11bChmbG9hdDJ4NCB4
LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IDA7CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJl
c3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRbMl1bMF0g
Kz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFszXVswXSA9IDA7CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMF1bMF0g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzFdWzBdICogeVszXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzFd
ID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAg
cmVzdWx0WzJdWzFdICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzFdWzFdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsx
XSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsy
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMV1bMl0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1b
Ml0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzJdID0gMDsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFswXVsyXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbMV1bMl0gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bM10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBd
WzNdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsz
XVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVszXSArPSB4WzFdWzNdICogeVszXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
aW50NCBvcGVyYXRvci55end4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0MngzIHkpIHsK
KyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRb
MF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzFdWzFdID0gMDsKKyAgICByZXN1bHRbMV1bMV0gKz0geFswXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsx
XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1
bHRbMF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1b
M10gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
b3BlcmF0b3IueXp3eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQzeDMgeSkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFsw
XVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFsxXVswXSA9IDA7CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0g
Kz0geFsyXVswXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gMDsKKyAgICByZXN1bHRb
Ml1bMF0gKz0geFswXVswXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMV1bMF0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1bMV0gKz0geFswXVsxXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsy
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsyXVsyXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1
bHRbMl1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMV1b
Ml0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFswXVszXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMV1bM10gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzNdICogeVsyXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd4ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnl3eHo9KGJv
b2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0g
Yy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3Vs
dC56ID0gYy53OworZmxvYXQ0eDQgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgzIHkpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gMDsKKyAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMV1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVswXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
Ml1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IDA7CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzFdWzBdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzNdWzBdID0gMDsKKyAgICByZXN1bHRbM11bMF0gKz0geFswXVswXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzNdWzBdICs9IHhbMV1bMF0gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVswXSArPSB4
WzJdWzBdICogeVszXVsyXTsKKyAgICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gKz0g
eFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzFdID0gMDsKKyAgICByZXN1bHRbMl1b
MV0gKz0geFswXVsxXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMV1bMV0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsyXVsyXTsKKyAgICByZXN1
bHRbM11bMV0gPSAwOworICAgIHJlc3VsdFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAg
ICByZXN1bHRbM11bMV0gKz0geFsxXVsxXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9
IHhbMl1bMV0gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzFdWzJdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFswXVsyXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzJdWzJdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMF1bMl0gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFszXVsyXSArPSB4WzFdWzJdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0g
Kz0geFsyXVsyXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRb
MF1bM10gKz0geFswXVszXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMV1bM10g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzJdWzNdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNd
ICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0
WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzFdWzNd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFswXVszXSAqIHlbM11bMF07
CisgICAgcmVzdWx0WzNdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsz
XSArPSB4WzJdWzNdICogeVszXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3IueXd4ej0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDJ4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQy
eDQgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAwOworICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMF0gKz0g
eFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1b
MF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBdWzBdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzBdICs9IHhbMl1b
MF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzNdWzBdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzFdICs9IHhbMl1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICog
eVswXVszXTsKKyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsxXVsyXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMl1bMl0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVszXTsKKyAgICByZXN1bHRb
MF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFsxXVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
Ml1bM10gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsK
KyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMl1bM10gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNd
ICogeVsxXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55d3h6PShp
bnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMu
eDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQu
eiA9IGMudzsKK2Zsb2F0M3g0IG11bChmbG9hdDR4NCB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxv
YXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IDA7CisgICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzFdWzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IDA7CisgICAgcmVz
dWx0WzFdWzBdICs9IHhbMF1bMF0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFd
WzBdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsyXVswXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbM11bMF0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9
IDA7CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMF1bMF0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzFdWzBdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbM11bMF0gKiB5WzJdWzNdOworICAgIHJl
c3VsdFswXVsxXSA9IDA7CisgICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSArPSB4WzFdWzFdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMV0g
Kz0geFsyXVsxXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzFdICs9IHhbM11bMV0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgcmVzdWx0WzFdWzFdICs9IHhbMF1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
M11bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVsxXSA9IDA7CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMF1bMV0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzFdWzFdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzJdWzFdICs9IHhbM11bMV0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzFdWzJdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsyXVsyXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbM11bMl0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVsy
XSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMF1bMl0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzJdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsyXVsy
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbM11bMl0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsyXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbM11bMl0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
M10gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzFdWzNdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFsyXVszXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbM11bM10gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMF1bM10gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsyXVszXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbM11bM10gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMF1bM10gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzFdWzNdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbM11bM10gKiB5WzJdWzNdOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXd4ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lncg
PSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7CitmbG9hdDR4
NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAwOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVswXSArPSB4WzNdWzBdICog
eVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAwOworICAgIHJlc3VsdFsxXVswXSArPSB4WzBd
WzBdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzBdICs9IHhbMl1bMF0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVswXSAr
PSB4WzNdWzBdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSAwOworICAgIHJlc3VsdFsy
XVswXSArPSB4WzBdWzBdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMF0gKz0geFsxXVswXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFsyXVswXSArPSB4WzNdWzBdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSAwOwor
ICAgIHJlc3VsdFszXVswXSArPSB4WzBdWzBdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMF0g
Kz0geFsxXVswXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzBdICs9IHhbMl1bMF0gKiB5WzNd
WzJdOworICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVszXVszXTsKKyAgICByZXN1bHRb
MF1bMV0gPSAwOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFsxXVsxXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
Ml1bMV0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzNdWzFdICogeVswXVszXTsK
KyAgICByZXN1bHRbMV1bMV0gPSAwOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzFdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzNdWzFd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bMV0gPSAwOworICAgIHJlc3VsdFsyXVsxXSArPSB4
WzBdWzFdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gKz0geFsxXVsxXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsx
XSArPSB4WzNdWzFdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMV0gPSAwOworICAgIHJlc3Vs
dFszXVsxXSArPSB4WzBdWzFdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gKz0geFsxXVsx
XSAqIHlbM11bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhbMl1bMV0gKiB5WzNdWzJdOworICAg
IHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFsxXVsyXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMl1bMl0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzNdWzJdICogeVswXVszXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzBdWzJdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMl1bMl0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzNdWzJdICogeVsxXVsz
XTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzBdWzJdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzNd
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSAr
PSB4WzBdWzJdICogeVszXVswXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFsxXVsyXSAqIHlbM11b
MV07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbMl1bMl0gKiB5WzNdWzJdOworICAgIHJlc3VsdFsz
XVsyXSArPSB4WzNdWzJdICogeVszXVszXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzNdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsx
XVszXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMl1bM10gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVszXSArPSB4WzNdWzNdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bM10g
PSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzBdWzNdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bM10gKz0geFsxXVszXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMl1bM10g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzNdWzNdICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzBdWzNdICogeVsyXVswXTsK
KyAgICByZXN1bHRbMl1bM10gKz0geFsxXVszXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bM10gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzNdWzNdICogeVsy
XVszXTsKKyAgICByZXN1bHRbM11bM10gPSAwOworICAgIHJlc3VsdFszXVszXSArPSB4WzBdWzNd
ICogeVszXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsxXVszXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVszXSArPSB4
WzNdWzNdICogeVszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXd3eCAqLwotYm9vbDQgb3BlcmF0b3IueXd3eChib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgcmFkaWFucyAqLworZmxvYXQgcmFkaWFucyhmbG9h
dCB4KSB7CisgICAgcmV0dXJuIHggKiAzLjE0MTU5IC8gMTgwOwogfQotdWludDQgb3BlcmF0b3Iu
eXd3eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di54OworZmxvYXQyIHJhZGlhbnMoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55d3d4KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzIHJhZGlh
bnMoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJhZGlh
bnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSByYWRpYW5zKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iu
eXd3eChmbG9hdDQgdikgeworZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OworICAgIHJlc3VsdFswXSA9IHJhZGlh
bnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSByYWRpYW5zKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHJhZGlhbnMoeFszXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5encgKi8KLWJv
b2w0IG9wZXJhdG9yLnp5encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0MngyIHJhZGlhbnMoZmxvYXQyeDIgeCkgeworICAgIGZs
b2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFk
aWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56eXp3KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDN4MiByYWRpYW5z
KGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3Iuenl6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHgyIHJhZGlhbnMoZmxvYXQ0eDIgeCkgeworICAg
IGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0NCBvcGVyYXRvci56eXp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0MngzIHJhZGlhbnMoZmxvYXQyeDMgeCkg
eworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gcmFkaWFucyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuend3eiAqLwotYm9vbDQgb3BlcmF0b3Iuend3eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQz
eDMgcmFkaWFucyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56d3d6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDR4MyByYWRpYW5zKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFu
cyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJl
c3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmFkaWFu
cyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFu
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFu
cyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOworICAgIHJl
c3VsdFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWlu
dDQgb3BlcmF0b3Iuend3eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKK2Zsb2F0Mng0IHJhZGlhbnMoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0
Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFu
cyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFu
cyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0NCBvcGVyYXRvci56d3d6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXl3dyAqLwotYm9vbDQgb3BlcmF0b3IueXl3dyhib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eXd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueXl3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3g0IHJhZGlhbnMoZmxvYXQzeDQgeCkgeworICAgIGZs
b2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFk
aWFucyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFk
aWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmFk
aWFucyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmFk
aWFucyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl5
d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OworZmxvYXQ0eDQgcmFkaWFucyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gcmFkaWFucyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcmFkaWFucyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gcmFkaWFucyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10p
OworICAgIHJlc3VsdFszXVszXSA9IHJhZGlhbnMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPD0gKi8KLW5hdGl2ZSBib29sIG9w
ZXJhdG9yPD0oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I8PSh1aW50LCB1aW50KTsK
LW5hdGl2ZSBib29sIG9wZXJhdG9yPD0oZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sMiBvcGVy
YXRvcjw9KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I8PSh1aW50MywgdWlu
dDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPD0odWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBib29s
MiBvcGVyYXRvcjw9KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPD0oaW50Mywg
aW50Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I8PShpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBib29s
MiBvcGVyYXRvcjw9KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcjw9KGZs
b2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcjw9KGZsb2F0NCwgZmxvYXQ0KTsK
LW5hdGl2ZSBib29sMngyIG9wZXJhdG9yPD0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBi
b29sMngzIG9wZXJhdG9yPD0oZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBib29sMng0IG9w
ZXJhdG9yPD0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKLW5hdGl2ZSBib29sM3gyIG9wZXJhdG9yPD0o
ZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPD0oZmxvYXQzeDMs
IGZsb2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPD0oZmxvYXQzeDQsIGZsb2F0M3g0
KTsKLW5hdGl2ZSBib29sNHgyIG9wZXJhdG9yPD0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2
ZSBib29sNHgzIG9wZXJhdG9yPD0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29sNHg0
IG9wZXJhdG9yPD0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIGRk
eF9maW5lICovCi1mbG9hdCBkZHhfZmluZShmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGRkeCh4KTsK
LX0KLWZsb2F0MiBkZHhfZmluZShmbG9hdDIgeCkgeworLyogRnVuY3Rpb25zIG5hbWVkIGNlaWwg
Ki8KK25hdGl2ZSBmbG9hdCBjZWlsKGZsb2F0KTsKK2Zsb2F0MiBjZWlsKGZsb2F0MiB4KSB7CiAg
ICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBkZHhfZmluZSh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
MyBkZHhfZmluZShmbG9hdDMgeCkgeworZmxvYXQzIGNlaWwoZmxvYXQzIHgpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGRkeF9maW5lKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRkeF9maW5lKHhbMl0pOworICAg
IHJlc3VsdFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQg
ZGR4X2ZpbmUoZmxvYXQ0IHgpIHsKK2Zsb2F0NCBjZWlsKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHhfZmluZSh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBkZHhfZmluZSh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHhfZmluZSh4WzJdKTsKLSAgICBy
ZXN1bHRbM10gPSBkZHhfZmluZSh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY2VpbCh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBjZWlsKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDJ4MiBkZHhfZmluZShmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4MiBjZWlsKGZsb2F0MngyIHgpIHsK
ICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQyeDMgZGR4X2ZpbmUoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJd
KTsKK2Zsb2F0M3gyIGNlaWwoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotZmxvYXQyeDQgZGR4X2ZpbmUoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKK2Zsb2F0NHgyIGNlaWwoZmxvYXQ0eDIgeCkgewor
ICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNlaWwoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGRkeF9maW5l
KGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gZGR4X2ZpbmUoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CitmbG9hdDJ4MyBjZWls
KGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
Y2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNlaWwoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gzIGRkeF9m
aW5lKGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIGNlaWwoZmxvYXQzeDMgeCkgewogICAgIGZsb2F0
M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhf
ZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBk
ZHhfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBkZHhfZmluZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgZGR4X2ZpbmUoZmxvYXQzeDQgeCkgewotICAgIGZs
b2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBk
ZHhfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRb
Ml1bM10gPSBkZHhfZmluZSh4WzJdWzNdKTsKK2Zsb2F0NHgzIGNlaWwoZmxvYXQ0eDMgeCkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2Vp
bCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNlaWwoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0eDIgZGR4X2ZpbmUoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfZmluZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBkZHhfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmlu
ZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKK2Zsb2F0Mng0IGNlaWwoZmxvYXQyeDQg
eCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVszXSA9IGNlaWwoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIGRk
eF9maW5lKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZGR4X2ZpbmUoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2Zp
bmUoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4
X2ZpbmUoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4X2ZpbmUoeFszXVsyXSk7Citm
bG9hdDN4NCBjZWlsKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGNlaWwoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGNl
aWwoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IGRkeF9maW5lKGZs
b2F0NHg0IHgpIHsKK2Zsb2F0NHg0IGNlaWwoZmxvYXQ0eDQgeCkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHhfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfZmluZSh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfZmluZSh4WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBkZHhfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfZmlu
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfZmluZSh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBkZHhfZmluZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHhf
ZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfZmluZSh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZHhfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBk
ZHhfZmluZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHhfZmluZSh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBkZHhfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSBkZHhfZmluZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHhfZmluZSh4WzNdWzNd
KTsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjZWlsKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWls
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
Y2VpbCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBjZWlsKHhbM11bM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3ggKi8KLWJv
b2wzIG9wZXJhdG9yLnh3eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54d3godWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54
d3goaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7CisvKiBGdW5jdGlvbnMgbmFtZWQg
YXNpbiAqLworbmF0aXZlIGZsb2F0IGFzaW4oZmxvYXQpOworZmxvYXQyIGFzaW4oZmxvYXQyIHgp
IHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7CisgICAg
cmVzdWx0WzFdID0gYXNpbih4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9w
ZXJhdG9yLnh3eChmbG9hdDQgdikgeworZmxvYXQzIGFzaW4oZmxvYXQzIHgpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvciBjYXN0ICovCi1uYXRpdmUgb3BlcmF0b3IgdWludChpbnQpOwotbmF0aXZl
IG9wZXJhdG9yIHVpbnQoZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGludCh1aW50KTsKLW5hdGl2
ZSBvcGVyYXRvciBpbnQoZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0KHVpbnQpOwotbmF0
aXZlIG9wZXJhdG9yIGZsb2F0KGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50KGJvb2wpOwotbmF0
aXZlIG9wZXJhdG9yIGJvb2wodWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbChpbnQpOwotbmF0
aXZlIG9wZXJhdG9yIGJvb2woZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wyKGJvb2wsIGJv
b2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzKGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9w
ZXJhdG9yIGJvb2wzKGJvb2wyLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMyhib29sLCBi
b29sMik7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1u
YXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbDIsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9y
IGJvb2w0KGJvb2wsIGJvb2wyLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNChib29sLCBi
b29sLCBib29sMik7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9vbDIsIGJvb2wyKTsKLW5hdGl2
ZSBvcGVyYXRvciBib29sNChib29sMywgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDQoYm9v
bCwgYm9vbDMpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQyKHVpbnQsIHVpbnQpOwotbmF0aXZlIG9w
ZXJhdG9yIHVpbnQzKHVpbnQsIHVpbnQsIHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQzKHVp
bnQyLCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50Myh1aW50LCB1aW50Mik7Ci1uYXRpdmUg
b3BlcmF0b3IgdWludDQodWludCwgdWludCwgdWludCwgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3Ig
dWludDQodWludDIsIHVpbnQsIHVpbnQpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQ0KHVpbnQsIHVp
bnQyLCB1aW50KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50NCh1aW50LCB1aW50LCB1aW50Mik7Ci1u
YXRpdmUgb3BlcmF0b3IgdWludDQodWludDIsIHVpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50
NCh1aW50MywgdWludCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDQodWludCwgdWludDMpOwotbmF0
aXZlIG9wZXJhdG9yIGludDIoaW50LCBpbnQpOwotbmF0aXZlIG9wZXJhdG9yIGludDMoaW50LCBp
bnQsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50MyhpbnQyLCBpbnQpOwotbmF0aXZlIG9wZXJh
dG9yIGludDMoaW50LCBpbnQyKTsKLW5hdGl2ZSBvcGVyYXRvciBpbnQ0KGludCwgaW50LCBpbnQs
IGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQyLCBpbnQsIGludCk7Ci1uYXRpdmUgb3Bl
cmF0b3IgaW50NChpbnQsIGludDIsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGlu
dCwgaW50Mik7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQyLCBpbnQyKTsKLW5hdGl2ZSBvcGVy
YXRvciBpbnQ0KGludDMsIGludCk7Ci1uYXRpdmUgb3BlcmF0b3IgaW50NChpbnQsIGludDMpOwot
bmF0aXZlIG9wZXJhdG9yIGZsb2F0MihmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZs
b2F0MyhmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDMoZmxvYXQy
LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQzKGZsb2F0LCBmbG9hdDIpOwotbmF0aXZl
IG9wZXJhdG9yIGZsb2F0NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3Bl
cmF0b3IgZmxvYXQ0KGZsb2F0MiwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9h
dDQoZmxvYXQsIGZsb2F0MiwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NChmbG9hdCwg
ZmxvYXQsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0KGZsb2F0MiwgZmxvYXQyKTsK
LW5hdGl2ZSBvcGVyYXRvciBmbG9hdDQoZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3Ig
ZmxvYXQ0KGZsb2F0LCBmbG9hdDMpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MngyKGZsb2F0Miwg
ZmxvYXQyKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MyhmbG9hdDMsIGZsb2F0Myk7Ci1uYXRp
dmUgb3BlcmF0b3IgZmxvYXQyeDQoZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIG9wZXJhdG9yIGZs
b2F0M3gyKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gz
KGZsb2F0MywgZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0
NCwgZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0NHgyKGZsb2F0MiwgZmxv
YXQyLCBmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDMoZmxvYXQzLCBm
bG9hdDMsIGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDR4NChmbG9hdDQs
IGZsb2F0NCwgZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0MngyKGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdDJ4MyhmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9h
dDJ4NChmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gyKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGZsb2F0M3gzKGZsb2F0LCBmbG9hdCwg
ZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZl
IG9wZXJhdG9yIGZsb2F0M3g0KGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0NHgyKGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDMoZmxvYXQsIGZsb2F0LCBm
bG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZs
b2F0LCBmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgZmxvYXQ0eDQoZmxvYXQsIGZsb2F0LCBmbG9h
dCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotbmF0aXZlIG9wZXJhdG9yIGJv
b2wyeDIoYm9vbDIsIGJvb2wyKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMngzKGJvb2wzLCBib29s
Myk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDJ4NChib29sNCwgYm9vbDQpOwotbmF0aXZlIG9wZXJh
dG9yIGJvb2wzeDIoYm9vbDIsIGJvb2wyLCBib29sMik7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4
Myhib29sMywgYm9vbDMsIGJvb2wzKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sM3g0KGJvb2w0LCBi
b29sNCwgYm9vbDQpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDIoYm9vbDIsIGJvb2wyLCBib29s
MiwgYm9vbDIpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDMoYm9vbDMsIGJvb2wzLCBib29sMywg
Ym9vbDMpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDQoYm9vbDQsIGJvb2w0LCBib29sNCwgYm9v
bDQpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wyeDIoYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1u
YXRpdmUgb3BlcmF0b3IgYm9vbDJ4Myhib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
KTsKLW5hdGl2ZSBvcGVyYXRvciBib29sMng0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2wzeDIoYm9vbCwgYm9vbCwg
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUgb3BlcmF0b3IgYm9vbDN4Myhib29sLCBi
b29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBv
cGVyYXRvciBib29sM3g0KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2ws
IGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotbmF0aXZlIG9wZXJhdG9yIGJvb2w0eDIo
Ym9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCwgYm9vbCk7Ci1uYXRpdmUg
b3BlcmF0b3IgYm9vbDR4Myhib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29sLCBib29s
LCBib29sLCBib29sLCBib29sLCBib29sLCBib29sKTsKLW5hdGl2ZSBvcGVyYXRvciBib29sNHg0
KGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJv
b2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wsIGJvb2wpOwotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3l4ICovCi1ib29sMyBvcGVyYXRvci53eXgoYm9vbDQgdikgewotICAg
IGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0
b3Iud3l4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3l4KGludDQgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OworICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbih4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2luKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDMgb3BlcmF0b3Iud3l4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKK2Zsb2F0NCBhc2luKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBhc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW4oeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gYXNpbih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2luKHhbM10pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBsb2FkICovCi1uYXRpdmUgaW50
IGxvYWQoZGV2aWNlIGF0b21pY19pbnQqKTsKLW5hdGl2ZSB1aW50IGxvYWQoZGV2aWNlIGF0b21p
Y191aW50Kik7Ci1uYXRpdmUgaW50IGxvYWQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCopOwotbmF0
aXZlIHVpbnQgbG9hZCh0aHJlYWRncm91cCBhdG9taWNfdWludCopOwotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHh4eCAqLwotYm9vbDQgb3BlcmF0b3IueHh4eChib29sMiB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDIgYXNp
bihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsx
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnh4eHgoYm9vbDMg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0
M3gyIGFzaW4oZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
c2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQg
b3BlcmF0b3IueHh4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OworZmxvYXQ0eDIgYXNpbihmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXNp
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueHh4eCh1aW50MiB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDMg
YXNpbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4o
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhc2luKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci54eHh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CitmbG9hdDN4MyBhc2luKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnh4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHgzIGFzaW4oZmxvYXQ0eDMgeCkgeworICAgIGZs
b2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJd
WzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGFzaW4o
eFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54eHh4KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgYXNpbihmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXNpbih4
WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54eHh4KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQz
eDQgYXNpbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBhc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhb
Ml1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh4eHgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4
NCBhc2luKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXNp
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFsz
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7Cisg
ICAgcmVzdWx0WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
ZmxvYXQ0IG9wZXJhdG9yLnh4eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9u
cyBuYW1lZCBhc3VpbnQgKi8KK3VpbnQgYXN1aW50KGludCB4KSB7CisgICAgcmV0dXJuIHVpbnQo
eCk7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh4eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Cit1aW50MiBhc3VpbnQoaW50MiB4KSB7Cisg
ICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBhc3VpbnQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci54eHh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKK3VpbnQzIGFzdWludChpbnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eHogKi8KLWJvb2w0IG9wZXJhdG9yLnp5
eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKK3VpbnQ0IGFzdWludChpbnQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYXN1aW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBhc3VpbnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXN1aW50KHhbM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci56eXh6KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKK3VpbnQgYXN1aW50KHVpbnQgeCkgeworICAgIHJldHVybiB4OwogfQotdWludDQgb3Bl
cmF0b3Iuenl4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Cit1aW50MiBhc3VpbnQodWludDIgeCkgewor
ICAgIHJldHVybiB4OwogfQotdWludDQgb3BlcmF0b3Iuenl4eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Cit1aW50MyBhc3VpbnQodWludDMgeCkgeworICAgIHJldHVybiB4OwogfQotaW50NCBvcGVyYXRv
ci56eXh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Cit1aW50NCBhc3VpbnQodWludDQgeCkgeworICAgIHJl
dHVybiB4OwogfQotaW50NCBvcGVyYXRvci56eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworbmF0aXZlIHVpbnQgYXN1aW50KGZsb2F0KTsK
K3VpbnQyIGFzdWludChmbG9hdDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl4eihmbG9hdDMgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Cit1aW50MyBhc3VpbnQoZmxv
YXQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXN1aW50KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGFzdWludCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc3VpbnQo
eFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci56eXh6KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKK3Vp
bnQ0IGFzdWludChmbG9hdDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IGFzdWludCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc3VpbnQoeFszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6PSAqLwot
Ym9vbDMgb3BlcmF0b3IueHo9KGJvb2wzIHYsIGJvb2wyIGMpIHsKLSAgICBib29sMyByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworLyogRnVuY3Rp
b25zIG5hbWVkIHBvdyAqLworbmF0aXZlIGZsb2F0IHBvdyhmbG9hdCwgZmxvYXQpOworZmxvYXQy
IHBvdyhmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2w0IG9wZXJhdG9yLnh6PShib29sNCB2LCBib29s
MiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKK2Zsb2F0MyBwb3coZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxv
YXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBwb3coeFswXSwgeVswXSk7CisgICAgcmVzdWx0
WzFdID0gcG93KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IHBvdyh4WzJdLCB5WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueHo9KHVpbnQzIHYsIHVpbnQy
IGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJl
c3VsdC56ID0gYy55OworZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9h
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBwb3coeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOwor
ICAgIHJlc3VsdFszXSA9IHBvdyh4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3IueHo9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OworZmxvYXQyeDIg
cG93KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh6PShpbnQzIHYsIGludDIgYykgewot
ICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9
IGMueTsKK2Zsb2F0M3gyIHBvdyhmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQz
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKK2Zsb2F0
NHgyIHBvdyhmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1b
MF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci54ej0oZmxvYXQzIHYsIGZs
b2F0MiBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7CitmbG9hdDJ4MyBwb3coZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkg
eworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6PShmbG9hdDQgdiwgZmxvYXQy
IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICBy
ZXN1bHQueiA9IGMueTsKK2Zsb2F0M3gzIHBvdyhmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7Cisg
ICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBw
b3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlb
Ml1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56eXh3ICovCi1ib29sNCBvcGVyYXRvci56eXh3KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MyBwb3coZmxvYXQ0eDMg
eCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3Iuenl4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgcG93KGZsb2F0Mng0IHgsIGZs
b2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93
KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBv
dyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsx
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci56eXh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzeDQgcG93KGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFd
LCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsy
XSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBwb3coeFsyXVszXSwgeVsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBvcGVyYXRvci56eXh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IHBvdyhmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7
CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBwb3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gcG93KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsz
XSA9IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IuenogKi8KLWJvb2wyIG9wZXJhdG9yLnp6KGJvb2wzIHYp
IHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7CisvKiBGdW5jdGlvbnMgbmFtZWQgdGFuICovCituYXRpdmUgZmxvYXQgdGFuKGZsb2F0
KTsKK2Zsb2F0MiB0YW4oZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWJvb2wyIG9wZXJhdG9yLnp6KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7CitmbG9hdDMgdGFu
KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW4oeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gdGFuKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRhbih4WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IuenoodWludDMgdikgewot
ICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKK2Zsb2F0NCB0YW4oZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gdGFuKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHRhbih4WzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDIgb3BlcmF0b3IuenoodWludDQgdikgewotICAgIHVpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKK2Zsb2F0MngyIHRh
bihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVyYXRvci56eihpbnQzIHYpIHsKLSAg
ICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
K2Zsb2F0M3gyIHRhbihmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9w
ZXJhdG9yLnp6KGludDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQ0eDIgdGFuKGZsb2F0NHgyIHgpIHsKKyAgICBm
bG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9wZXJhdG9yLnp6KGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKK2Zsb2F0MngzIHRhbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4o
eFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDIgb3BlcmF0b3IuenooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OworZmxvYXQzeDMgdGFuKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4enogKi8KLWJv
b2w0IG9wZXJhdG9yLnd4enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKK2Zsb2F0NHgzIHRhbihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzJdID0gdGFuKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci53eHp6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lno7CitmbG9hdDJ4NCB0YW4oZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFu
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4o
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd4enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7CitmbG9hdDN4NCB0YW4oZmxvYXQzeDQgeCkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSB0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQ0IG9wZXJhdG9yLnd4enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDQgdGFuKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbih4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFu
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSB0YW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4o
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gdGFuKHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53end5ICovCi1ib29sNCBv
cGVyYXRvci53end5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBmbWEg
Ki8KK2Zsb2F0IGZtYShmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KSB7CisgICAgcmV0dXJuIHgg
KiB5ICsgejsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6d3kodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0MiBmbWEoZmxvYXQyIHgsIGZs
b2F0MiB5LCBmbG9hdDIgeikgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
Zm1hKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53end5KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzIGZt
YShmbG9hdDMgeCwgZmxvYXQzIHksIGZsb2F0MyB6KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1h
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGZtYSh4WzJdLCB5WzJdLCB6WzJd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6d3koZmxvYXQ0IHYp
IHsKK2Zsb2F0NCBmbWEoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikgewogICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdID0gZm1h
KHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBmbWEoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNd
ID0gZm1hKHhbM10sIHlbM10sIHpbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXp5ICovCi1ib29sNCBvcGVyYXRvci53eXp5KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9h
dDJ4MiBmbWEoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSwgZmxvYXQyeDIgeikgeworICAgIGZsb2F0
MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd5enkodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gyIGZtYShmbG9hdDN4
MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnd5enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7CitmbG9hdDR4MiBmbWEoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwg
eVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmbWEoeFszXVswXSwgeVszXVswXSwgelszXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZm1hKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3l6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwg
ZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1b
Ml0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueHd4eCAqLwotYm9vbDQgb3BlcmF0b3IueHd4eChib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDMgZm1h
KGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBm
bWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsy
XVsyXSwgelsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh3
eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eDsKK2Zsb2F0NHgzIGZtYShmbG9hdDR4MyB4LCBmbG9hdDR4MyB5LCBmbG9hdDR4MyB6KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwg
elsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
Zm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsy
XSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZm1hKHhbM11bMl0sIHlb
M11bMl0sIHpbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh3
eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
CitmbG9hdDJ4NCBmbWEoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1mbG9hdDQgb3BlcmF0b3IueHd4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQz
eDQgeSwgZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Zm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsx
XSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFd
LCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJlc3VsdFsy
XVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl5ICovCi1ib29sMyBvcGVyYXRv
ci54eXkoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0NHg0IGZtYShm
bG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsz
XVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1h
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJd
WzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwg
eVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1b
Ml0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJlc3VsdFszXVsz
XSA9IGZtYSh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotYm9vbDMgb3BlcmF0b3IueHl5KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRldGVybWluYW50ICov
CitmbG9hdCBkZXRlcm1pbmFudChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1ib29sMyBv
cGVyYXRvci54eXkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OworZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQyeDIgeCkgeworICAgIHJldHVybiB4
WzBdWzBdICogeFsxXVsxXSAtIHhbMV1bMF0gKiB4WzBdWzFdOwogfQotdWludDMgb3BlcmF0b3Iu
eHl5KHVpbnQyIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKK2Zsb2F0IGRldGVybWluYW50KGZsb2F0M3gzIHgpIHsKKyAgICByZXR1cm4geFswXVswXSAq
IHhbMV1bMV0gKiB4WzJdWzJdICsKKyAgICAgICAgICAgeFsxXVswXSAqIHhbMl1bMV0gKiB4WzBd
WzJdICsKKyAgICAgICAgICAgeFsyXVswXSAqIHhbMF1bMV0gKiB4WzFdWzJdIC0KKyAgICAgICAg
ICAgeFswXVsyXSAqIHhbMV1bMV0gKiB4WzJdWzBdIC0KKyAgICAgICAgICAgeFsxXVsyXSAqIHhb
Ml1bMV0gKiB4WzBdWzBdIC0KKyAgICAgICAgICAgeFsyXVsyXSAqIHhbMF1bMV0gKiB4WzFdWzBd
OwogfQotdWludDMgb3BlcmF0b3IueHl5KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7CitmbG9hdCBkZXRlcm1pbmFudChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQgcmVzdWx0Owor
ICAgIGZsb2F0M3gzIG1pbm9yOworICAgIG1pbm9yWzBdWzBdID0geFsxXVsxXTsKKyAgICBtaW5v
clsxXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzFdOworICAgIG1pbm9y
WzBdWzFdID0geFsxXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMl1bMl07CisgICAgbWlub3Jb
Ml1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKKyAgICBtaW5vclsx
XVsyXSA9IHhbMl1bM107CisgICAgbWlub3JbMl1bMl0gPSB4WzNdWzNdOworICAgIHJlc3VsdCA9
IHJlc3VsdCArIHhbMF1bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CisgICAgbWlub3JbMF1bMF0g
PSB4WzBdWzFdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVsxXTsKKyAgICBtaW5vclsyXVswXSA9
IHhbM11bMV07CisgICAgbWlub3JbMF1bMV0gPSB4WzBdWzJdOworICAgIG1pbm9yWzFdWzFdID0g
eFsyXVsyXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3JbMF1bMl0gPSB4
WzBdWzNdOworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKKyAgICBtaW5vclsyXVsyXSA9IHhb
M11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IC0geFsxXVswXSAqIGRldGVybWluYW50KG1pbm9y
KTsKKyAgICBtaW5vclswXVswXSA9IHhbMF1bMV07CisgICAgbWlub3JbMV1bMF0gPSB4WzFdWzFd
OworICAgIG1pbm9yWzJdWzBdID0geFszXVsxXTsKKyAgICBtaW5vclswXVsxXSA9IHhbMF1bMl07
CisgICAgbWlub3JbMV1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzJdWzFdID0geFszXVsyXTsK
KyAgICBtaW5vclswXVsyXSA9IHhbMF1bM107CisgICAgbWlub3JbMV1bMl0gPSB4WzFdWzNdOwor
ICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyB4WzJdWzBd
ICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBdID0geFswXVsxXTsKKyAgICBt
aW5vclsxXVswXSA9IHhbMV1bMV07CisgICAgbWlub3JbMl1bMF0gPSB4WzJdWzFdOworICAgIG1p
bm9yWzBdWzFdID0geFswXVsyXTsKKyAgICBtaW5vclsxXVsxXSA9IHhbMV1bMl07CisgICAgbWlu
b3JbMl1bMV0gPSB4WzJdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFswXVszXTsKKyAgICBtaW5v
clsxXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMl1bMl0gPSB4WzJdWzNdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAtIHhbM11bMF0gKiBkZXRlcm1pbmFudChtaW5vcik7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQzIG9wZXJhdG9yLnh5eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OworCisvKiBGdW5jdGlvbnMgbmFtZWQgZmxvb3IgKi8KK25hdGl2ZSBmbG9hdCBmbG9v
cihmbG9hdCk7CitmbG9hdDIgZmxvb3IoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGZsb29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnh5eShpbnQyIHYpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0MyBmbG9vcihmbG9hdDMgeCkgeworICAgIGZsb2F0
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmxvb3IoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHl5KGludDMgdikgewotICAgIGludDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh5eShpbnQ0IHYpIHsK
LSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9w
ZXJhdG9yLnh5eShmbG9hdDIgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDQg
Zmxvb3IoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZs
b29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGZsb29yKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZsb29yKHhbM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueHl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKK2Zsb2F0MngyIGZsb29yKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0MyBvcGVyYXRvci54eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OworZmxvYXQzeDIgZmxvb3IoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBm
bG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4eT0gKi8KLWJvb2w0
IG9wZXJhdG9yLnd6eHk9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54
ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OworZmxvYXQ0eDIgZmxvb3IoZmxvYXQ0eDIgeCkg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmbG9vcih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9v
cih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQg
b3BlcmF0b3Iud3p4eT0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7CitmbG9hdDJ4MyBmbG9vcihmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29y
KHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnd6eHk9KGlu
dDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54
OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55
ID0gYy53OworZmxvYXQzeDMgZmxvb3IoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBmbG9vcih4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9v
cih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6eHk9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OworZmxvYXQ0eDMg
Zmxvb3IoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBm
bG9vcih4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbG9vcih4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBmbG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBmbG9vcih4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IuencgKi8KLWJvb2wyIG9wZXJhdG9yLnp3KGJvb2w0IHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Citm
bG9hdDJ4NCBmbG9vcihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhb
MV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZsb29yKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci56dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OworZmxv
YXQzeDQgZmxvb3IoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmbG9vcih4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbG9vcih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbG9vcih4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmbG9vcih4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbG9vcih4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBmbG9vcih4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
bG9vcih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbG9vcih4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBmbG9vcih4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbG9vcih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbG9vcih4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBmbG9vcih4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVy
YXRvci56dyhpbnQ0IHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYudzsKK2Zsb2F0NHg0IGZsb29yKGZsb2F0NHg0IHgpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZmxv
b3IoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3IoeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzNdID0gZmxvb3IoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVy
YXRvci56dyhmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBjcm9zcyAqLwor
ZmxvYXQzIGNyb3NzKGZsb2F0MyB1LCBmbG9hdDMgdikgeworICAgIGZsb2F0MyByZXN1bHQ7Cisg
ICAgcmVzdWx0LnggPSB1LnkgKiB2LnogLSB1LnogKiB2Lnk7CisgICAgcmVzdWx0LnkgPSB1Lnog
KiB2LnggLSB1LnggKiB2Lno7CisgICAgcmVzdWx0LnogPSB1LnggKiB2LnkgLSB1LnkgKiB2Lng7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4
eiAqLwotYm9vbDMgb3BlcmF0b3IueHh6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lno7CisvKiBGdW5jdGlvbnMgbmFtZWQgaXNmaW5pdGUgKi8KK25hdGl2ZSBib29sIGlzZmluaXRl
KGZsb2F0KTsKK2Jvb2wyIGlzZmluaXRlKGZsb2F0MiB4KSB7CisgICAgYm9vbDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRl
KHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sMyBvcGVyYXRvci54eHooYm9vbDQg
dikgeworYm9vbDMgaXNmaW5pdGUoZmxvYXQzIHgpIHsKICAgICBib29sMyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh4eih1aW50MyB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzZmluaXRl
KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci54eHoodWludDQg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKK2Jvb2w0IGlzZmluaXRlKGZsb2F0NCB4KSB7
CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzZmluaXRlKHhb
Ml0pOworICAgIHJlc3VsdFszXSA9IGlzZmluaXRlKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1pbnQzIG9wZXJhdG9yLnh4eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
KworLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkT3IgKi8KK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkT3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2
ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwg
ZGV2aWNlIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNlIGF0b21pY19p
bnQqLCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IoZGV2aWNl
IGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Citu
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwg
dGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRv
bWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0
aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUgdm9p
ZCBJbnRlcmxvY2tlZE9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1
aW50LCB0aHJlYWRncm91cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9yKHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworCisvKiBGdW5jdGlv
bnMgbmFtZWQgYXRhbjIgKi8KK25hdGl2ZSBmbG9hdCBhdGFuMihmbG9hdCwgZmxvYXQpOworZmxv
YXQyIGF0YW4yKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsx
XSwgeVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueHh6KGludDQg
dikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQzIGF0YW4yKGZsb2F0MyB4LCBmbG9h
dDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwg
eVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJd
ID0gYXRhbjIoeFsyXSwgeVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVy
YXRvci54eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQ0IGF0
YW4yKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gYXRhbjIoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0g
YXRhbjIoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRv
ci54eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDIgYXRh
bjIoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBd
WzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eXh5ICovCi1ib29sMyBvcGVyYXRvci55eHkoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKK2Zsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9h
dDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wzIG9wZXJhdG9yLnl4eShib29sMyB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OworZmxvYXQ0eDIgYXRhbjIoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIg
eSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBd
WzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
dGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFd
LCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotYm9vbDMgb3BlcmF0b3IueXh5KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7CitmbG9hdDJ4MyBhdGFuMihmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55eHkodWludDIgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0M3gzIGF0YW4yKGZsb2F0M3gzIHgsIGZsb2F0
M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLXVpbnQzIG9wZXJhdG9yLnl4eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OworZmxvYXQ0eDMgYXRhbjIoZmxvYXQ0eDMgeCwgZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhdGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuMih4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuMih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuMih4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhdGFuMih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhdGFuMih4WzNdWzJdLCB5WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDMgb3BlcmF0b3IueXh5KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
CitmbG9hdDJ4NCBhdGFuMihmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGF0YW4yKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGF0YW4yKHhbMV1bM10sIHlbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9w
ZXJhdG9yLnl4eShpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHkoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh5KGludDQgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMg
b3BlcmF0b3IueXh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4eShmbG9hdDMgdikgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7CitmbG9hdDN4NCBhdGFuMihmbG9hdDN4NCB4LCBmbG9hdDN4NCB5
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4yKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0
YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4yKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGF0YW4y
KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4yKHhbMV1bM10sIHlb
MV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4yKHhbMl1bM10sIHlbMl1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgb3BlcmF0b3IueXh5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsK
LSAgICByZXN1bHQueiA9IHYueTsKK2Zsb2F0NHg0IGF0YW4yKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRh
bjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIo
eFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYXRhbjIoeFszXVszXSwgeVsz
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvdW50
X2JpdHMgKi8KKy8qIEZ1bmN0aW9ucyBuYW1lZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3Vw
U3luYyAqLworbmF0aXZlIHZvaWQgRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsK
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5eiAqLwotYm9vbDMgb3BlcmF0b3IueXl6
KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2wzIG9wZXJhdG9yLnl5eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXoodWludDMgdikgewot
ICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3Bl
cmF0b3IueXl6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl6KGludDMgdikgewotICAgIGludDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5eihpbnQ0IHYp
IHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
IG9wZXJhdG9yLnl5eihmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eXooZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CisvKiBGdW5jdGlvbnMg
bmFtZWQgZm1vZCAqLwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3ggKi8KLWJvb2wy
IG9wZXJhdG9yLnd4KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQy
IG9wZXJhdG9yLnd4KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIg
b3BlcmF0b3Iud3goaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0IGZtb2Qo
ZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHVpbnQgd2hvbGUgPSB1aW50KHggLyB5KTsKKyAgICBm
bG9hdCBtdWx0aXBsZSA9IGZsb2F0KHdob2xlKSAqIHk7CisgICAgcmV0dXJuIHggLSBtdWx0aXBs
ZTsKIH0KLWZsb2F0MiBvcGVyYXRvci53eChmbG9hdDQgdikgeworZmxvYXQyIGZtb2QoZmxvYXQy
IHgsIGZsb2F0MiB5KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXh3ej0gKi8KLWJvb2w0IG9wZXJhdG9yLnl4d3o9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54Owot
ICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHd6PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueiA9
IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eHd6PShpbnQ0IHYs
IGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAg
ICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueiA9IGMu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3o9KGZsb2F0NCB2
LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56
ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54eCAqLwotYm9vbDIgb3BlcmF0b3IueHgoYm9vbDIgdikgewotICAgIGJvb2wyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueHgoYm9vbDMgdikgewotICAgIGJvb2wyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDIgb3BlcmF0b3IueHgoYm9vbDQgdikgewotICAgIGJvb2wyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueHgodWludDIgdikgewotICAgIHVpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDIgb3BlcmF0b3IueHgodWludDMgdikgewotICAgIHVpbnQyIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKKyAgICByZXN1bHRb
MF0gPSBmbW9kKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9wZXJhdG9yLnh4KHVpbnQ0IHYpIHsKLSAg
ICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
CitmbG9hdDMgZm1vZChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGZtb2QoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gZm1vZCh4
WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmbW9kKHhbMl0sIHlbMl0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnh4KGludDIgdikgewotICAgIGludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OworZmxvYXQ0IGZtb2Qo
ZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBmbW9kKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gZm1vZCh4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBmbW9kKHhb
M10sIHlbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQyIG9wZXJhdG9yLnh4KGludDMg
dikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OworZmxvYXQyeDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxv
YXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2Qo
eFsxXVsxXSwgeVsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3Iu
eHgoaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7CitmbG9hdDN4MiBmbW9kKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsK
KyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1b
MV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci54eChmbG9hdDIgdikgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7CitmbG9hdDR4MiBmbW9kKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNd
WzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9k
KHhbM11bMV0sIHlbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0
b3IueHgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi54OworZmxvYXQyeDMgZm1vZChmbG9hdDJ4MyB4LCBmbG9hdDJ4
MyB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1v
ZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlb
MV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueHgoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OworZmxvYXQzeDMgZm1vZChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAg
ZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
b2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1b
Ml0sIHlbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53enl3ICovCi1ib29sNCBvcGVyYXRvci53enl3KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9hdDR4MyBmbW9kKGZs
b2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9k
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsy
XVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhb
Ml1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsy
XSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6eXcodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0Mng0
IGZtb2QoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBd
WzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9k
KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsx
XVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3p5dyhpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0M3g0
IGZtb2QoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9k
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNd
LCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd6eXco
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OworZmxvYXQ0eDQgZm1vZChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBmbW9kKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVsw
XSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBm
bW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwg
eVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBmbW9kKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVsz
XSA9IGZtb2QoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4enkgKi8KLWJvb2w0IG9wZXJhdG9yLnp4enkoYm9v
bDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh6eShib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHp5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp4enkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHp5
KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4enkoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLSAqLworbmF0aXZlIGludCBvcGVyYXRvci0oaW50LCBpbnQp
OworbmF0aXZlIHVpbnQgb3BlcmF0b3ItKHVpbnQsIHVpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJh
dG9yLShmbG9hdCwgZmxvYXQpOworbmF0aXZlIGludCBvcGVyYXRvci0oaW50KTsKK25hdGl2ZSBm
bG9hdCBvcGVyYXRvci0oZmxvYXQpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50MiwgdWlu
dDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50LCB1aW50Mik7CituYXRpdmUgdWludDIg
b3BlcmF0b3ItKHVpbnQyLCB1aW50KTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludDMsIHVp
bnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludCwgdWludDMpOworbmF0aXZlIHVpbnQz
IG9wZXJhdG9yLSh1aW50MywgdWludCk7CituYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQ0LCB1
aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQsIHVpbnQ0KTsKK25hdGl2ZSB1aW50
NCBvcGVyYXRvci0odWludDQsIHVpbnQpOworbmF0aXZlIGludDIgb3BlcmF0b3ItKGludDIsIGlu
dDIpOworbmF0aXZlIGludDIgb3BlcmF0b3ItKGludCwgaW50Mik7CituYXRpdmUgaW50MiBvcGVy
YXRvci0oaW50MiwgaW50KTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQzLCBpbnQzKTsKK25h
dGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQsIGludDMpOworbmF0aXZlIGludDMgb3BlcmF0b3ItKGlu
dDMsIGludCk7CituYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCwgaW50NCk7CituYXRpdmUgaW50
NCBvcGVyYXRvci0oaW50LCBpbnQ0KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQ0LCBpbnQp
OworbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGZsb2F0
MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLShmbG9h
dDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0MywgZmxvYXQzKTsKK25h
dGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDMpOworbmF0aXZlIGZsb2F0MyBvcGVy
YXRvci0oZmxvYXQzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdDQsIGZs
b2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0KTsKK25hdGl2ZSBm
bG9hdDQgb3BlcmF0b3ItKGZsb2F0NCwgZmxvYXQpOworbmF0aXZlIGludDIgb3BlcmF0b3ItKGlu
dDIpOworbmF0aXZlIGludDMgb3BlcmF0b3ItKGludDMpOworbmF0aXZlIGludDQgb3BlcmF0b3It
KGludDQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDMg
b3BlcmF0b3ItKGZsb2F0Myk7CituYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9hdDQpOworbmF0
aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0
MngyIG9wZXJhdG9yLShmbG9hdDJ4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9y
LShmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLShmbG9hdDJ4Mik7
CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3ItKGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUg
ZmxvYXQzeDIgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDIgb3Bl
cmF0b3ItKGZsb2F0M3gyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3ItKGZsb2F0
M3gyKTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25h
dGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHgyKTsKK25hdGl2ZSBmbG9hdDR4
MiBvcGVyYXRvci0oZmxvYXQ0eDIsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0o
ZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLShmbG9hdDJ4MywgZmxvYXQyeDMp
OworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQyeDMpOworbmF0aXZlIGZs
b2F0MngzIG9wZXJhdG9yLShmbG9hdDJ4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0MngzIG9wZXJh
dG9yLShmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9h
dDN4Myk7CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDN4Myk7CituYXRp
dmUgZmxvYXQzeDMgb3BlcmF0b3ItKGZsb2F0M3gzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDMg
b3BlcmF0b3ItKGZsb2F0M3gzKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQ0eDMs
IGZsb2F0NHgzKTsKK25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHgzKTsK
K25hdGl2ZSBmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQ0eDMsIGZsb2F0KTsKK25hdGl2ZSBmbG9h
dDR4MyBvcGVyYXRvci0oZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShmbG9h
dDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQy
eDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLShmbG9hdDJ4NCwgZmxvYXQpOworbmF0aXZl
IGZsb2F0Mng0IG9wZXJhdG9yLShmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3It
KGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0LCBm
bG9hdDN4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0M3g0LCBmbG9hdCk7Citu
YXRpdmUgZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0M3g0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVy
YXRvci0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxv
YXQsIGZsb2F0NHg0KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQsIGZsb2F0
KTsKK25hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvci0oZmxvYXQ0eDQpOworCisvKiBGdW5jdGlvbnMg
bmFtZWQgbWluICovCit1aW50IG1pbih1aW50IHgsIHVpbnQgeSkgeworICAgIHJldHVybiB4ID4g
eSA/IHkgOiB4OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwordWludDIgbWluKHVpbnQyIHgs
IHVpbnQyIHkpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0s
IHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend4eCAqLwotYm9vbDQgb3Bl
cmF0b3Iuend4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi54OwordWludDMgbWluKHVpbnQzIHgsIHVpbnQzIHkpIHsKKyAgICB1aW50MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1p
bih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnp3eHgodWludDQgdikgewordWludDQgbWlu
KHVpbnQ0IHgsIHVpbnQ0IHkpIHsKICAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsx
XSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1p
bnQ0IG9wZXJhdG9yLnp3eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lng7CitpbnQgbWluKGludCB4LCBpbnQgeSkgeworICAgIHJldHVybiB4ID4g
eSA/IHkgOiB4OworfQoraW50MiBtaW4oaW50MiB4LCBpbnQyIHkpIHsKKyAgICBpbnQyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWlu
KHhbMV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuend4
eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7CitpbnQzIG1pbihpbnQzIHgsIGludDMgeSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCByc3FydCAqLwotZmxvYXQgcnNxcnQoZmxvYXQgeCkg
ewotICAgIHJldHVybiAxIC8gc3FydCh4KTsKK2ludDQgbWluKGludDQgeCwgaW50NCB5KSB7Cisg
ICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJl
c3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsy
XSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOworICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDIgcnNxcnQoZmxvYXQyIHgpIHsKK2Zsb2F0IG1pbihmbG9hdCB4LCBmbG9hdCB5
KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Cit9CitmbG9hdDIgbWluKGZsb2F0MiB4LCBm
bG9hdDIgeSkgewogICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcnNxcnQoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gbWluKHhb
MF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQzIHJzcXJ0KGZsb2F0MyB4KSB7CitmbG9hdDMgbWluKGZsb2F0MyB4
LCBmbG9hdDMgeSkgewogICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcnNxcnQo
eFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcnNxcnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcnNx
cnQoeFsyXSk7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsx
XSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCByc3FydChmbG9hdDQgeCkgeworZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IHJzcXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IHJzcXJ0KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHJzcXJ0KHhbM10pOworICAgIHJl
c3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1p
bih4WzNdLCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDIgcnNxcnQoZmxv
YXQyeDIgeCkgeworZmxvYXQyeDIgbWluKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKICAgICBm
bG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4
WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyByc3FydChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworZmxv
YXQzeDIgbWluKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0Mng0IHJzcXJ0KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gcnNxcnQoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
cnNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CitmbG9h
dDR4MiBtaW4oZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVszXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlbM11bMV0p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJz
cXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhb
Ml1bMV0pOworZmxvYXQyeDMgbWluKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9h
dDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1b
MV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3gzIHJzcXJ0KGZsb2F0M3gzIHgpIHsKK2Zsb2F0M3gzIG1pbihmbG9h
dDN4MyB4LCBmbG9hdDN4MyB5KSB7CiAgICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9
IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0
KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3Vs
dFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4
NCByc3FydChmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHJzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IHJzcXJ0KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0
KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IHJzcXJ0KHhbMl1bM10pOworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1p
bih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
aW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhbMl1bMl0sIHlb
Ml1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiByc3FydChmbG9hdDR4MiB4
KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHJzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJz
cXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4MyByc3FydChmbG9hdDR4MyB4KSB7CitmbG9hdDR4MyBtaW4oZmxvYXQ0eDMgeCwgZmxvYXQ0
eDMgeSkgewogICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSByc3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSByc3FydCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByc3Fy
dCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSByc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByc3FydCh4WzNd
WzJdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1p
bih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtaW4oeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBt
aW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWluKHhbM11bMV0sIHlb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
bWluKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IG1pbih4WzNdWzJdLCB5
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgcnNxcnQoZmxvYXQ0eDQg
eCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByc3FydCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByc3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSByc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByc3FydCh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSByc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBy
c3FydCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByc3FydCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSByc3FydCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByc3FydCh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByc3FydCh4WzJdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMl0gPSByc3FydCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByc3FydCh4WzJdWzNd
KTsKLSAgICByZXN1bHRbM11bMF0gPSByc3FydCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0g
PSByc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByc3FydCh4WzNdWzJdKTsKLSAg
ICByZXN1bHRbM11bM10gPSByc3FydCh4WzNdWzNdKTsKK2Zsb2F0Mng0IG1pbihmbG9hdDJ4NCB4
LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnogKi8KLW5hdGl2ZSBib29sIG9w
ZXJhdG9yLnooYm9vbDMpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3Iueihib29sNCk7Ci1uYXRpdmUg
dWludCBvcGVyYXRvci56KHVpbnQzKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLnoodWludDQpOwot
bmF0aXZlIGludCBvcGVyYXRvci56KGludDMpOwotbmF0aXZlIGludCBvcGVyYXRvci56KGludDQp
OwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLnooZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRv
ci56KGZsb2F0NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53enl4PSAqLwotYm9v
bDQgb3BlcmF0b3Iud3p5eD0oYm9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0
LnkgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnd6eXg9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3Vs
dC55ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnd6eXg9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJlc3VsdC54ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iud3p5eD0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7CitmbG9hdDN4NCBtaW4oZmxvYXQzeDQg
eCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4dyAqLwotYm9vbDQgb3Bl
cmF0b3IueXl4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi53OworZmxvYXQ0eDQgbWluKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1pbih4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4o
eFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10sIHlbMF1b
M10pOworICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBtaW4oeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbWlu
KHhbM11bM10sIHlbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRv
ci55eXh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZFhvciAqLworbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRYb3IoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0
aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX3Vp
bnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2
aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9j
a2VkWG9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRn
cm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9y
KHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lk
IEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVp
bnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQq
LCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdy
b3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRYb3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBT
eW5jICovCituYXRpdmUgdm9pZCBHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jKCk7CisK
Ky8qIEZ1bmN0aW9ucyBuYW1lZCB0cnVuYyAqLworbmF0aXZlIGZsb2F0IHRydW5jKGZsb2F0KTsK
K2Zsb2F0MiB0cnVuYyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gdHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0MyB0cnVuYyhmbG9hdDMgeCkg
eworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXh3KGZsb2F0NCB2KSB7Citm
bG9hdDQgdHJ1bmMoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi53OworICAgIHJlc3VsdFswXSA9IHRydW5jKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IHRydW5jKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRydW5jKHhbMl0pOworICAgIHJlc3Vs
dFszXSA9IHRydW5jKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56d3ogKi8KLWJvb2wzIG9wZXJhdG9yLnp3eihib29sNCB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDIgdHJ1bmMoZmxvYXQyeDIgeCkgeworICAg
IGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3Iuend6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7CitmbG9hdDN4MiB0cnVuYyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFsx
XVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnp3eihpbnQ0IHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYuejsKK2Zsb2F0NHgyIHRydW5jKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gdHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdHJ1
bmMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56d3oo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OworZmxvYXQyeDMgdHJ1bmMoZmxv
YXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVu
Yyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iuenl3eiAqLwotYm9vbDQgb3BlcmF0b3Iuenl3eihib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQzeDMg
dHJ1bmMoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3Bl
cmF0b3Iuenl3eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OworZmxvYXQ0eDMgdHJ1bmMoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50NCBvcGVyYXRvci56eXd6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQyeDQgdHJ1bmMoZmxvYXQyeDQgeCkgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
M10gPSB0cnVuYyh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJh
dG9yLnp5d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OworZmxvYXQzeDQgdHJ1bmMoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0cnVuYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0
cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0cnVuYyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSB0cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3dyAqLwotYm9vbDQgb3BlcmF0
b3Iuenl3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53
ID0gdi53OworZmxvYXQ0eDQgdHJ1bmMoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB0cnVuYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSB0cnVuYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0cnVuYyh4WzJdWzBdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSB0cnVuYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0cnVu
Yyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0cnVuYyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSB0cnVuYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0cnVuYyh4WzNd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0cnVuYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSB0cnVuYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0cnVuYyh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMl0gPSB0cnVuYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0
cnVuYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0cnVuYyh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSB0cnVuYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSB0cnVuYyh4
WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenl3dyh1aW50
NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBtYXggKi8KK3VpbnQgbWF4KHVp
bnQgeCwgdWludCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geCA6IHk7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnp5d3coaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Cit1aW50MiBtYXgodWludDIgeCwgdWludDIgeSkgeworICAgIHVpbnQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhb
MV0sIHlbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenl3dyhm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Cit1aW50MyBtYXgodWludDMgeCwgdWludDMgeSkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6PSAqLwotYm9vbDQgb3BlcmF0
b3IueHd6PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd6PSh1aW50NCB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICBy
ZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54d3o9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3Vs
dC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd6PShm
bG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKK3VpbnQ0
IG1heCh1aW50NCB4LCB1aW50NCB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1heCh4WzNd
LCB5WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHl4dyAqLwotYm9vbDQgb3BlcmF0b3IueHl4dyhib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7CisK
KworaW50IG1heChpbnQgeCwgaW50IHkpIHsKKyAgICByZXR1cm4geCA+IHkgPyB4IDogeTsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnh5eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYudzsKK2ludDIgbWF4KGludDIgeCwgaW50MiB5KSB7CisgICAgaW50
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsx
XSA9IG1heCh4WzFdLCB5WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54eXh3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di53OworaW50MyBtYXgoaW50MyB4LCBpbnQzIHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OworaW50NCBtYXgoaW50NCB4LCBpbnQ0IHkpIHsK
KyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5
WzJdKTsKKyAgICByZXN1bHRbM10gPSBtYXgoeFszXSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eT0gKi8KLWJvb2w0IG9wZXJh
dG9yLnd6eT0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworZmxvYXQgbWF4KGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAg
ICByZXR1cm4geCA+IHkgPyB4IDogeTsKIH0KLXVpbnQ0IG9wZXJhdG9yLnd6eT0odWludDQgdiwg
dWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7CitmbG9hdDIgbWF4KGZsb2F0
MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4
KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci53enk9KGludDQgdiwgaW50MyBjKSB7Ci0gICAg
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJlc3VsdC55ID0gYy56OworZmxvYXQzIG1heChmbG9hdDMgeCwgZmxvYXQzIHkpIHsK
KyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0s
IHlbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iud3p5PShmbG9h
dDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9
IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0NCBt
YXgoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBtYXgoeFsz
XSwgeVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh4enggKi8KLWJvb2w0IG9wZXJhdG9yLnh4engoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngyIG1heChmbG9hdDJ4
MiB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotYm9vbDQgb3BlcmF0b3IueHh6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDIgbWF4KGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4
KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFd
WzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1h
eCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsy
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4engodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0
NHgyIG1heChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1b
MF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh4engodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0MngzIG1h
eChmbG9hdDJ4MyB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBt
YXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bWF4KHhbMV1bMl0sIHlbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnh4engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CitmbG9hdDN4MyBtYXgoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0
M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54eHp4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgbWF4KGZs
b2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4
WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYXgo
eFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4
KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHp4KGZsb2F0MyB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0Mng0IG1heChmbG9h
dDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhb
MV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eHp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3g0IG1heChmbG9hdDN4
NCB4LCBmbG9hdDN4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBd
WzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3h6ICovCi1ib29sNCBv
cGVyYXRvci55d3h6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7CitmbG9hdDR4NCBtYXgoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgeworICAg
IGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBtYXgo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbWF4
KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IG1h
eCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwgeVsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJl
c3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBt
YXgoeFszXVszXSwgeVszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnl3eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OworCisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBhc2lu
dCAqLworaW50IGFzaW50KGludCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl3eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludDIgYXNpbnQoaW50MiB4KSB7CisgICAgcmV0dXJu
IHg7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXd4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludDMg
YXNpbnQoaW50MyB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXh6ICovCi1ib29sNCBvcGVyYXRvci54eXh6KGJvb2wzIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
K2ludDQgYXNpbnQoaW50NCB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci1ib29sNCBvcGVyYXRvci54
eXh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2ludCBhc2ludCh1aW50IHgpIHsKKyAgICByZXR1cm4g
aW50KHgpOwogfQotdWludDQgb3BlcmF0b3IueHl4eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworaW50MiBhc2ludCh1aW50MiB4KSB7Cisg
ICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gYXNpbnQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9y
Lnh5eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYuejsKK2ludDMgYXNpbnQodWludDMgeCkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGFzaW50KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJh
dG9yLnh5eHooaW50MyB2KSB7CitpbnQ0IGFzaW50KHVpbnQ0IHgpIHsKICAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2ludCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBhc2ludCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotaW50NCBvcGVyYXRvci54eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi56OworbmF0aXZlIGludCBhc2ludChmbG9hdCk7CitpbnQyIGFzaW50
KGZsb2F0MiB4KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWZsb2F0NCBvcGVyYXRvci54eXh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYuejsKK2ludDMgYXNpbnQoZmxvYXQzIHgpIHsKKyAgICBpbnQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
c2ludCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworaW50NCBhc2ludChmbG9hdDQgeCkgewor
ICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOworICAgIHJl
c3VsdFszXSA9IGFzaW50KHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBzcXJ0ICovCi1mbG9hdCBzcXJ0KGZsb2F0IHgpIHsKLSAgICByZXR1cm4gcG93
KHgsIDAuNSk7Ci19Ci1mbG9hdDIgc3FydChmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBzcXJ0KHhbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgc3FydChmbG9hdDMgeCkgewotICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gc3FydCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBzcXJ0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHNxcnQoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBzcXJ0KGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gc3FydCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBzcXJ0KHhbM10pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBzcXJ0KGZsb2F0MngyIHgpIHsKLSAgICBm
bG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDMgc3FydChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
c3FydCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworLyogRnVuY3Rpb25zIG5h
bWVkIGNsYW1wICovCituYXRpdmUgdWludCBjbGFtcCh1aW50LCB1aW50LCB1aW50KTsKK25hdGl2
ZSB1aW50MiBjbGFtcCh1aW50MiwgdWludDIsIHVpbnQyKTsKK25hdGl2ZSB1aW50MyBjbGFtcCh1
aW50MywgdWludDMsIHVpbnQzKTsKK25hdGl2ZSB1aW50NCBjbGFtcCh1aW50NCwgdWludDQsIHVp
bnQ0KTsKK25hdGl2ZSBpbnQgY2xhbXAoaW50LCBpbnQsIGludCk7CituYXRpdmUgaW50MiBjbGFt
cChpbnQyLCBpbnQyLCBpbnQyKTsKK25hdGl2ZSBpbnQzIGNsYW1wKGludDMsIGludDMsIGludDMp
OworbmF0aXZlIGludDQgY2xhbXAoaW50NCwgaW50NCwgaW50NCk7CituYXRpdmUgZmxvYXQgY2xh
bXAoZmxvYXQsIGZsb2F0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQyIGNsYW1wKGZsb2F0MiwgZmxv
YXQyLCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MyBjbGFtcChmbG9hdDMsIGZsb2F0MywgZmxvYXQz
KTsKK25hdGl2ZSBmbG9hdDQgY2xhbXAoZmxvYXQ0LCBmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUg
ZmxvYXQyeDIgY2xhbXAoZmxvYXQyeDIsIGZsb2F0MngyLCBmbG9hdDJ4Mik7CituYXRpdmUgZmxv
YXQzeDIgY2xhbXAoZmxvYXQzeDIsIGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQ0
eDIgY2xhbXAoZmxvYXQ0eDIsIGZsb2F0NHgyLCBmbG9hdDR4Mik7CituYXRpdmUgZmxvYXQyeDMg
Y2xhbXAoZmxvYXQyeDMsIGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQzeDMgY2xh
bXAoZmxvYXQzeDMsIGZsb2F0M3gzLCBmbG9hdDN4Myk7CituYXRpdmUgZmxvYXQ0eDMgY2xhbXAo
ZmxvYXQ0eDMsIGZsb2F0NHgzLCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQyeDQgY2xhbXAoZmxv
YXQyeDQsIGZsb2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQzeDQgY2xhbXAoZmxvYXQz
eDQsIGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgZmxvYXQ0eDQgY2xhbXAoZmxvYXQ0eDQs
IGZsb2F0NHg0LCBmbG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcjwgKi8K
K25hdGl2ZSBib29sIG9wZXJhdG9yPChpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcjwo
dWludCwgdWludCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcjwoZmxvYXQsIGZsb2F0KTsKK25hdGl2
ZSBib29sMiBvcGVyYXRvcjwodWludDIsIHVpbnQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcjwo
dWludDMsIHVpbnQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcjwodWludDQsIHVpbnQ0KTsKK25h
dGl2ZSBib29sMiBvcGVyYXRvcjwoaW50MiwgaW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I8
KGludDMsIGludDMpOworbmF0aXZlIGJvb2w0IG9wZXJhdG9yPChpbnQ0LCBpbnQ0KTsKK25hdGl2
ZSBib29sMiBvcGVyYXRvcjwoZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9y
PChmbG9hdDMsIGZsb2F0Myk7CituYXRpdmUgYm9vbDQgb3BlcmF0b3I8KGZsb2F0NCwgZmxvYXQ0
KTsKK25hdGl2ZSBib29sMngyIG9wZXJhdG9yPChmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0aXZl
IGJvb2wzeDIgb3BlcmF0b3I8KGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgYm9vbDR4MiBv
cGVyYXRvcjwoZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPChm
bG9hdDJ4MywgZmxvYXQyeDMpOworbmF0aXZlIGJvb2wzeDMgb3BlcmF0b3I8KGZsb2F0M3gzLCBm
bG9hdDN4Myk7CituYXRpdmUgYm9vbDR4MyBvcGVyYXRvcjwoZmxvYXQ0eDMsIGZsb2F0NHgzKTsK
K25hdGl2ZSBib29sMng0IG9wZXJhdG9yPChmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGJv
b2wzeDQgb3BlcmF0b3I8KGZsb2F0M3g0LCBmbG9hdDN4NCk7CituYXRpdmUgYm9vbDR4NCBvcGVy
YXRvcjwoZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGlzbmFuICov
CituYXRpdmUgYm9vbCBpc25hbihmbG9hdCk7CisKK2Jvb2wyIGlzbmFuKGZsb2F0MiB4KSB7Cisg
ICAgYm9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGlzbmFuKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCBzcXJ0
KGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
c3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOworYm9vbDMgaXNuYW4oZmxvYXQzIHgpIHsK
KyAgICBib29sMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7CisgICAgcmVz
dWx0WzFdID0gaXNuYW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIHNxcnQoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0
M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKK2Jvb2w0
IGlzbmFuKGZsb2F0NCB4KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlz
bmFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzbmFuKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGlzbmFuKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlzbmFuKHhbM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDN4MyBzcXJ0KGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBzcXJ0KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gc3FydCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKwor
LyogRnVuY3Rpb25zIG5hbWVkIEFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jICovCituYXRp
dmUgdm9pZCBBbGxNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpOworCisvKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3JeICovCitib29sIG9wZXJhdG9yXihib29sIGEsIGJvb2wgYikgeworICAg
IGlmIChhKQorICAgICAgICByZXR1cm4gIWI7CisgICAgcmV0dXJuIGI7CiB9Ci1mbG9hdDN4NCBz
cXJ0KGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gc3FydCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc3FydCh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNx
cnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVsz
XSk7CituYXRpdmUgaW50IG9wZXJhdG9yXihpbnQsIGludCk7CituYXRpdmUgdWludCBvcGVyYXRv
cl4odWludCwgdWludCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBpc2luZiAqLworbmF0aXZlIGJv
b2wgaXNpbmYoZmxvYXQpOworYm9vbDIgaXNpbmYoZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gaXNpbmYoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNpbmYo
eFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgyIHNxcnQoZmxvYXQ0eDIgeCkg
ewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
c3FydCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsx
XSA9IHNxcnQoeFszXVsxXSk7Citib29sMyBpc2luZihmbG9hdDMgeCkgeworICAgIGJvb2wzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc2luZih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2lu
Zih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc2luZih4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0eDMgc3FydChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc3Fy
dCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9
IHNxcnQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBzcXJ0KHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gc3FydCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBzcXJ0KHhbM11bMl0pOworYm9vbDQgaXNpbmYoZmxvYXQ0IHgpIHsKKyAgICBib29sNCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNpbmYoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNp
bmYoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNpbmYoeFsyXSk7CisgICAgcmVzdWx0WzNdID0g
aXNpbmYoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IHNxcnQoZmxvYXQ0
eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gc3FydCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IHNxcnQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gc3FydCh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IHNxcnQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSBzcXJ0KHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvcnwgKi8KK2Jvb2wgb3BlcmF0b3J8KGJvb2wgYSwgYm9vbCBiKSB7CisgICAg
cmV0dXJuIGEgfHwgYjsKIH0KK25hdGl2ZSBpbnQgb3BlcmF0b3J8KGludCwgaW50KTsKK25hdGl2
ZSB1aW50IG9wZXJhdG9yfCh1aW50LCB1aW50KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGFjb3Mg
Ki8KLW5hdGl2ZSBmbG9hdCBhY29zKGZsb2F0KTsKLWZsb2F0MiBhY29zKGZsb2F0MiB4KSB7Cisv
KiBGdW5jdGlvbnMgbmFtZWQgZGVncmVlcyAqLworZmxvYXQgZGVncmVlcyhmbG9hdCB4KSB7Cisg
ICAgcmV0dXJuIHggKiAxODAgLyAzLjE0MTU5OworfQorZmxvYXQyIGRlZ3JlZXMoZmxvYXQyIHgp
IHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gYWNvcyh4WzFdKTsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZs
b2F0MyBhY29zKGZsb2F0MyB4KSB7CitmbG9hdDMgZGVncmVlcyhmbG9hdDMgeCkgewogICAgIGZs
b2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBhY29zKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFjb3MoeFsyXSk7CisgICAgcmVzdWx0WzBd
ID0gZGVncmVlcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZWdyZWVzKHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGRlZ3JlZXMoeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBh
Y29zKGZsb2F0NCB4KSB7CitmbG9hdDQgZGVncmVlcyhmbG9hdDQgeCkgewogICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYWNvcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhY29z
KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFjb3MoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYWNv
cyh4WzNdKTsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJdKTsKKyAgICByZXN1
bHRbM10gPSBkZWdyZWVzKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MiBh
Y29zKGZsb2F0MngyIHgpIHsKK2Zsb2F0MngyIGRlZ3JlZXMoZmxvYXQyeDIgeCkgewogICAgIGZs
b2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsw
XSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRlZ3JlZXMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MngzIGFj
b3MoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYWNvcyh4WzFdWzJdKTsKK2Zsb2F0M3gyIGRlZ3JlZXMoZmxvYXQzeDIgeCkgeworICAg
IGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZGVncmVlcyh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgYWNvcyhm
bG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFj
b3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKK2Zsb2F0NHgyIGRlZ3JlZXMoZmxvYXQ0eDIg
eCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhb
MF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhb
M11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0M3gyIGFjb3MoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFjb3Mo
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKK2Zsb2F0MngzIGRl
Z3JlZXMoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQzeDMgYWNvcyhmbG9hdDN4MyB4KSB7CitmbG9hdDN4MyBkZWdyZWVzKGZs
b2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWNv
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsy
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGFjb3MoZmxvYXQzeDQgeCkg
ewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
YWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGFjb3MoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFjb3Mo
eFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDIgYWNvcyhmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gYWNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsz
XVswXSA9IGFjb3MoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgYWNvcyhmbG9hdDR4MyB4KSB7CitmbG9h
dDR4MyBkZWdyZWVzKGZsb2F0NHgzIHgpIHsKICAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gYWNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBhY29zKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFj
b3MoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGFjb3MoZmxvYXQ0
eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gYWNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGFjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11b
M10gPSBhY29zKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci54eXd3ICovCi1ib29sNCBvcGVyYXRvci54eXd3KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5d3codWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54eXd3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHl3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yPiAqLwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KGludCwgaW50KTsKLW5hdGl2ZSBib29sIG9w
ZXJhdG9yPih1aW50LCB1aW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPihmbG9hdCwgZmxvYXQp
OwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPih1aW50MiwgdWludDIpOwotbmF0aXZlIGJvb2wzIG9w
ZXJhdG9yPih1aW50MywgdWludDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPih1aW50NCwgdWlu
dDQpOwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihpbnQyLCBpbnQyKTsKLW5hdGl2ZSBib29sMyBv
cGVyYXRvcj4oaW50MywgaW50Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I+KGludDQsIGludDQp
OwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yPihmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgYm9vbDMg
b3BlcmF0b3I+KGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcj4oZmxvYXQ0
LCBmbG9hdDQpOwotbmF0aXZlIGJvb2wyeDIgb3BlcmF0b3I+KGZsb2F0MngyLCBmbG9hdDJ4Mik7
Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcj4oZmxvYXQyeDMsIGZsb2F0MngzKTsKLW5hdGl2ZSBi
b29sMng0IG9wZXJhdG9yPihmbG9hdDJ4NCwgZmxvYXQyeDQpOwotbmF0aXZlIGJvb2wzeDIgb3Bl
cmF0b3I+KGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj4oZmxv
YXQzeDMsIGZsb2F0M3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPihmbG9hdDN4NCwgZmxv
YXQzeDQpOwotbmF0aXZlIGJvb2w0eDIgb3BlcmF0b3I+KGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1u
YXRpdmUgYm9vbDR4MyBvcGVyYXRvcj4oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKLW5hdGl2ZSBib29s
NHg0IG9wZXJhdG9yPihmbG9hdDR4NCwgZmxvYXQ0eDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3ImICovCi1ib29sIG9wZXJhdG9yJihib29sIGEsIGJvb2wgYikgewotICAgIHJldHVy
biBhICYmIGI7Ci19Ci1uYXRpdmUgaW50IG9wZXJhdG9yJihpbnQsIGludCk7Ci1uYXRpdmUgdWlu
dCBvcGVyYXRvciYodWludCwgdWludCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
eHl6ICovCi1ib29sNCBvcGVyYXRvci56eHl6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnp4eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh5
eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHl6KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh5eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci56eHl6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh5
eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6eSAqLwot
Ym9vbDQgb3BlcmF0b3Iuenl6eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci56eXp5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5enkodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl6eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5enkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsy
XSA9IGRlZ3JlZXMoeFszXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3Iuenl6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0Mng0IGRlZ3JlZXMoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsz
XSA9IGRlZ3JlZXMoeFsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVy
YXRvci56eXp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYueTsKK2Zsb2F0M3g0IGRlZ3JlZXMoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4
WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp5enkoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55Owor
ZmxvYXQ0eDQgZGVncmVlcyhmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVn
cmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVn
cmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGVn
cmVlcyh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVn
cmVlcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVn
cmVlcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnl4
eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh5dyh1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53OworLyogRnVuY3Rp
b25zIG5hbWVkIFNhbXBsZSAqLworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUxRDx1aW50Piwg
c2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxl
KFRleHR1cmUyRDx1aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50
IFNhbXBsZShUZXh0dXJlMkQ8dWludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBv
ZmZzZXQpOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PHVp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50
IFNhbXBsZShUZXh0dXJlM0Q8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRp
dmUgdWludCBTYW1wbGUoVGV4dHVyZTNEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24s
IGludDMgb2Zmc2V0KTsKK25hdGl2ZSB1aW50IFNhbXBsZShUZXh0dXJlQ3ViZTx1aW50Piwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTFEPHVp
bnQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0
dXJlMURBcnJheTx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgdWlu
dDIgU2FtcGxlKFRleHR1cmUyRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Citu
YXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUyRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2Nh
dGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1
aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWludDIgU2FtcGxlKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNl
dCk7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUzRDx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbik7CituYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUzRDx1aW50Mj4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIHVpbnQyIFNhbXBsZShU
ZXh0dXJlQ3ViZTx1aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgdWlu
dDMgU2FtcGxlKFRleHR1cmUxRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25h
dGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBzYW1wbGVyLCBmbG9hdDIg
bG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMkQ8dWludDM+LCBzYW1wbGVy
LCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMkQ8dWludDM+
LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1aW50MyBT
YW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwor
bmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0
MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlM0Q8
dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIHVpbnQzIFNhbXBsZShU
ZXh0dXJlM0Q8dWludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsK
K25hdGl2ZSB1aW50MyBTYW1wbGUoVGV4dHVyZUN1YmU8dWludDM+LCBzYW1wbGVyLCBmbG9hdDMg
bG9jYXRpb24pOworbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMUQ8dWludDQ+LCBzYW1wbGVy
LCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUxREFycmF5PHVp
bnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4
dHVyZTJEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBT
YW1wbGUoVGV4dHVyZTJEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQ0Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSB1
aW50NCBTYW1wbGUoVGV4dHVyZTNEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsK
K25hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTNEPHVpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmVDdWJlPHVp
bnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1
cmUxRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgaW50IFNhbXBsZShU
ZXh0dXJlMURBcnJheTxpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGlu
dCBTYW1wbGUoVGV4dHVyZTJEPGludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRp
dmUgaW50IFNhbXBsZShUZXh0dXJlMkQ8aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBp
bnQyIG9mZnNldCk7CituYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQ+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgaW50
IFNhbXBsZShUZXh0dXJlM0Q8aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQgU2FtcGxlKFRleHR1cmUzRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGlu
dDMgb2Zmc2V0KTsKK25hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmVDdWJlPGludD4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTFEPGludDI+LCBz
YW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTFEQXJy
YXk8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUo
VGV4dHVyZTJEPGludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDIg
U2FtcGxlKFRleHR1cmUyRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGludDIg
U2FtcGxlKFRleHR1cmUzRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2
ZSBpbnQyIFNhbXBsZShUZXh0dXJlM0Q8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwg
aW50MyBvZmZzZXQpOworbmF0aXZlIGludDIgU2FtcGxlKFRleHR1cmVDdWJlPGludDI+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUxRDxpbnQz
Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUx
REFycmF5PGludDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2Ft
cGxlKFRleHR1cmUyRDxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBp
bnQzIFNhbXBsZShUZXh0dXJlMkQ8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50
MiBvZmZzZXQpOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDM+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmUyREFycmF5
PGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBp
bnQzIFNhbXBsZShUZXh0dXJlM0Q8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Citu
YXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTNEPGludDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQzPiwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlMUQ8
aW50ND4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0
dXJlMURBcnJheTxpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0
IFNhbXBsZShUZXh0dXJlMkQ8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRp
dmUgaW50NCBTYW1wbGUoVGV4dHVyZTJEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24s
IGludDIgb2Zmc2V0KTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
c2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlMkRB
cnJheTxpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRp
dmUgaW50NCBTYW1wbGUoVGV4dHVyZTNEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OworbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUzRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZUN1YmU8aW50
ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1
cmUxRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdCBTYW1w
bGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOworbmF0
aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRp
b24pOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9h
dDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IFNh
bXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQ+
LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKK25hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworbmF0
aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTFEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0
aW9uKTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHNhbXBs
ZXIsIGZsb2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkQ8Zmxv
YXQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRl
eHR1cmUyRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsK
K25hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHNhbXBsZXIsIGZs
b2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKK25hdGl2ZSBmbG9h
dDIgU2FtcGxlKFRleHR1cmUzRDxmbG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwor
bmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbiwgaW50MyBvZmZzZXQpOworbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxl
KFRleHR1cmUxRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7CituYXRpdmUgZmxv
YXQzIFNhbXBsZShUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRp
b24pOworbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0Mz4sIHNhbXBsZXIsIGZs
b2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQzPiwg
c2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgZmxvYXQzIFNh
bXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwor
bmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJl
M0Q8ZmxvYXQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDMgU2Ft
cGxlKFRleHR1cmUzRDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zm
c2V0KTsKK25hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQ0
Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9h
dDQgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwor
bmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbiwgaW50MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKK25hdGl2ZSBmbG9hdDQgU2Ft
cGxlKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MiBvZmZzZXQpOworbmF0aXZlIGZsb2F0NCBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0ND4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlM0Q8Zmxv
YXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7CituYXRpdmUgZmxv
YXQ0IFNhbXBsZShUZXh0dXJlQ3ViZTxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24p
OworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHNhbXBsZXIsIGZs
b2F0MiBsb2NhdGlvbik7CituYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVEZXB0aDJEPGZsb2F0
Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgZmxvYXQg
U2FtcGxlKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRp
b24pOworbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwgc2Ft
cGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7CituYXRpdmUgZmxvYXQgU2FtcGxl
KFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOworCisv
KiBGdW5jdGlvbnMgbmFtZWQgc2luaCAqLworbmF0aXZlIGZsb2F0IHNpbmgoZmxvYXQpOworZmxv
YXQyIHNpbmgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHNpbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotaW50NCBvcGVyYXRvci55eHl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQzIHNpbmgoZmxvYXQzIHgpIHsKKyAgICBm
bG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpbmgoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gc2luaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaW5oKHhbMl0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXh5dyhmbG9hdDQgdikgeworZmxvYXQ0IHNpbmgo
ZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
d3h6ICovCi1ib29sNCBvcGVyYXRvci56d3h6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBzaW5oKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7
CisgICAgcmVzdWx0WzNdID0gc2luaCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotdWlu
dDQgb3BlcmF0b3Iuend4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi56OworZmxvYXQyeDIgc2luaChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQy
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWludDQgb3BlcmF0b3Iuend4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYuejsKK2Zsb2F0M3gyIHNpbmgoZmxvYXQzeDIgeCkgeworICAgIGZs
b2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luaCh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3eHooZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OworZmxvYXQ0eDIgc2lu
aChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFsz
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3d4eSAqLwotYm9vbDQgb3BlcmF0b3Iud3d4
eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OworZmxvYXQyeDMgc2luaChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci11aW50NCBvcGVyYXRvci53d3h5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4MyBzaW5oKGZsb2F0M3gzIHgpIHsKKyAgICBm
bG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3d4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgzIHNpbmgoZmxvYXQ0eDMgeCkg
eworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsx
XSA9IHNpbmgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbmgo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4WzNdWzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnd3eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDQgc2luaChmbG9hdDJ4
NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5o
KHhbMV1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXggKi8KLWJvb2wyIG9wZXJhdG9yLnl4KGJvb2wyIHYpIHsK
LSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7CitmbG9hdDN4NCBzaW5oKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
c2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsz
XSA9IHNpbmgoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWJvb2wyIG9wZXJhdG9y
Lnl4KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDR4NCBzaW5oKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhb
M11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IHNpbmgoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2lu
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IHNpbmgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc2luaCh4WzNdWzNd
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDIgb3BlcmF0b3IueXgoYm9vbDQgdikgewot
ICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eDsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRkeSAqLworbmF0aXZlIGZsb2F0IGRkeShmbG9hdCk7
CitmbG9hdDIgZGR5KGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50MiBvcGVyYXRvci55eCh1aW50MiB2KSB7Ci0gICAgdWludDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OworZmxvYXQzIGRkeShm
bG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR5KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHkoeFsyXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9wZXJhdG9yLnl4KHVpbnQzIHYpIHsKLSAg
ICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
CitmbG9hdDQgZGR5KGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGRkeSh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHkoeFszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQyIG9wZXJhdG9yLnl4KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDJ4MiBkZHko
ZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBk
ZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IueXgoaW50MiB2KSB7Ci0gICAg
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Citm
bG9hdDN4MiBkZHkoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50MiBvcGVy
YXRvci55eChpbnQzIHYpIHsKLSAgICBpbnQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0NHgyIGRkeShmbG9hdDR4MiB4KSB7CisgICAgZmxv
YXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0p
OworICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDIgb3BlcmF0b3IueXgoaW50NCB2KSB7Ci0gICAg
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Citm
bG9hdDJ4MyBkZHkoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyIG9w
ZXJhdG9yLnl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKK2Zsb2F0M3gzIGRkeShmbG9hdDN4MyB4KSB7Cisg
ICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhb
Ml1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3IueXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OworZmxvYXQ0eDMgZGR5
KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRk
eSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLWZsb2F0MiBvcGVyYXRvci55eChmbG9hdDQgdikgewotICAgIGZsb2F0MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7CitmbG9hdDJ4
NCBkZHkoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDN4NCBkZHkoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHko
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZGR5KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeSh4WzJdWzNdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHko
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCB0YW5oICovCi1uYXRpdmUgZmxvYXQgdGFu
aChmbG9hdCk7Ci1mbG9hdDIgdGFuaChmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gdGFuaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0YW5oKHhbMV0pOwor
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPj0gKi8KK25hdGl2ZSBib29sIG9wZXJhdG9yPj0o
aW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PSh1aW50LCB1aW50KTsKK25hdGl2ZSBi
b29sIG9wZXJhdG9yPj0oZmxvYXQsIGZsb2F0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRvcj49KHVp
bnQyLCB1aW50Mik7CituYXRpdmUgYm9vbDMgb3BlcmF0b3I+PSh1aW50MywgdWludDMpOworbmF0
aXZlIGJvb2w0IG9wZXJhdG9yPj0odWludDQsIHVpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRv
cj49KGludDIsIGludDIpOworbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0oaW50MywgaW50Myk7Citu
YXRpdmUgYm9vbDQgb3BlcmF0b3I+PShpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBib29sMiBvcGVyYXRv
cj49KGZsb2F0MiwgZmxvYXQyKTsKK25hdGl2ZSBib29sMyBvcGVyYXRvcj49KGZsb2F0MywgZmxv
YXQzKTsKK25hdGl2ZSBib29sNCBvcGVyYXRvcj49KGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2ZSBi
b29sMngyIG9wZXJhdG9yPj0oZmxvYXQyeDIsIGZsb2F0MngyKTsKK25hdGl2ZSBib29sM3gyIG9w
ZXJhdG9yPj0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKK25hdGl2ZSBib29sNHgyIG9wZXJhdG9yPj0o
ZmxvYXQ0eDIsIGZsb2F0NHgyKTsKK25hdGl2ZSBib29sMngzIG9wZXJhdG9yPj0oZmxvYXQyeDMs
IGZsb2F0MngzKTsKK25hdGl2ZSBib29sM3gzIG9wZXJhdG9yPj0oZmxvYXQzeDMsIGZsb2F0M3gz
KTsKK25hdGl2ZSBib29sNHgzIG9wZXJhdG9yPj0oZmxvYXQ0eDMsIGZsb2F0NHgzKTsKK25hdGl2
ZSBib29sMng0IG9wZXJhdG9yPj0oZmxvYXQyeDQsIGZsb2F0Mng0KTsKK25hdGl2ZSBib29sM3g0
IG9wZXJhdG9yPj0oZmxvYXQzeDQsIGZsb2F0M3g0KTsKK25hdGl2ZSBib29sNHg0IG9wZXJhdG9y
Pj0oZmxvYXQ0eDQsIGZsb2F0NHg0KTsKKworLyogRnVuY3Rpb25zIG5hbWVkIGRzdCAqLwordWlu
dDQgZHN0KHVpbnQ0IHNyYzAsIHVpbnQ0IHNyYzEpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAg
cmVzdWx0LnggPSAxOworICAgIHJlc3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJlc3Vs
dC56ID0gc3JjMC56OworICAgIHJlc3VsdC53ID0gc3JjMS53OwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDMgdGFuaChmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gdGFuaCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSB0YW5oKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IHRhbmgoeFsyXSk7CitpbnQ0IGRzdChpbnQ0IHNyYzAsIGludDQgc3JjMSkgewor
ICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0gMTsKKyAgICByZXN1bHQueSA9IHNyYzAu
eSAqIHNyYzEueTsKKyAgICByZXN1bHQueiA9IHNyYzAuejsKKyAgICByZXN1bHQudyA9IHNyYzEu
dzsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IHRhbmgoZmxvYXQ0IHgpIHsKK2Zsb2F0
NCBkc3QoZmxvYXQ0IHNyYzAsIGZsb2F0NCBzcmMxKSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gdGFuaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSB0YW5oKHhbM10pOwor
ICAgIHJlc3VsdC54ID0gMTsKKyAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKKyAgICBy
ZXN1bHQueiA9IHNyYzAuejsKKyAgICByZXN1bHQudyA9IHNyYzEudzsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQyeDIgdGFuaChmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
dGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisKKworLyogRnVuY3Rpb25zIG5hbWVkIGRvdCAq
LwordWludCBkb3QodWludCBhLCB1aW50IGIpIHsKKyAgICByZXR1cm4gYSAqIGI7Cit9Cit1aW50
IGRvdCh1aW50MiBhLCB1aW50MiBiKSB7CisgICAgdWludCByZXN1bHQgPSAwOworICAgIHJlc3Vs
dCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBi
WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyB0YW5oKGZsb2F0MngzIHgpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRh
bmgoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsy
XSk7Cit1aW50IGRvdCh1aW50MyBhLCB1aW50MyBiKSB7CisgICAgdWludCByZXN1bHQgPSAwOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAr
IGFbMV0gKiBiWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4NCB0YW5oKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0
YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1b
M10pOwordWludCBkb3QodWludDQgYSwgdWludDQgYikgeworICAgIHVpbnQgcmVzdWx0ID0gMDsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzNdICogYlszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQzeDIgdGFuaChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3Vs
dFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworaW50IGRvdChpbnQgYSwgaW50IGIpIHsKKyAg
ICByZXR1cm4gYSAqIGI7Cit9CitpbnQgZG90KGludDIgYSwgaW50MiBiKSB7CisgICAgaW50IHJl
c3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gz
IHRhbmgoZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW5o
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
dGFuaCh4WzJdWzJdKTsKK2ludCBkb3QoaW50MyBhLCBpbnQzIGIpIHsKKyAgICBpbnQgcmVzdWx0
ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzeDQgdGFuaChmbG9hdDN4NCB4KSB7Ci0gICAg
ZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhb
MF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gdGFuaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdGFu
aCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJd
KTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1bM10pOworaW50IGRvdChpbnQ0IGEsIGlu
dDQgYikgeworICAgIGludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0g
KiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAgIHJlc3VsdCA9
IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbM10gKiBiWzNd
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDR4MiB0YW5oKGZsb2F0NHgyIHgpIHsKLSAg
ICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSB0YW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0
YW5oKHhbM11bMV0pOworZmxvYXQgZG90KGZsb2F0IGEsIGZsb2F0IGIpIHsKKyAgICByZXR1cm4g
YSAqIGI7Cit9CitmbG9hdCBkb3QoZmxvYXQyIGEsIGZsb2F0MiBiKSB7CisgICAgZmxvYXQgcmVz
dWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgKyBhWzFdICogYlsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMg
dGFuaChmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHRhbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHRhbmgo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAgICByZXN1bHRb
MV1bMl0gPSB0YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSB0
YW5oKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSB0YW5oKHhbM11b
Ml0pOworZmxvYXQgZG90KGZsb2F0MyBhLCBmbG9hdDMgYikgeworICAgIGZsb2F0IHJlc3VsdCA9
IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IHRhbmgoZmxvYXQ0eDQgeCkgewotICAgIGZs
b2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVsw
XSA9IHRhbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHRhbmgo
eFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSB0YW5oKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0
YW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSB0YW5oKHhbM11b
M10pOworZmxvYXQgZG90KGZsb2F0NCBhLCBmbG9hdDQgYikgeworICAgIGZsb2F0IHJlc3VsdCA9
IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJbM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4ej0gKi8KLWJvb2wzIG9wZXJhdG9yLnl4
ej0oYm9vbDMgdiwgYm9vbDMgYykgewotICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7CisvKiBG
dW5jdGlvbnMgbmFtZWQgYXNmbG9hdCAqLworbmF0aXZlIGZsb2F0IGFzZmxvYXQoaW50KTsKK2Zs
b2F0MiBhc2Zsb2F0KGludDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYXNmbG9hdCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eHo9KGJvb2w0IHYsIGJvb2wzIGMpIHsK
LSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54
ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OworZmxvYXQzIGFzZmxvYXQoaW50MyB4KSB7Cisg
ICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDMgb3BlcmF0b3IueXh6PSh1aW50MyB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKK2Zsb2F0NCBhc2Zsb2F0KGludDQg
eCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gYXNmbG9hdCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueXh6PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAg
ICByZXN1bHQueiA9IGMuejsKK25hdGl2ZSBmbG9hdCBhc2Zsb2F0KHVpbnQpOworZmxvYXQyIGFz
ZmxvYXQodWludDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNm
bG9hdCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQzIG9wZXJhdG9yLnl4ej0oaW50MyB2LCBpbnQzIGMpIHsKLSAgICBpbnQz
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0g
ICAgcmVzdWx0LnogPSBjLno7CitmbG9hdDMgYXNmbG9hdCh1aW50MyB4KSB7CisgICAgZmxvYXQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGFzZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci55eHo9KGludDQgdiwgaW50MyBjKSB7Ci0gICAg
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OworZmxvYXQ0IGFzZmxvYXQodWludDQgeCkgeworICAgIGZs
b2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBhc2Zsb2F0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gYXNmbG9hdCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQz
IG9wZXJhdG9yLnl4ej0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQzIHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0IGFzZmxvYXQoZmxvYXQgeCkgewor
ICAgIHJldHVybiB4OwogfQotZmxvYXQ0IG9wZXJhdG9yLnl4ej0oZmxvYXQ0IHYsIGZsb2F0MyBj
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zs
b2F0MiBhc2Zsb2F0KGZsb2F0MiB4KSB7CisgICAgcmV0dXJuIHg7CiB9Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci53eHp5PSAqLwotYm9vbDQgb3BlcmF0b3Iud3h6eT0oYm9vbDQgdiwg
Ym9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBj
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0MyBhc2Zsb2F0KGZsb2F0MyB4KSB7CisgICAg
cmV0dXJuIHg7CiB9Ci11aW50NCBvcGVyYXRvci53eHp5PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0g
ICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueCA9
IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1
cm4gcmVzdWx0OworZmxvYXQ0IGFzZmxvYXQoZmxvYXQ0IHgpIHsKKyAgICByZXR1cm4geDsKIH0K
LWludDQgb3BlcmF0b3Iud3h6eT0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0
LnogPSBjLno7Ci0gICAgcmVzdWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2Zsb2F0
MngyIGFzZmxvYXQoZmxvYXQyeDIgeCkgeworICAgIHJldHVybiB4OwogfQotZmxvYXQ0IG9wZXJh
dG9yLnd4enk9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2Owot
ICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0g
Yy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7CitmbG9hdDN4MiBh
c2Zsb2F0KGZsb2F0M3gyIHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0NHgyIGFzZmxvYXQo
ZmxvYXQ0eDIgeCkgeworICAgIHJldHVybiB4OworfQorZmxvYXQyeDMgYXNmbG9hdChmbG9hdDJ4
MyB4KSB7CisgICAgcmV0dXJuIHg7Cit9CitmbG9hdDN4MyBhc2Zsb2F0KGZsb2F0M3gzIHgpIHsK
KyAgICByZXR1cm4geDsKK30KK2Zsb2F0NHgzIGFzZmxvYXQoZmxvYXQ0eDMgeCkgeworICAgIHJl
dHVybiB4OworfQorZmxvYXQyeDQgYXNmbG9hdChmbG9hdDJ4NCB4KSB7CisgICAgcmV0dXJuIHg7
Cit9CitmbG9hdDN4NCBhc2Zsb2F0KGZsb2F0M3g0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zs
b2F0NHg0IGFzZmxvYXQoZmxvYXQ0eDQgeCkgeworICAgIHJldHVybiB4OwogfQogCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IqICovCi1uYXRpdmUgaW50IG9wZXJhdG9yKihpbnQsIGludCk7
Ci1uYXRpdmUgdWludCBvcGVyYXRvcioodWludCwgdWludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0
b3IqKGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IqKHVpbnQyLCB1aW50Mik7
Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IqKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MiBvcGVy
YXRvcioodWludCwgdWludDIpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKih1aW50MywgdWludDMp
OwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKih1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDMgb3Bl
cmF0b3IqKHVpbnQsIHVpbnQzKTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcioodWludDQsIHVpbnQ0
KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcioodWludDQsIHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9w
ZXJhdG9yKih1aW50LCB1aW50NCk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvciooaW50MiwgaW50Mik7
Ci1uYXRpdmUgaW50MiBvcGVyYXRvciooaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9y
KihpbnQsIGludDIpOwotbmF0aXZlIGludDMgb3BlcmF0b3IqKGludDMsIGludDMpOwotbmF0aXZl
IGludDMgb3BlcmF0b3IqKGludDMsIGludCk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvciooaW50LCBp
bnQzKTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yKihpbnQ0LCBpbnQ0KTsKLW5hdGl2ZSBpbnQ0IG9w
ZXJhdG9yKihpbnQ0LCBpbnQpOwotbmF0aXZlIGludDQgb3BlcmF0b3IqKGludCwgaW50NCk7Ci1u
YXRpdmUgZmxvYXQyIG9wZXJhdG9yKihmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQyIG9w
ZXJhdG9yKihmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IqKGZsb2F0LCBm
bG9hdDIpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvciooZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZl
IGZsb2F0MyBvcGVyYXRvciooZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9y
KihmbG9hdCwgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IqKGZsb2F0NCwgZmxvYXQ0
KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IqKGZsb2F0NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0
NCBvcGVyYXRvciooZmxvYXQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IqKGZs
b2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IqKGZsb2F0MngyLCBm
bG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDJ4Mik7Ci1uYXRp
dmUgZmxvYXQyeDMgb3BlcmF0b3IqKGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQy
eDMgb3BlcmF0b3IqKGZsb2F0MngzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3Iq
KGZsb2F0LCBmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IqKGZsb2F0Mng0LCBm
bG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IqKGZsb2F0Mng0LCBmbG9hdCk7Ci1u
YXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQz
eDIgb3BlcmF0b3IqKGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0
b3IqKGZsb2F0M3gyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IqKGZsb2F0LCBm
bG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IqKGZsb2F0M3gzLCBmbG9hdDN4Myk7
Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IqKGZsb2F0M3gzLCBmbG9hdCk7Ci1uYXRpdmUgZmxv
YXQzeDMgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDN4Myk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0
b3IqKGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IqKGZsb2F0
M3g0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDN4NCk7
Ci1uYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IqKGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUg
ZmxvYXQ0eDIgb3BlcmF0b3IqKGZsb2F0NHgyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDIgb3Bl
cmF0b3IqKGZsb2F0LCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IqKGZsb2F0
NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IqKGZsb2F0NHgzLCBmbG9h
dCk7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IqKGZsb2F0LCBmbG9hdDR4Myk7Ci1uYXRpdmUg
ZmxvYXQ0eDQgb3BlcmF0b3IqKGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQg
b3BlcmF0b3IqKGZsb2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IqKGZs
b2F0LCBmbG9hdDR4NCk7CisvKiBGdW5jdGlvbnMgbmFtZWQgaXNub3JtYWwgKi8KK25hdGl2ZSBi
b29sIGlzbm9ybWFsKGZsb2F0KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIGNvcyAqLwotbmF0aXZl
IGZsb2F0IGNvcyhmbG9hdCk7Ci1mbG9hdDIgY29zKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY29zKHhb
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgY29zKGZsb2F0MyB4KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gY29zKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsKK2Jvb2wyIGlzbm9ybWFs
KGZsb2F0MiB4KSB7CisgICAgYm9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFs
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzbm9ybWFsKHhbMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDQgY29zKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBjb3MoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGNvcyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBjb3MoeFszXSk7Citib29sMyBp
c25vcm1hbChmbG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBp
c25vcm1hbCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc25vcm1hbCh4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBpc25vcm1hbCh4WzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDIg
Y29zKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1b
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBjb3MoZmxvYXQyeDMgeCkgewot
ICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgY29zKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9h
dDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNv
cyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvcyh4WzFdWzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgY29zKGZsb2F0M3gyIHgpIHsKLSAgICBm
bG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGNvcyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGNvcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDN4NCBjb3MoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBjb3MoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBjb3Mo
eFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gY29zKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGNvcyh4WzJdWzNdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgY29zKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9h
dDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNv
cyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gY29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgY29zKGZsb2F0NHgzIHgpIHsKLSAgICBm
bG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGNvcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFd
KTsKLSAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
Y29zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKLSAgICByZXN1
bHRbM11bMl0gPSBjb3MoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0
IGNvcyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGNvcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBd
WzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gY29zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBjb3MoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOwotICAgIHJl
c3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9
IGNvcyh4WzNdWzNdKTsKK2Jvb2w0IGlzbm9ybWFsKGZsb2F0NCB4KSB7CisgICAgYm9vbDQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlz
bm9ybWFsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhbMl0pOworICAgIHJlc3Vs
dFszXSA9IGlzbm9ybWFsKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56enp3ICovCi1ib29sNCBvcGVyYXRvci56enp3KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6encodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56enp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenp6dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl5d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnl5d3koYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueXl3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl5d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXd5KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQorLyogRnVuY3Rpb25zIG5hbWVkIEludGVybG9ja2VkRXhjaGFu
Z2UgKi8KK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2Uo
ZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVy
bG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsK
K25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQs
IGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2UoZGV2aWNlIGF0
b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRFeGNoYW5nZShkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhjaGFuZ2Uo
dGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIGRldmlj
ZSB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0
b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhj
aGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7
CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdyb3VwIGF0b21pY19pbnQq
LCBpbnQsIHRocmVhZGdyb3VwIGludCopOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHp3eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3k9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBi
b29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54end5PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAg
dWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54end5PShpbnQ0IHYsIGludDQgYykgewotICAgIGlu
dDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6d3k9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC55ID0gYy53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19CisvKiBGdW5jdGlvbnMgbmFtZWQgR2V0RGltZW5zaW9ucyAqLworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQq
IFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dD4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd6
eiAqLwotYm9vbDQgb3BlcmF0b3IueXd6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci55d3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXd6eihp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3enooZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CiAKLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3PShib29sNCB2LCBi
b29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enc9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp3PShpbnQ0IHYsIGludDIgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp4
eiAqLwotYm9vbDQgb3BlcmF0b3IueHp4eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci54enh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eHoo
dWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4eih1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eHooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueHp4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eHoo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp4eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yPT0gKi8KLW5hdGl2
ZSBib29sIG9wZXJhdG9yPT0oYm9vbCwgYm9vbCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcj09KGlu
dCwgaW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0odWludCwgdWludCk7Ci1uYXRpdmUgYm9v
bCBvcGVyYXRvcj09KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I9PShib29s
MiwgYm9vbDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPT0oYm9vbDMsIGJvb2wzKTsKLW5hdGl2
ZSBib29sNCBvcGVyYXRvcj09KGJvb2w0LCBib29sNCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I9
PSh1aW50MiwgdWludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPT0odWludDMsIHVpbnQzKTsK
LW5hdGl2ZSBib29sNCBvcGVyYXRvcj09KHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I9PShpbnQyLCBpbnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj09KGludDMsIGludDMp
OwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPT0oaW50NCwgaW50NCk7Ci1uYXRpdmUgYm9vbDIgb3Bl
cmF0b3I9PShmbG9hdDIsIGZsb2F0Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I9PShmbG9hdDMs
IGZsb2F0Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I9PShmbG9hdDQsIGZsb2F0NCk7Ci1uYXRp
dmUgYm9vbDJ4MiBvcGVyYXRvcj09KGZsb2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgYm9vbDJ4
MyBvcGVyYXRvcj09KGZsb2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRv
cj09KGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj09KGZsb2F0
M3gyLCBmbG9hdDN4Mik7Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj09KGZsb2F0M3gzLCBmbG9h
dDN4Myk7Ci1uYXRpdmUgYm9vbDN4NCBvcGVyYXRvcj09KGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1u
YXRpdmUgYm9vbDR4MiBvcGVyYXRvcj09KGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgYm9v
bDR4MyBvcGVyYXRvcj09KGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVy
YXRvcj09KGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcj09KGJv
b2wyeDIsIGJvb2wyeDIpOwotbmF0aXZlIGJvb2wyeDMgb3BlcmF0b3I9PShib29sMngzLCBib29s
MngzKTsKLW5hdGl2ZSBib29sMng0IG9wZXJhdG9yPT0oYm9vbDJ4NCwgYm9vbDJ4NCk7Ci1uYXRp
dmUgYm9vbDN4MiBvcGVyYXRvcj09KGJvb2wzeDIsIGJvb2wzeDIpOwotbmF0aXZlIGJvb2wzeDMg
b3BlcmF0b3I9PShib29sM3gzLCBib29sM3gzKTsKLW5hdGl2ZSBib29sM3g0IG9wZXJhdG9yPT0o
Ym9vbDN4NCwgYm9vbDN4NCk7Ci1uYXRpdmUgYm9vbDR4MiBvcGVyYXRvcj09KGJvb2w0eDIsIGJv
b2w0eDIpOwotbmF0aXZlIGJvb2w0eDMgb3BlcmF0b3I9PShib29sNHgzLCBib29sNHgzKTsKLW5h
dGl2ZSBib29sNHg0IG9wZXJhdG9yPT0oYm9vbDR4NCwgYm9vbDR4NCk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvcj4+ICov
Ci1uYXRpdmUgaW50IG9wZXJhdG9yPj4oaW50LCB1aW50KTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9y
Pj4odWludCwgdWludCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCByZWZsZWN0ICovCi1mbG9hdCByZWZsZWN0
KGZsb2F0IGksIGZsb2F0IG4pIHsKLSAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4pOwot
fQotZmxvYXQyIHJlZmxlY3QoZmxvYXQyIGksIGZsb2F0MiBuKSB7Ci0gICAgcmV0dXJuIGkgLSAy
ICogbiAqIGRvdChpLCBuKTsKLX0KLWZsb2F0MyByZWZsZWN0KGZsb2F0MyBpLCBmbG9hdDMgbikg
ewotICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Ci19Ci1mbG9hdDQgcmVmbGVjdChm
bG9hdDQgaSwgZmxvYXQ0IG4pIHsKLSAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4pOwot
fQogCiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3h3ICovCi1ib29sNCBvcGVyYXRv
ci53d3h3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3eHcodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3h3KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iud3d4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eXogKi8KLWJvb2w0IG9wZXJhdG9yLnh6eXooYm9vbDMg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp5eihib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci54enl6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh6eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enl6KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXooaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54enl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh6eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBu
YW1lZCBsaXQgKi8KLWZsb2F0NCBsaXQoZmxvYXQgbl9kb3RfbCwgZmxvYXQgbl9kb3RfaCwgZmxv
YXQgbSkgewotICAgIGZsb2F0IGFtYmllbnQgPSAxOwotICAgIGZsb2F0IGRpZmZ1c2UgPSBtYXgo
MCwgbl9kb3RfbCk7Ci0gICAgZmxvYXQgc3BlY3VsYXIgPSBuX2RvdF9sIDwgMCB8fCBuX2RvdF9o
IDwgMCA/IDAgOiBuX2RvdF9oICogbTsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gYW1iaWVudDsKLSAgICByZXN1bHQueSA9IGRpZmZ1c2U7Ci0gICAgcmVzdWx0LnogPSBzcGVj
dWxhcjsKLSAgICByZXN1bHQudyA9IDE7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAorbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0
aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVp
bnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueXh3eCAqLwotYm9vbDQgb3BlcmF0b3IueXh3eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55eHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXh3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3goZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBsb2cyICovCi1m
bG9hdCBsb2cyKGZsb2F0IHgpIHsKLSAgICByZXR1cm4gbG9nKHgpIC8gbG9nKGZsb2F0KDIpKTsK
LX0KLWZsb2F0MiBsb2cyKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBsb2cyKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBsb2cyKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBsb2cyKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gbG9nMih4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IGxvZzIoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGxvZzIoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKLSAgICByZXN1bHRb
Ml0gPSBsb2cyKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGxvZzIoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGxvZzIoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDJ4MyBsb2cyKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0Mng0IGxvZzIoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBsb2cyKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxvZzIoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIGxvZzIoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDMgbG9nMihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
bG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBsb2cyKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbG9nMih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOwotICAgIHJlc3VsdFsy
XVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxv
ZzIoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGxvZzIoZmxvYXQ0
eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9n
Mih4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgz
IGxvZzIoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBsb2cyKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBsb2cy
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
bG9nMih4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBsb2cyKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMih4WzNd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgbG9nMihmbG9hdDR4NCB4KSB7
Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGxvZzIoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBs
b2cyKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGxvZzIoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbG9nMih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nMih4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1bM10pOwotICAgIHJlc3VsdFsz
XVswXSA9IGxvZzIoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9nMih4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGxv
ZzIoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG5vcm1hbGl6ZSAqLwotZmxvYXQgbm9ybWFsaXplKGZs
b2F0IHgpIHsKLSAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKLX0KLWZsb2F0MiBub3JtYWxpemUo
ZmxvYXQyIHgpIHsKLSAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKLX0KLWZsb2F0MyBub3JtYWxp
emUoZmxvYXQzIHgpIHsKLSAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKLX0KLWZsb2F0NCBub3Jt
YWxpemUoZmxvYXQ0IHgpIHsKLSAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKLX0KK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKIAorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgbGRleHAgKi8KLWZsb2F0
IGxkZXhwKGZsb2F0IHgsIGZsb2F0IGUpIHsKLSAgICByZXR1cm4geCAqIHBvdygyLCBlKTsKLX0K
LWZsb2F0MiBsZGV4cChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGxkZXhwKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGxkZXhw
KHhbMV0sIHlbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbGRleHAoZmxvYXQz
IHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBsZGV4
cCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBsZGV4cCh4WzFdLCB5WzFdKTsKLSAgICBy
ZXN1bHRbMl0gPSBsZGV4cCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IGxkZXhwKGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbGRleHAoeFsx
XSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0
WzNdID0gbGRleHAoeFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mngy
IGxkZXhwKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGxkZXhwKGZsb2F0MngzIHgs
IGZsb2F0MngzIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRl
eHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGxk
ZXhwKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFsw
XVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
bGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVsz
XSwgeVsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGxkZXhwKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAo
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3gzIGxkZXhwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRl
eHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAo
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsy
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGxkZXhwKGZsb2F0M3g0IHgs
IGZsb2F0M3g0IHkpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRl
eHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbGRleHAo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsy
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGxkZXhwKGZsb2F0NHgyIHgs
IGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bGRleHAoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRl
eHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwg
eVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGxkZXhwKGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
bGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsy
XSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbGRl
eHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwg
eVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGxkZXhwKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHkpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
bGRleHAoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsx
XSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGRl
eHAoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwg
eVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbGRleHAo
eFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVsz
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnh6d3ooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp3eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci54end6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3h5eCAqLwotYm9vbDQgb3BlcmF0b3Iud3h5eChib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iud3h5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4eXgo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55
d3h3ICovCi1ib29sNCBvcGVyYXRvci55d3h3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnl3eHcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3h3
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd4dyhmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5eXogKi8KLWJvb2w0
IG9wZXJhdG9yLnp5eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl5
eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl6KHVpbnQzIHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eXoodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eXl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5
eXooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl6KGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBhYnMgKi8KLXVpbnQgYWJzKHVpbnQgeCkgewotICAg
IHJldHVybiB4OwotfQotaW50IGFicyhpbnQgeCkgewotICAgIGlmICh4IDwgMCkKLSAgICAgICAg
cmV0dXJuIC14OwotICAgIHJldHVybiB4OwotfQotZmxvYXQgYWJzKGZsb2F0IHgpIHsKLSAgICBp
ZiAoeCA8IDApCi0gICAgICAgIHJldHVybiAteDsKLSAgICByZXR1cm4geDsKLX0KLXVpbnQyIGFi
cyh1aW50MiB4KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIGFicyh1aW50MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFi
cyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJz
KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBhYnModWludDQgeCkgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhYnMoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gYWJzKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFicyh4WzJdKTsKLSAgICByZXN1bHRbM10g
PSBhYnMoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgYWJzKGludDIgeCkgewot
ICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBhYnMoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgYWJzKGludDMgeCkg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBhYnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IGFicyhpbnQ0IHgpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBhYnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGFicyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBhYnMoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBhYnMoZmxvYXQzIHgpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBh
YnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDQgYWJzKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBhYnMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYWJzKHhbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IGFicyh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBhYnMoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGFicyhmbG9hdDJ4MiB4KSB7Ci0gICAgZmxvYXQyeDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDMgYWJzKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhYnMoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGFicyhm
bG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFi
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYWJz
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBhYnMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGFi
cyhmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFd
KTsKLSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
YWJzKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBhYnMoZmxvYXQz
eDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGFicyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gYWJzKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFicyh4WzJdWzJdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgYWJzKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGFicyh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gYWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWJzKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFicyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1b
M10gPSBhYnMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGFicyhm
bG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFi
cyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gYWJzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMl1bMF0gPSBhYnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYWJz
KHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBhYnMoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGFi
cyhmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9
IGFicyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Ci0gICAgcmVz
dWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0g
YWJzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0p
OwotICAgIHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBh
YnMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBhYnMoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gYWJzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0g
PSBhYnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IGFicyh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBhYnMoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gYWJzKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFicyh4WzNdWzJd
KTsKLSAgICByZXN1bHRbM11bM10gPSBhYnMoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KIAorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWQg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+
LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50
Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwogCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3Iud3d5eSAqLwotYm9vbDQgb3BlcmF0b3Iud3d5eShib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53d3l5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iud3d5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnd3eXkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4s
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQz
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQz
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1l
ZCByb3VuZCAqLwotbmF0aXZlIGZsb2F0IHJvdW5kKGZsb2F0KTsKLWZsb2F0MiByb3VuZChmbG9h
dDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MyByb3VuZChmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gcm91bmQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7Ci0gICAgcmVzdWx0
WzJdID0gcm91bmQoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCByb3VuZChm
bG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gcm91bmQoeFsw
XSk7Ci0gICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcm91bmQo
eFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gcm91bmQoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MngyIHJvdW5kKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91
bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MngzIHJvdW5kKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gcm91bmQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gcm91bmQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0Mng0IHJvdW5kKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gcm91bmQoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gcm91bmQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIHJvdW5kKGZsb2F0M3gyIHgpIHsKLSAgICBm
bG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcm91bmQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIHJvdW5kKGZsb2F0M3gzIHgpIHsK
LSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
cm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcm91bmQo
eFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcm91bmQoeFsyXVsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IHJvdW5kKGZsb2F0M3g0IHgpIHsK
LSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
cm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gcm91bmQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gcm91bmQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcm91bmQoeFsyXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIHJvdW5kKGZsb2F0NHgyIHgpIHsKLSAgICBm
bG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gcm91bmQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFd
ID0gcm91bmQoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHJvdW5k
KGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cm91bmQoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAg
cmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQo
eFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJd
ID0gcm91bmQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7Ci0g
ICAgcmVzdWx0WzNdWzFdID0gcm91bmQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcm91
bmQoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IHJvdW5kKGZsb2F0
NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcm91bmQo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcm91bmQoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcm91bmQoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcm91
bmQoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcm91bmQoeFsy
XVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gcm91bmQoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gcm91bmQoeFszXVsyXSk7
Ci0gICAgcmVzdWx0WzNdWzNdID0gcm91bmQoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG11bCAqLwot
dWludCBtdWwodWludCB4LCB1aW50IHkpIHsKLSAgICByZXR1cm4geCAqIHk7Ci19Ci1pbnQgbXVs
KGludCB4LCBpbnQgeSkgewotICAgIHJldHVybiB4ICogeTsKLX0KLWZsb2F0IG11bChmbG9hdCB4
LCBmbG9hdCB5KSB7Ci0gICAgcmV0dXJuIHggKiB5OwotfQotdWludDIgbXVsKHVpbnQgeCwgdWlu
dDIgeSkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKLSAg
ICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDIgbXVs
KHVpbnQyIHgsIHVpbnQgeSkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4
WzBdICogeTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgbXVsKHVpbnQgeCwgdWludDMgeSkgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXN1
bHRbMl0gPSB4ICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgbXVsKHVpbnQz
IHgsIHVpbnQgeSkgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICog
eTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICogeTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgbXVsKHVpbnQgeCwgdWludDQgeSkgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0g
PSB4ICogeVsxXTsKLSAgICByZXN1bHRbMl0gPSB4ICogeVsyXTsKLSAgICByZXN1bHRbM10gPSB4
ICogeVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgbXVsKHVpbnQ0IHgsIHVpbnQg
eSkgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICBy
ZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKLSAgICByZXN1
bHRbM10gPSB4WzNdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MiBtdWwoaW50IHgs
IGludDIgeSkgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwot
ICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG11
bChpbnQyIHgsIGludCB5KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geFsw
XSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDMgbXVsKGludCB4LCBpbnQzIHkpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXN1bHRbMl0g
PSB4ICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBtdWwoaW50MyB4LCBpbnQg
eSkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OwotICAgIHJl
c3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG11bChpbnQgeCwgaW50NCB5KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0WzFdID0geCAqIHlbMV07Ci0g
ICAgcmVzdWx0WzJdID0geCAqIHlbMl07Ci0gICAgcmVzdWx0WzNdID0geCAqIHlbM107Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgbXVsKGludDQgeCwgaW50IHkpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICog
eTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKLSAgICByZXN1bHRbM10gPSB4WzNdICogeTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9hdCB4LCBmbG9hdDIgeSkgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geCAqIHlbMF07Ci0gICAgcmVzdWx0
WzFdID0geCAqIHlbMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBtdWwoZmxvYXQy
IHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHhbMF0g
KiB5OwotICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgbXVsKGZsb2F0IHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSB4ICogeVswXTsKLSAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKLSAgICByZXN1
bHRbMl0gPSB4ICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9h
dDMgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0geFsw
XSAqIHk7Ci0gICAgcmVzdWx0WzFdID0geFsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdID0geFsyXSAq
IHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQgeCwgZmxvYXQ0IHkp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOwotICAgIHJl
c3VsdFsxXSA9IHggKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOwotICAgIHJlc3Vs
dFszXSA9IHggKiB5WzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVsKGZsb2F0
NCB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB4WzBd
ICogeTsKLSAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKLSAgICByZXN1bHRbMl0gPSB4WzJdICog
eTsKLSAgICByZXN1bHRbM10gPSB4WzNdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDIgbXVsKGZsb2F0IHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFd
ID0geCAqIHlbMV1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIG11bChmbG9h
dDJ4MiB4LCBmbG9hdCB5KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IHhbMF1bMF0gKiB5OwotICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJl
c3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtdWwoZmxvYXQgeCwgZmxvYXQyeDMg
eSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZsb2F0IHkpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsy
XSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzJdID0geFsxXVsyXSAqIHk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IG11bChmbG9hdCB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAg
ZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJd
OwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IHgg
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsx
XVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtdWwoZmxvYXQyeDQgeCwgZmxvYXQgeSkgewot
ICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAg
ICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJd
ICogeTsKLSAgICByZXN1bHRbMF1bM10gPSB4WzBdWzNdICogeTsKLSAgICByZXN1bHRbMV1bMF0g
PSB4WzFdWzBdICogeTsKLSAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1
bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKLSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbXVsKGZsb2F0IHgsIGZsb2F0M3gyIHkp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0geCAq
IHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJd
WzBdID0geCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIG11bChmbG9hdDN4MiB4LCBmbG9hdCB5KSB7Ci0g
ICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OwotICAg
IHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0g
KiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVswXSA9
IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBtdWwoZmxvYXQgeCwgZmxvYXQzeDMgeSkgewotICAgIGZs
b2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKLSAgICByZXN1
bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4ICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSB4ICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1b
MF0gPSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAq
IHk7Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
eFsxXVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0
WzFdWzJdID0geFsxXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsy
XSAqIHk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IG11bChmbG9hdCB4LCBmbG9h
dDN4NCB5KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsy
XSA9IHggKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwotICAgIHJl
c3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHgg
KiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVsxXSA9IHggKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10g
PSB4WzBdWzNdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
LSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzJd
WzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICogeTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbXVsKGZsb2F0IHgsIGZsb2F0NHgyIHkpIHsKLSAg
ICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0g
eCAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzNdWzBdID0geCAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIG11bChmbG9hdDR4MiB4LCBmbG9hdCB5KSB7
Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5Owot
ICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OwotICAgIHJlc3VsdFsxXVswXSA9IHhbMV1b
MF0gKiB5OwotICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OwotICAgIHJlc3VsdFsyXVsw
XSA9IHhbMl1bMF0gKiB5OwotICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OwotICAgIHJl
c3VsdFszXVswXSA9IHhbM11bMF0gKiB5OwotICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQgeCwgZmxvYXQ0eDMg
eSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVsw
XTsKLSAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSB4
ICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKLSAgICByZXN1bHRb
MV1bMV0gPSB4ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSB4ICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSB4ICogeVsy
XVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSB4ICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0g
PSB4ICogeVszXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsKLSAgICByZXN1
bHRbM11bMl0gPSB4ICogeVszXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMg
bXVsKGZsb2F0NHgzIHgsIGZsb2F0IHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0geFswXVswXSAqIHk7Ci0gICAgcmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7
Ci0gICAgcmVzdWx0WzBdWzJdID0geFswXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzBdID0geFsx
XVswXSAqIHk7Ci0gICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzFd
WzJdID0geFsxXVsyXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7Ci0gICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXSAq
IHk7Ci0gICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
eFszXVsxXSAqIHk7Ci0gICAgcmVzdWx0WzNdWzJdID0geFszXVsyXSAqIHk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxv
YXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXVsxXSA9IHggKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IHggKiB5
WzFdWzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsy
XSA9IHggKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOwotICAgIHJl
c3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFd
OwotICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVszXSA9IHgg
KiB5WzJdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOwotICAgIHJlc3VsdFsz
XVsxXSA9IHggKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOwotICAg
IHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQgeSkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKLSAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFd
ICogeTsKLSAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKLSAgICByZXN1bHRbMF1bM10g
PSB4WzBdWzNdICogeTsKLSAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKLSAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKLSAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
LSAgICByZXN1bHRbMV1bM10gPSB4WzFdWzNdICogeTsKLSAgICByZXN1bHRbMl1bMF0gPSB4WzJd
WzBdICogeTsKLSAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFdICogeTsKLSAgICByZXN1bHRbMl1b
Ml0gPSB4WzJdWzJdICogeTsKLSAgICByZXN1bHRbMl1bM10gPSB4WzJdWzNdICogeTsKLSAgICBy
ZXN1bHRbM11bMF0gPSB4WzNdWzBdICogeTsKLSAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICog
eTsKLSAgICByZXN1bHRbM11bMl0gPSB4WzNdWzJdICogeTsKLSAgICByZXN1bHRbM11bM10gPSB4
WzNdWzNdICogeTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludCBtdWwodWludDIgeCwgdWlu
dDIgeSkgewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19Ci11aW50IG11bCh1aW50MyB4LCB1aW50
MyB5KSB7Ci0gICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLXVpbnQgbXVsKHVpbnQ0IHgsIHVpbnQ0
IHkpIHsKLSAgICByZXR1cm4gZG90KHgsIHkpOwotfQotaW50IG11bChpbnQyIHgsIGludDIgeSkg
ewotICAgIHJldHVybiBkb3QoeCwgeSk7Ci19Ci1pbnQgbXVsKGludDMgeCwgaW50MyB5KSB7Ci0g
ICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLWludCBtdWwoaW50NCB4LCBpbnQ0IHkpIHsKLSAgICBy
ZXR1cm4gZG90KHgsIHkpOwotfQotZmxvYXQgbXVsKGZsb2F0MiB4LCBmbG9hdDIgeSkgewotICAg
IHJldHVybiBkb3QoeCwgeSk7Ci19Ci1mbG9hdCBtdWwoZmxvYXQzIHgsIGZsb2F0MyB5KSB7Ci0g
ICAgcmV0dXJuIGRvdCh4LCB5KTsKLX0KLWZsb2F0IG11bChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsK
LSAgICByZXR1cm4gZG90KHgsIHkpOwotfQotZmxvYXQyIG11bChmbG9hdDIgeCwgZmxvYXQyeDIg
eSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRb
MF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyIG11bChmbG9hdDJ4MiB4LCBmbG9hdDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07Ci0gICAgcmVz
dWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0
WzFdICs9IHhbMV1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9hdDIgeCwgZmxvYXQyeDMgeSkg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0g
Kz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3Vs
dFsyXSArPSB4WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzIHkp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBd
ICs9IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAg
ICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICBy
ZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5
WzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsyXTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG11bChmbG9hdDIgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzNdID0g
MDsKLSAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhb
MV0gKiB5WzFdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgbXVsKGZsb2F0Mng0
IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsx
XSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdWzNdICogeVszXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICog
eVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9hdDMgeCwgZmxvYXQz
eDIgeSkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1
bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV0gPSAwOwot
ICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXSAq
IHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxvYXQz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICog
eVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzFdID0g
MDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzFdICs9IHhb
MV1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1b
MF0gKiB5WzBdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG11bChmbG9hdDMgeCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXSAqIHlb
MF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSArPSB4
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07Ci0gICAgcmVz
dWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXSA9IDA7Ci0gICAgcmVzdWx0
WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBtdWwoZmxvYXQzeDMgeCwgZmxvYXQzIHkpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOwotICAg
IHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsyXSAq
IHlbMl07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlb
MF07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSArPSB4
WzFdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJd
WzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0
WzJdICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVs
KGZsb2F0MyB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF0gPSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF0g
Kz0geFsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbM10gKz0geFsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzNd
ICs9IHhbMl0gKiB5WzJdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgbXVsKGZs
b2F0M3g0IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSAwOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0g
eFswXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5WzJdOwotICAgIHJl
c3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFd
WzNdICogeVszXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBd
ICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzJd
ICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzNdICogeVszXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyIG11bChmbG9hdDQgeCwgZmxvYXQ0eDIgeSkgewot
ICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gMDsKLSAgICByZXN1bHRbMF0gKz0g
eFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11b
MF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXSArPSB4WzJd
ICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICByZXN1bHRbMV0g
PSAwOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0g
eFsxXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFsy
XVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFszXSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFsz
XSArPSB4WzNdWzFdICogeVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG11bChm
bG9hdDQgeCwgZmxvYXQ0eDMgeSkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gMDsKLSAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdICs9
IHhbMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1
bHRbMV0gKz0geFswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFd
OwotICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsz
XSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdID0gMDsKLSAgICByZXN1bHRbMl0gKz0geFswXSAq
IHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsy
XSArPSB4WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQzIHkpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9
IHhbMF1bMF0gKiB5WzBdOwotICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKLSAgICBy
ZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07Ci0gICAgcmVzdWx0WzFdID0gMDsKLSAgICByZXN1
bHRbMV0gKz0geFsxXVswXSAqIHlbMF07Ci0gICAgcmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFd
OwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsyXTsKLSAgICByZXN1bHRbMl0gPSAwOwot
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsx
XSAqIHlbMV07Ci0gICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsz
XSA9IDA7Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSAr
PSB4WzNdWzFdICogeVsxXTsKLSAgICByZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBtdWwoZmxvYXQ0IHgsIGZsb2F0NHg0IHkpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IDA7Ci0gICAgcmVzdWx0WzBdICs9IHhb
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdICs9IHhbM10gKiB5WzNdWzBd
OwotICAgIHJlc3VsdFsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV0gKz0geFsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdICs9IHhbM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsy
XSA9IDA7Ci0gICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXSAr
PSB4WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzJdICs9IHhbM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFszXSA9IDA7Ci0gICAgcmVz
dWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXSArPSB4WzFdICogeVsxXVsz
XTsKLSAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdICs9IHhb
M10gKiB5WzNdWzNdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgbXVsKGZsb2F0NHg0
IHgsIGZsb2F0NCB5KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSAwOwot
ICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKLSAgICByZXN1bHRbMF0gKz0geFswXVsx
XSAqIHlbMV07Ci0gICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsw
XSArPSB4WzBdWzNdICogeVszXTsKLSAgICByZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKLSAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07Ci0gICAg
cmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICog
eVszXTsKLSAgICByZXN1bHRbMl0gPSAwOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVsw
XTsKLSAgICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzJdICs9IHhb
Ml1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSArPSB4WzJdWzNdICogeVszXTsKLSAgICByZXN1
bHRbM10gPSAwOwotICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKLSAgICByZXN1bHRb
M10gKz0geFszXVsxXSAqIHlbMV07Ci0gICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOwot
ICAgIHJlc3VsdFszXSArPSB4WzNdWzNdICogeVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMF0g
PSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMV0gKiB5WzFdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtdWwoZmxv
YXQyeDIgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQyeDQgbXVsKGZsb2F0MngyIHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1b
Ml0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1
bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzNdID0gMDsKLSAg
ICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1b
Ml07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsx
XVszXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAq
IHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwot
ICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJd
WzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsK
LSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsy
XVsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgbXVsKGZsb2F0MngzIHgsIGZs
b2F0M3gzIHkpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsy
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBd
ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAw
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0Mng0IG11bChmbG9hdDJ4MyB4LCBmbG9hdDN4NCB5KSB7Ci0gICAgZmxvYXQyeDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
MDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICog
eVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVszXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAq
IHlbMl1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsx
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMV0g
PSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0g
KiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzNd
ID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJd
ICogeVsyXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbXVsKGZsb2F0Mng0
IHgsIGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0
WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAg
cmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07
Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlb
M11bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MngzIG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
M10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9
IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVz
dWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0g
ICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9
IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsx
XVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAq
IHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAgIHJl
c3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwot
ICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0g
Kz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5WzNd
WzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0g
KiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bM10gKiB5WzNdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBtdWwoZmxv
YXQyeDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNd
ICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsx
XSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVszXVszXTsKLSAgICByZXN1bHRbMV1bMF0gPSAw
OwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsx
XTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1b
M107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzNdICogeVszXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQz
eDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsw
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3gzIG11bChmbG9hdDN4MiB4LCBmbG9hdDJ4MyB5KSB7Ci0gICAg
ZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBd
ICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAg
cmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsx
XTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJd
WzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICog
eVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVz
dWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9
IDA7Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0g
KiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzNd
ID0gMDsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAg
cmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4
WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsx
XSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzJdWzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsw
XSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAg
IHJlc3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDIgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9h
dDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0g
eFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1b
MV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1
bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFd
WzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIG11bChmbG9h
dDN4MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJl
c3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFsw
XVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0g
Kz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFd
WzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRb
MF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsx
XVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0
WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAg
cmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4
WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlb
MV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3Vs
dFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0g
eFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5
WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1
bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9
IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBtdWwo
ZmxvYXQzeDMgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVz
dWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0g
ICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJl
c3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwot
ICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0g
Kz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRb
MV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
LSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVszXSA9IDA7Ci0gICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFd
ICogeVsxXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bM107Ci0gICAg
cmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsw
XSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3Vs
dFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsx
XSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAg
IHJlc3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJd
OwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsKLSAgICByZXN1
bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1b
MV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVszXTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbXVsKGZsb2F0M3g0IHgsIGZsb2F0NHgyIHkp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1
bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0g
MDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICog
eVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVz
dWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0g
ICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11b
MF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAq
IHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0g
Kz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsK
LSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAqIHlbM11bMV07Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0M3gzIG11bChmbG9hdDN4NCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQz
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAg
cmVzdWx0WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlb
Ml1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3Vs
dFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBd
OwotICAgIHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1
bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1b
M10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsy
XTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJl
c3VsdFsyXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwot
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBtdWwoZmxvYXQzeDQgeCwgZmxv
YXQ0eDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwot
ICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsK
LSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNd
ICogeVszXVsyXTsKLSAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107
Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzNdICogeVszXVszXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsx
XSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAg
IHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAw
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1
bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsy
XTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICog
eVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzNdICogeVszXVszXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSAr
PSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsy
XVswXSArPSB4WzJdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJl
c3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsy
XVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwot
ICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMl0g
PSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRb
Ml1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0g
KiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNdICogeVszXVsyXTsKLSAgICBy
ZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsz
XVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZs
b2F0MngyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsK
LSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFd
ICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlb
MF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3Vs
dFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAg
IHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMl1bMV0gPSAw
OwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMl1b
MV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1
bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11b
MV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsx
XTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbXVsKGZsb2F0NHgyIHgsIGZsb2F0
MngzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAg
ICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBd
WzFdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICog
eVsxXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07Ci0g
ICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVswXSAqIHlbMF1b
MF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsx
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwot
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRb
Ml1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0
WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAg
cmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7
Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsx
XSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsx
XSAqIHlbMV1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG11bChmbG9hdDR4
MiB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzJdID0gMDsKLSAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFswXVszXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
MF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVszXTsKLSAg
ICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFd
WzFdID0gMDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVz
dWx0WzFdWzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0g
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsx
XVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAq
IHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsy
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRb
Ml1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzNdID0gMDsK
LSAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bM107Ci0gICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzBdICs9IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFd
ICogeVsxXVswXTsKLSAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4
WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07
Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlb
MF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJlc3Vs
dFszXVszXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzNdOwotICAg
IHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVszXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDR4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsw
XSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAg
IHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAw
OwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1b
MV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5
WzJdWzFdOwotICAgIHJlc3VsdFsxXVswXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAg
ICByZXN1bHRbMV1bMF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0g
MDsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFd
WzFdICs9IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICog
eVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0g
ICAgcmVzdWx0WzJdWzBdICs9IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9
IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAq
IHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMV0g
PSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRb
M11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMl0g
KiB5WzJdWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBtdWwoZmxvYXQ0eDMg
eCwgZmxvYXQzeDMgeSkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRb
MF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0g
KiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzBdWzJd
ID0gMDsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0
WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJd
ICogeVsyXVsyXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4
WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07
Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVsx
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3Vs
dFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsy
XSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzJd
OwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbMl1b
MF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICByZXN1
bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhbMl1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzFdICs9
IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzFdICogeVsxXVsx
XTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzJd
WzJdID0gMDsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMl07Ci0gICAgcmVz
dWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSArPSB4WzJd
WzJdICogeVsyXVsyXTsKLSAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSAr
PSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1b
MF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsz
XVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJl
c3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbM11bMV0gKz0geFsz
XVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzJdID0gMDsKLSAgICByZXN1bHRbM11bMl0g
Kz0geFszXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFd
WzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICogeVsyXVsyXTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0eDQgbXVsKGZsb2F0NHgzIHgsIGZsb2F0M3g0IHkpIHsKLSAgICBm
bG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0g
Kz0geFswXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRb
MF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0
WzBdWzNdID0gMDsKLSAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bM107Ci0gICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzJdICogeVsyXVszXTsKLSAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVsw
XSArPSB4WzFdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlb
MV1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3Vs
dFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwotICAg
IHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzJdID0gMDsKLSAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVswXSAqIHlbMF1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5
WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsyXVsyXTsKLSAgICByZXN1
bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1bMV07Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFsyXVszXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzNdOwot
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVszXTsKLSAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVsyXSAqIHlbMl1bM107Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0g
KiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICBy
ZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzNdWzNdID0gMDsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bM107
Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVsz
XSArPSB4WzNdWzJdICogeVsyXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIg
bXVsKGZsb2F0NHg0IHgsIGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gMDsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVswXSAqIHlbMF1bMF07
Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVsw
XSArPSB4WzBdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVszXSAqIHlb
M11bMF07Ci0gICAgcmVzdWx0WzBdWzFdID0gMDsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsw
XSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMV0gKiB5WzFdWzFdOwotICAg
IHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0g
eFswXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzFdWzBdID0gMDsKLSAgICByZXN1bHRbMV1b
MF0gKz0geFsxXVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMV0gKiB5
WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVswXTsKLSAgICByZXN1
bHRbMV1bMF0gKz0geFsxXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzFdWzFdID0gMDsKLSAg
ICByZXN1bHRbMV1bMV0gKz0geFsxXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVszXSAqIHlbM11bMV07Ci0gICAgcmVzdWx0WzJd
WzBdID0gMDsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVswXSAqIHlbMF1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJd
WzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVszXSAqIHlbM11bMF07Ci0g
ICAgcmVzdWx0WzJdWzFdID0gMDsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVswXSAqIHlbMF1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsy
XVsxXSArPSB4WzJdWzJdICogeVsyXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVszXSAq
IHlbM11bMV07Ci0gICAgcmVzdWx0WzNdWzBdID0gMDsKLSAgICByZXN1bHRbM11bMF0gKz0geFsz
XVswXSAqIHlbMF1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMV0gKiB5WzFdWzBdOwot
ICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzJdICogeVsyXVswXTsKLSAgICByZXN1bHRbM11bMF0g
Kz0geFszXVszXSAqIHlbM11bMF07Ci0gICAgcmVzdWx0WzNdWzFdID0gMDsKLSAgICByZXN1bHRb
M11bMV0gKz0geFszXVswXSAqIHlbMF1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhbM11bMV0g
KiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzJdICogeVsyXVsxXTsKLSAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVszXSAqIHlbM11bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NHgzIG11bChmbG9hdDR4NCB4LCBmbG9hdDR4MyB5KSB7Ci0gICAgZmxvYXQ0eDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzFdICogeVsxXVswXTsKLSAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFswXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsx
XVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0
WzBdWzFdICs9IHhbMF1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFswXVsyXSA9IDA7Ci0gICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07
Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsxXVsw
XSA9IDA7Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3Vs
dFsxXVswXSArPSB4WzFdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsy
XSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzFdWzBdICs9IHhbMV1bM10gKiB5WzNdWzBdOwotICAg
IHJlc3VsdFsxXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bM10gKiB5
WzNdWzFdOwotICAgIHJlc3VsdFsxXVsyXSA9IDA7Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsyXTsKLSAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bM10gKiB5WzNdWzJdOwotICAgIHJlc3VsdFsyXVswXSA9IDA7Ci0gICAgcmVzdWx0WzJd
WzBdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzFdICog
eVsxXVswXTsKLSAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVz
dWx0WzJdWzBdICs9IHhbMl1bM10gKiB5WzNdWzBdOwotICAgIHJlc3VsdFsyXVsxXSA9IDA7Ci0g
ICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSAr
PSB4WzJdWzFdICogeVsxXVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsyXSAqIHlbMl1b
MV07Ci0gICAgcmVzdWx0WzJdWzFdICs9IHhbMl1bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFsy
XVsyXSA9IDA7Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsyXSAqIHlbMl1bMl07Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzJdOwot
ICAgIHJlc3VsdFszXVswXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMF0gKiB5WzBd
WzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzFdICogeVsxXVswXTsKLSAgICByZXN1bHRb
M11bMF0gKz0geFszXVsyXSAqIHlbMl1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bM10g
KiB5WzNdWzBdOwotICAgIHJlc3VsdFszXVsxXSA9IDA7Ci0gICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzFdICogeVsxXVsxXTsK
LSAgICByZXN1bHRbM11bMV0gKz0geFszXVsyXSAqIHlbMl1bMV07Ci0gICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bM10gKiB5WzNdWzFdOwotICAgIHJlc3VsdFszXVsyXSA9IDA7Ci0gICAgcmVzdWx0
WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFd
ICogeVsxXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMl07Ci0gICAg
cmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5WzNdWzJdOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewotICAgIGZsb2F0NHg0IHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBd
ICogeVswXVswXTsKLSAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07Ci0gICAg
cmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSArPSB4
WzBdWzNdICogeVszXVswXTsKLSAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsx
XSArPSB4WzBdWzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlb
MV1bMV07Ci0gICAgcmVzdWx0WzBdWzFdICs9IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3Vs
dFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMF1bMl0gPSAwOwotICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzJd
OwotICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMF1b
M10gPSAwOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKLSAgICByZXN1
bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzBdWzNdICs9IHhbMF1b
Ml0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVszXVszXTsKLSAg
ICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVsw
XTsKLSAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzFd
WzBdICs9IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICog
eVszXVswXTsKLSAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSArPSB4WzFd
WzBdICogeVswXVsxXTsKLSAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07Ci0g
ICAgcmVzdWx0WzFdWzFdICs9IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSAr
PSB4WzFdWzNdICogeVszXVsxXTsKLSAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAq
IHlbMV1bMl07Ci0gICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMV1bM10gPSAwOwot
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVsxXSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJd
WzNdOwotICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVszXVszXTsKLSAgICByZXN1bHRb
Ml1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKLSAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsK
LSAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKLSAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0
WzJdWzFdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNd
ICogeVszXVsxXTsKLSAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzBdICogeVswXVsyXTsKLSAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07
Ci0gICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsy
XSArPSB4WzJdWzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3Vs
dFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbMl1bM10gKz0geFsyXVsx
XSAqIHlbMV1bM107Ci0gICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzNdOwotICAg
IHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVszXVszXTsKLSAgICByZXN1bHRbM11bMF0gPSAw
OwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKLSAgICByZXN1bHRbM11b
MF0gKz0geFszXVsxXSAqIHlbMV1bMF07Ci0gICAgcmVzdWx0WzNdWzBdICs9IHhbM11bMl0gKiB5
WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsKLSAgICByZXN1
bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKLSAg
ICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07Ci0gICAgcmVzdWx0WzNdWzFdICs9
IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNdICogeVszXVsx
XTsKLSAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICog
eVswXVsyXTsKLSAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07Ci0gICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVsyXSArPSB4WzNd
WzNdICogeVszXVsyXTsKLSAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSAr
PSB4WzNdWzBdICogeVswXVszXTsKLSAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1b
M107Ci0gICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzNdICogeVszXVszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enl3PSAqLwotYm9vbDQgb3BlcmF0b3IueHp5dz0o
Ym9vbDQgdiwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmVz
dWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eXc9
KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54
ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJl
c3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXc9
KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0g
Yy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJlc3Vs
dC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5dz0o
ZmxvYXQ0IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0
LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAg
cmVzdWx0LncgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnd5eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnd5eHcoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnd5eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
enh4eiAqLwotYm9vbDQgb3BlcmF0b3Iuenh4eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29s
NCBvcGVyYXRvci56eHh6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4
eHoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh4eih1aW50NCB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iuenh4eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4
eHooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4eihmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5eHggKi8K
LWJvb2w0IG9wZXJhdG9yLnl5eHgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0
b3IueXl4eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXh4KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eHgodWludDIgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3IueXl4eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci55eXh4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl4eChp
bnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXh4KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci55eXh4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eHgo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl4eChmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3dyAqLwotYm9v
bDMgb3BlcmF0b3Iud3d3KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd3dyh1aW50NCB2KSB7Ci0gICAgdWlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd3
dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzIG9wZXJhdG9yLnd3dyhmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHJhZGlhbnMg
Ki8KLWZsb2F0IHJhZGlhbnMoZmxvYXQgeCkgewotICAgIHJldHVybiB4ICogMy4xNDE1OSAvIDE4
MDsKLX0KLWZsb2F0MiByYWRpYW5zKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IHJhZGlhbnMoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyByYWRpYW5zKGZsb2F0MyB4KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOwotICAgIHJl
c3VsdFsxXSA9IHJhZGlhbnMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcmFkaWFucyh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHJhZGlhbnMoZmxvYXQ0IHgpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJhZGlhbnMoeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gcmFkaWFucyh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSByYWRpYW5zKHhbMl0pOwotICAg
IHJlc3VsdFszXSA9IHJhZGlhbnMoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MngyIHJhZGlhbnMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MyByYWRpYW5zKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5z
KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5z
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IHJhZGlhbnMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0
Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gcmFkaWFu
cyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOwotICAgIHJl
c3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcmFkaWFu
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOwotICAgIHJl
c3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0M3gyIHJhZGlhbnMoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlh
bnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlh
bnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgcmFkaWFucyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxv
YXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRp
YW5zKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByYWRp
YW5zKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRp
YW5zKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCByYWRpYW5zKGZs
b2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmFk
aWFucyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOwotICAg
IHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmFk
aWFucyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmFk
aWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSByYWRpYW5zKHhbMV1bM10pOwotICAg
IHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFk
aWFucyh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NHgyIHJhZGlhbnMoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJh
ZGlhbnMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHJh
ZGlhbnMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJh
ZGlhbnMoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIHJhZGlhbnMo
ZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
YWRpYW5zKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBy
YWRpYW5zKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBy
YWRpYW5zKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gcmFkaWFucyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBy
YWRpYW5zKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDQgcmFkaWFucyhmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cmFkaWFucyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOwot
ICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
cmFkaWFucyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
cmFkaWFucyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
cmFkaWFucyh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
cmFkaWFucyh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhbM11bMl0pOwot
ICAgIHJlc3VsdFszXVszXSA9IHJhZGlhbnMoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eT0gKi8KLWJvb2w0IG9wZXJhdG9y
Lnp3eT0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3eT0odWludDQgdiwgdWludDMg
YykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVz
dWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iuend5PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQu
eSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eT0oZmxv
YXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnog
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGNlaWwgKi8KLW5hdGl2ZSBmbG9h
dCBjZWlsKGZsb2F0KTsKLWZsb2F0MiBjZWlsKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBjZWlsKGZsb2F0MyB4KSB7Ci0gICAg
ZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGNlaWwoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY2VpbCh4WzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IGNlaWwoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGNlaWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsK
LSAgICByZXN1bHRbMl0gPSBjZWlsKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGNlaWwoeFszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGNlaWwoZmxvYXQyeDIgeCkgewotICAg
IGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBjZWlsKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0Mng0IGNlaWwoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBjZWlsKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBjZWlsKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGNlaWwoZmxvYXQzeDIgeCkgewotICAgIGZs
b2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgY2VpbChmbG9hdDN4MyB4KSB7Ci0gICAgZmxv
YXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gY2VpbCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDN4NCBjZWlsKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBjZWlsKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gY2Vp
bCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBjZWlsKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGNlaWwoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgy
IGNlaWwoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjZWls
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Ci0gICAgcmVzdWx0
WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NHgzIGNlaWwoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNlaWwo
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBjZWlsKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBj
ZWlsKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJd
ID0gY2VpbCh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgY2VpbChm
bG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNl
aWwoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVsz
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBjZWlsKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gY2VpbCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOwot
ICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gY2Vp
bCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBjZWlsKHhbM11bMl0pOwotICAgIHJlc3Vs
dFszXVszXSA9IGNlaWwoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5d3g9ICovCi1ib29sNCBvcGVyYXRvci56eXd4PShib29s
NCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQu
eCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl3eD0odWlu
dDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBj
Lng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl3eD0oaW50
NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7
Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0Lngg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXd4PShmbG9h
dDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1
bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXo9ICovCi1ib29sMyBvcGVyYXRvci55ej0oYm9vbDMgdiwgYm9vbDIgYykgewot
ICAgIGJvb2wzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0Lnog
PSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6PShib29sNCB2
LCBib29sMiBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0
b3IueXo9KHVpbnQzIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55ej0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXo9KGludDMgdiwgaW50MiBjKSB7Ci0gICAg
aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6PShpbnQ0IHYsIGludDIg
YykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1
bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6PShm
bG9hdDMgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl6PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXNpbiAqLwotbmF0aXZlIGZsb2F0
IGFzaW4oZmxvYXQpOwotZmxvYXQyIGFzaW4oZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNpbih4WzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIGFzaW4oZmxvYXQzIHgpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gYXNpbih4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2luKHhbMl0pOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgYXNpbihmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gYXNpbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IGFzaW4oeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNpbih4WzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgYXNpbihmbG9hdDJ4MiB4KSB7Ci0gICAg
ZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0MngzIGFzaW4oZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDQgYXNpbihmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
YXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXNpbih4WzFdWzNdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgYXNpbihmbG9hdDN4MiB4KSB7Ci0gICAgZmxv
YXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBhc2luKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9h
dDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBhc2luKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3g0IGFzaW4oZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGFzaW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1b
Ml0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBhc2lu
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzNdID0gYXNpbih4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIg
YXNpbihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4o
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBhc2luKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVswXSk7
Ci0gICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDMgYXNpbihmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXNpbih4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGFzaW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGFz
aW4oeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGFzaW4oeFszXVsw
XSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSBhc2luKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCBhc2luKGZs
b2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IGFzaW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGFzaW4oeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGFzaW4oeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBhc2luKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGFzaW4oeFsyXVszXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBhc2lu
KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzNdID0gYXNpbih4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6dyAqLwotYm9vbDQgb3BlcmF0b3IueHd6dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54d3p3KHVpbnQ0IHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDQgb3BlcmF0b3IueHd6dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJh
dG9yLnh3encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci55d3p3ICovCi1ib29sNCBvcGVyYXRvci55d3p3KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl3encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci55d3p3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd6dyhmbG9h
dDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6eXog
Ki8KLWJvb2w0IG9wZXJhdG9yLnp6eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3Iuenp5eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enl6KHVp
bnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXoodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci56enl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnp6eXooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enl6KGZs
b2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXooZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enp5ICovCi1ib29s
NCBvcGVyYXRvci56enp5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6
enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp6eSh1aW50MyB2KSB7
Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iuenp6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56
enp5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp6eShmbG9hdDMgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp5KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXN1aW50ICovCi11aW50IGFzdWludChpbnQgeCkg
ewotICAgIHJldHVybiB1aW50KHgpOwotfQotdWludDIgYXN1aW50KGludDIgeCkgewotICAgIHVp
bnQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7Ci0gICAgcmVzdWx0WzFd
ID0gYXN1aW50KHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBhc3VpbnQoaW50
MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXN1aW50KHhb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBhc3VpbnQoaW50NCB4KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBhc3VpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOwotICAgIHJl
c3VsdFszXSA9IGFzdWludCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludCBhc3Vp
bnQodWludCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci11aW50MiBhc3VpbnQodWludDIgeCkgewot
ICAgIHJldHVybiB4OwotfQotdWludDMgYXN1aW50KHVpbnQzIHgpIHsKLSAgICByZXR1cm4geDsK
LX0KLXVpbnQ0IGFzdWludCh1aW50NCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1uYXRpdmUgdWlu
dCBhc3VpbnQoZmxvYXQpOwotdWludDIgYXN1aW50KGZsb2F0MiB4KSB7Ci0gICAgdWludDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc3Vp
bnQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIGFzdWludChmbG9hdDMgeCkg
ewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFzdWludCh4WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgYXN1aW50KGZsb2F0NCB4KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBhc3VpbnQoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGFzdWludCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXp4eSAqLwotYm9vbDQgb3BlcmF0b3IueXp4eShib29sMyB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55enh5KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnl6eHkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueXp4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHkoaW50MyB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6eHkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueXp4eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IHBvdyAqLwotbmF0aXZlIGZsb2F0IHBvdyhmbG9hdCwgZmxvYXQpOwotZmxvYXQyIHBvdyhmbG9h
dDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHBv
dyh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBwb3coZmxvYXQzIHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBwb3coeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0
WzFdID0gcG93KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IHBvdyh4WzJdLCB5WzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0IHkpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcG93KHhbMl0s
IHlbMl0pOwotICAgIHJlc3VsdFszXSA9IHBvdyh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQyeDIgcG93KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9h
dDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwot
ICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1b
MV0sIHlbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBwb3coZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1b
MV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgcG93KGZsb2F0
Mng0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsx
XVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0p
OwotICAgIHJlc3VsdFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzeDIgcG93KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBm
bG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBd
KTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0M3gzIHBvdyhmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAg
ZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3co
eFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1b
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxv
YXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBwb3co
eFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcG93
KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHBv
dyh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJl
c3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDIgcG93KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDR4MiBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBw
b3coeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICBy
ZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
cG93KHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5
WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgcG93KGZsb2F0NHgzIHgs
IGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
cG93KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0g
PSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0s
IHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBwb3coeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHg0IHBvdyhmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKLSAg
ICByZXN1bHRbMF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gcG93KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNd
LCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsy
XSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVsz
XSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBwb3coeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1b
M10sIHlbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gcG93KHhbM11bMl0sIHlbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IHBvdyh4WzNd
WzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iuenh4dyAqLwotYm9vbDQgb3BlcmF0b3Iuenh4dyhib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iuenh4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eHco
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54
enp6ICovCi1ib29sNCBvcGVyYXRvci54enp6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0
IG9wZXJhdG9yLnh6enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp6
eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enp6KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHp6eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54enp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp6
eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enp6KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5ICovCi1i
b29sMyBvcGVyYXRvci56eHkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3Iuenh5KGJvb2w0IHYpIHsKLSAgICBi
b29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9y
Lnp4eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eHkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHkoaW50MyB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3Iuenh5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenh5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eShm
bG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4eXkgKi8KLWJvb2w0IG9wZXJhdG9y
Lnd4eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h5eSh1aW50NCB2
KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eXkoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci53eHl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl6eCAqLwotYm9vbDQgb3BlcmF0b3Iuenl6eChib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eXp4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp5engodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuenl6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5engoaW50
MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl6eChpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnp5engoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iuenl6eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnh6eHcgKi8KLWJvb2w0IG9wZXJhdG9yLnh6eHcoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnh6eHcoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enh3
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iu
eHp3PSAqLwotYm9vbDQgb3BlcmF0b3IueHp3PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9v
bDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsK
LSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHp3PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enc9KGludDQgdiwgaW50MyBj
KSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueHp3PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICBy
ZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgdGFuICovCi1uYXRpdmUgZmxvYXQgdGFuKGZsb2F0KTsKLWZsb2F0MiB0YW4oZmxvYXQyIHgp
IHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSB0YW4oeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyB0YW4o
ZmxvYXQzIHgpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHRhbih4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSB0YW4oeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gdGFuKHhbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgdGFuKGZsb2F0NCB4KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSB0YW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
dGFuKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IHRhbih4WzJdKTsKLSAgICByZXN1bHRbM10gPSB0
YW4oeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIHRhbihmbG9hdDJ4MiB4
KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgdGFuKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0Mng0IHRhbihmbG9hdDJ4NCB4KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IHRhbih4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIHRhbihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7
Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDN4MyB0YW4oZmxvYXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSB0YW4oeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IHRhbih4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgdGFuKGZsb2F0
M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdGFuKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1b
Ml0gPSB0YW4oeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IHRhbih4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Ci0gICAg
cmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJd
WzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgyIHRhbihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0YW4o
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHRhbih4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbih4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgzIHRhbihmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOwotICAgIHJlc3Vs
dFsxXVswXSA9IHRhbih4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IHRh
bih4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gdGFuKHhbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IHRhbih4WzNdWzBdKTsK
LSAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gdGFu
KHhbM11bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4NCB0YW4oZmxvYXQ0eDQg
eCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IHRhbih4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFd
KTsKLSAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
dGFuKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSB0
YW4oeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwotICAgIHJlc3Vs
dFszXVsyXSA9IHRhbih4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSB0YW4oeFszXVszXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGZtYSAqLwotZmxv
YXQgZm1hKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopIHsKLSAgICByZXR1cm4geCAqIHkgKyB6
OwotfQotZmxvYXQyIGZtYShmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7Ci0gICAg
cmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0sIHpbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgZm1hKGZsb2F0MyB4LCBmbG9hdDMgeSwgZmxvYXQzIHopIHsKLSAgICBmbG9hdDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZtYSh4WzBdLCB5WzBdLCB6WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZm1hKHhbMl0s
IHlbMl0sIHpbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgZm1hKGZsb2F0NCB4
LCBmbG9hdDQgeSwgZmxvYXQ0IHopIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGZtYSh4WzBdLCB5WzBdLCB6WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsx
XSwgelsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOwotICAgIHJl
c3VsdFszXSA9IGZtYSh4WzNdLCB5WzNdLCB6WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDIgZm1hKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKLSAgICBm
bG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwg
ZmxvYXQyeDMgeikgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBm
bWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1hKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZs
b2F0Mng0IHksIGZsb2F0Mng0IHopIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBm
bWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1hKHhb
MF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFd
WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZs
b2F0M3gyIHksIGZsb2F0M3gyIHopIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBm
bWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhb
MV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGZtYShmbG9h
dDN4MyB4LCBmbG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
bWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1hKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0s
IHpbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBmbWEoZmxvYXQzeDQg
eCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsy
XSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBm
bWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhb
MV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFd
LCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsx
XVsyXSwgelsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10s
IHpbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZm1hKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0
NHgyIHopIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1hKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAg
IHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZm1hKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0
NHgzIHopIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1hKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmbWEo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IGZtYShmbG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7Ci0gICAgZmxvYXQ0
eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKLSAgICByZXN1
bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmbWEo
eFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBd
KTsKLSAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzJdID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOwotICAgIHJl
c3VsdFszXVszXSA9IGZtYSh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGV0ZXJtaW5hbnQgKi8KLWZsb2F0IGRl
dGVybWluYW50KGZsb2F0IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0IGRldGVybWluYW50
KGZsb2F0MngyIHgpIHsKLSAgICByZXR1cm4geFswXVswXSAqIHhbMV1bMV0gLSB4WzBdWzFdICog
eFsxXVswXTsKLX0KLWZsb2F0IGRldGVybWluYW50KGZsb2F0M3gzIHgpIHsKLSAgICByZXR1cm4g
eFswXVswXSAqIHhbMV1bMV0gKiB4WzJdWzJdICsKLSAgICAgICAgICAgeFswXVsxXSAqIHhbMV1b
Ml0gKiB4WzJdWzBdICsKLSAgICAgICAgICAgeFswXVsyXSAqIHhbMV1bMF0gKiB4WzJdWzFdIC0K
LSAgICAgICAgICAgeFsyXVswXSAqIHhbMV1bMV0gKiB4WzBdWzJdIC0KLSAgICAgICAgICAgeFsy
XVsxXSAqIHhbMV1bMl0gKiB4WzBdWzBdIC0KLSAgICAgICAgICAgeFsyXVsyXSAqIHhbMV1bMF0g
KiB4WzBdWzFdOwotfQotZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0
IHJlc3VsdDsKLSAgICBmbG9hdDN4MyBtaW5vcjsKLSAgICBtaW5vclswXVswXSA9IHhbMV1bMV07
Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzJdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsK
LSAgICBtaW5vclsxXVswXSA9IHhbMl1bMV07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOwot
ICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMV07Ci0g
ICAgbWlub3JbMl1bMV0gPSB4WzNdWzJdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgKyB4WzBdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOwotICAgIG1p
bm9yWzBdWzBdID0geFsxXVswXTsKLSAgICBtaW5vclswXVsxXSA9IHhbMV1bMl07Ci0gICAgbWlu
b3JbMF1bMl0gPSB4WzFdWzNdOwotICAgIG1pbm9yWzFdWzBdID0geFsyXVswXTsKLSAgICBtaW5v
clsxXVsxXSA9IHhbMl1bMl07Ci0gICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOwotICAgIG1pbm9y
WzJdWzBdID0geFszXVswXTsKLSAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07Ci0gICAgbWlub3Jb
Ml1bMl0gPSB4WzNdWzNdOwotICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1bMV0gKiBkZXRlcm1p
bmFudChtaW5vcik7Ci0gICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOwotICAgIG1pbm9yWzBdWzFd
ID0geFsxXVsxXTsKLSAgICBtaW5vclswXVsyXSA9IHhbMV1bM107Ci0gICAgbWlub3JbMV1bMF0g
PSB4WzJdWzBdOwotICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKLSAgICBtaW5vclsxXVsyXSA9
IHhbMl1bM107Ci0gICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOwotICAgIG1pbm9yWzJdWzFdID0g
eFszXVsxXTsKLSAgICBtaW5vclsyXVsyXSA9IHhbM11bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICsgeFswXVsyXSAqIGRldGVybWluYW50KG1pbm9yKTsKLSAgICBtaW5vclswXVswXSA9IHhbMV1b
MF07Ci0gICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOwotICAgIG1pbm9yWzBdWzJdID0geFsxXVsy
XTsKLSAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07Ci0gICAgbWlub3JbMV1bMV0gPSB4WzJdWzFd
OwotICAgIG1pbm9yWzFdWzJdID0geFsyXVsyXTsKLSAgICBtaW5vclsyXVswXSA9IHhbM11bMF07
Ci0gICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOwotICAgIG1pbm9yWzJdWzJdID0geFszXVsyXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgLSB4WzBdWzNdICogZGV0ZXJtaW5hbnQobWlub3IpOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3eHkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnl3eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXd4eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eHkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3h5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZmxvb3IgKi8KLW5hdGl2ZSBmbG9hdCBmbG9v
cihmbG9hdCk7Ci1mbG9hdDIgZmxvb3IoZmxvYXQyIHgpIHsKLSAgICBmbG9hdDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGZsb29yKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZmxvb3IoZmxvYXQzIHgpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZsb29yKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGZsb29yKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZsb29yKHhbMl0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgZmxvb3IoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGZsb29yKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZsb29yKHhb
MV0pOwotICAgIHJlc3VsdFsyXSA9IGZsb29yKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGZsb29y
KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBmbG9vcihmbG9hdDJ4MiB4
KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBmbG9vcihmbG9hdDJ4MyB4KSB7Ci0gICAg
ZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZsb29y
KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1b
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmbG9vcihmbG9hdDJ4NCB4KSB7
Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZsb29yKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZsb29y
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IGZsb29yKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4
MiBmbG9vcihmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MyBmbG9vcihmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0p
OwotICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGZsb29yKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBmbG9vcihmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOwotICAgIHJlc3VsdFsw
XVszXSA9IGZsb29yKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9
IGZsb29yKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1bM10pOwotICAg
IHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZsb29y
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFsyXVszXSA9IGZsb29yKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4
MiBmbG9vcihmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZsb29y
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBmbG9vcihmbG9hdDR4MyB4KSB7Ci0gICAgZmxvYXQ0eDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZsb29yKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZsb29y
KHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOwotICAgIHJlc3Vs
dFszXVswXSA9IGZsb29yKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11b
MV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4NCBmbG9vcihmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZsb29yKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOwotICAg
IHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZsb29y
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwotICAgIHJlc3Vs
dFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1b
M10pOwotICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGZsb29yKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGZs
b29yKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGZsb29yKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGZsb29yKHhb
M11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBjcm9z
cyAqLwotZmxvYXQzIGNyb3NzKGZsb2F0MyB1LCBmbG9hdDMgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB1LnkgKiB2LnogLSB1LnogKiB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB1LnogKiB2LnggLSB1LnggKiB2Lno7Ci0gICAgcmVzdWx0LnogPSB1LnggKiB2LnkgLSB1Lnkg
KiB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHd5eiAqLwotYm9vbDQgb3BlcmF0b3IueHd5eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54d3l6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHd5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3eXooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHl5ICov
Ci1ib29sNCBvcGVyYXRvci54eHl5KGJvb2wyIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJh
dG9yLnh4eXkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHh5eShib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl5KHVpbnQyIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eXkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueHh5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXko
aW50MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh5eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54eHl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHh5eShmbG9hdDIgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHl5
KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBpc2Zpbml0ZSAqLwotbmF0aXZl
IGJvb2wgaXNmaW5pdGUoZmxvYXQpOwotYm9vbDIgaXNmaW5pdGUoZmxvYXQyIHgpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNmaW5pdGUoeFswXSk7Ci0gICAgcmVzdWx0
WzFdID0gaXNmaW5pdGUoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIGlzZmlu
aXRlKGZsb2F0MyB4KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzZmlu
aXRlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGlzZmluaXRlKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBpc2Zpbml0
ZShmbG9hdDQgeCkgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc2Zpbml0
ZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc2Zpbml0ZSh4WzFdKTsKLSAgICByZXN1bHRbMl0g
PSBpc2Zpbml0ZSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBpc2Zpbml0ZSh4WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5PSAqLwot
Ym9vbDMgb3BlcmF0b3Iuenh5PShib29sMyB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1
bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh5PShi
b29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenh5PSh1aW50MyB2LCB1aW50MyBjKSB7Ci0g
ICAgdWludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9
IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenh5PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eHk9KGludDMgdiwg
aW50MyBjKSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAg
IHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56eHk9
KGZsb2F0MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh5PShmbG9hdDQgdiwgZmxvYXQz
IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRPciAqLwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX2ludCosIGludCwgdGhyZWFkIGlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50
LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZpY2UgYXRvbWlj
X2ludCosIGludCwgZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcihkZXZp
Y2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZE9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsK
LW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50
LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE9y
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkT3IodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRPcih0aHJlYWRncm91cCBhdG9taWNfdWludCos
IHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkT3IodGhy
ZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci56eHp3ICovCi1ib29sNCBvcGVyYXRvci56eHp3KGJvb2w0IHYp
IHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4encodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci56eHp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3Iuenh6dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGF0
YW4yICovCi1uYXRpdmUgZmxvYXQgYXRhbjIoZmxvYXQsIGZsb2F0KTsKLWZsb2F0MiBhdGFuMihm
bG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGF0YW4yKHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IGF0YW4yKHhbMV0sIHlbMV0pOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgYXRhbjIoZmxvYXQzIHgsIGZsb2F0MyB5KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBdLCB5WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhdGFu
Mih4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGF0YW4yKGZsb2F0
NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXRh
bjIoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsxXSk7Ci0gICAg
cmVzdWx0WzJdID0gYXRhbjIoeFsyXSwgeVsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXRhbjIoeFsz
XSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIGF0YW4yKGZsb2F0Mngy
IHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0MngzIHkpIHsK
LSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIo
eFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IGF0YW4yKGZsb2F0Mng0IHgs
IGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
YXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7
Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRh
bjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgsIGZsb2F0M3gy
IHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
YXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGF0YW4yKGZsb2F0
M3gzIHgsIGZsb2F0M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIo
eFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsy
XVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHkpIHsK
LSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBd
WzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbjIo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGF0YW4yKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsK
LSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIo
eFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsy
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7Ci0gICAg
cmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHgzIGF0YW4yKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9h
dDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRh
bjIoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwg
eVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbjIo
eFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAg
cmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NHg0IGF0YW4yKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9h
dDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gYXRh
bjIoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gYXRhbjIo
eFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFsz
XVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsy
XSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gYXRhbjIoeFszXVszXSwgeVszXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp3eSAqLwot
Ym9vbDQgb3BlcmF0b3IueXp3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci55end5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp3eShpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enh3ICovCi1ib29sNCBvcGVyYXRv
ci56enh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHcodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enh3KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iuenp4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnd5d3ooYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l3eih1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci53eXd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3IueXd5eiAqLwotYm9vbDQgb3BlcmF0b3IueXd5eihib29sNCB2KSB7Ci0gICAgYm9v
bDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55d3l6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueXd5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3eXooZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55engg
Ki8KLWJvb2wzIG9wZXJhdG9yLnl6eChib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55engoYm9vbDQgdikgewot
ICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3Bl
cmF0b3IueXp4KHVpbnQzIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl6eCh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eChpbnQz
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci55engoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55engoZmxvYXQzIHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXogKi8KLWJvb2wyIG9wZXJh
dG9yLnl6KGJvb2wzIHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wyIG9wZXJh
dG9yLnl6KGJvb2w0IHYpIHsKLSAgICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJh
dG9yLnl6KHVpbnQzIHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJh
dG9yLnl6KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0
b3IueXooaW50MyB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3Iu
eXooaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci55
eihmbG9hdDMgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRv
ci55eihmbG9hdDQgdikgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnd4eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd4eHooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3h4eih1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnd4eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci53eHh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
dzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueHc9ICovCi1ib29sNCBvcGVyYXRvci54dz0oYm9vbDQgdiwgYm9vbDIgYykgewotICAg
IGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LncgPSBj
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3PSh1aW50NCB2LCB1
aW50MiBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAg
ICByZXN1bHQudyA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54
dz0oaW50NCB2LCBpbnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54dz0oZmxvYXQ0IHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eHkgKi8KLWJvb2w0
IG9wZXJhdG9yLnh5eHkoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl4
eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eXh5KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDIgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHl4eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci54eXh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl4eShpbnQyIHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXh5KGludDMgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh5eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54
eXh5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5eHkoZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl5eXggKi8KLWJvb2w0IG9w
ZXJhdG9yLnl5eXgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXl5eChi
b29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXl4KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5eXgodWludDIgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXl5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55
eXl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl5eChpbnQyIHYpIHsK
LSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eXl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnl5eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eXl4
KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5eXgoZmxvYXQzIHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXl5eChmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6enggKi8KLWJvb2w0IG9wZXJh
dG9yLnl6engoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp6eChib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enp4KHVpbnQzIHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci55enp4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6engoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enp4KGZsb2F0MyB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enogKi8KLWJvb2wzIG9wZXJhdG9yLnh6eihi
b29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sMyBvcGVyYXRvci54enooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHp6KHVpbnQzIHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnh6eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnh6eihpbnQzIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54enooaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci54enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHp6KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3IueXh5eiAqLwotYm9vbDQgb3BlcmF0b3IueXh5eihib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl4eXoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eXh5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4eXooaW50MyB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh5eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnl4eXooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0
b3IueXh5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnp6eHgoYm9vbDMgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3Iuenp4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVy
YXRvci56enh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eHgodWlu
dDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enh4KGludDMgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHgo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56
end4ICovCi1ib29sNCBvcGVyYXRvci56end4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnp6d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56end4
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp3eChmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eCAqLwotYm9vbDMg
b3BlcmF0b3IueXh4KGJvb2wyIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl4eChib29sMyB2KSB7Ci0gICAgYm9vbDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eHgo
Ym9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDMgb3BlcmF0b3IueXh4KHVpbnQyIHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eCh1aW50MyB2KSB7Ci0g
ICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci55eHgodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eHgoaW50MiB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh4KGludDMgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnl4eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4eChmbG9hdDIgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eHgo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgRGV2aWNl
TWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMgKi8KLW5hdGl2ZSB2b2lkIERldmljZU1lbW9yeUJh
cnJpZXJXaXRoR3JvdXBTeW5jKCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3d3
ICovCi1ib29sNCBvcGVyYXRvci56d3d3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnp3d3codWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3d3KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend3dyhmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eiAqLwotYm9vbDMgb3Bl
cmF0b3Iud3p6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnd6eih1aW50NCB2KSB7Ci0gICAgdWludDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd6eihpbnQ0
IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnd6eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGZtb2QgKi8KLQotZmxv
YXQgZm1vZChmbG9hdCB4LCBmbG9hdCB5KSB7Ci0gICAgdWludCB3aG9sZSA9IHVpbnQoeCAvIHkp
OwotICAgIGZsb2F0IG11bHRpcGxlID0gZmxvYXQod2hvbGUpICogeTsKLSAgICByZXR1cm4geCAt
IG11bHRpcGxlOwotfQotZmxvYXQyIGZtb2QoZmxvYXQyIHgsIGZsb2F0MiB5KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBm
bW9kKGZsb2F0MyB4LCBmbG9hdDMgeSkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdID0gZm1vZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBmbW9kKGZsb2F0NCB4LCBmbG9hdDQgeSkgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdID0gZm1vZCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmbW9k
KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsyXSk7Ci0gICAgcmVz
dWx0WzNdID0gZm1vZCh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7Ci0gICAgZmxvYXQyeDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhb
MV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGZtb2QoZmxvYXQyeDMgeCwgZmxv
YXQyeDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmbW9k
KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9
IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJd
LCB5WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZm1vZChmbG9hdDJ4
NCB4LCBmbG9hdDJ4NCB5KSB7Ci0gICAgZmxvYXQyeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBd
WzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0p
OwotICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmbW9k
KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsx
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgZm1vZChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7
Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwg
eVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJd
WzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0
M3gzIHkpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4
WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBm
bW9kKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwg
eVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3g0IGZtb2QoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4
WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlbMF1b
M10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBm
bW9kKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVszXSwg
eVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZm1vZCh4WzJd
WzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZm1vZChmbG9h
dDR4MiB4LCBmbG9hdDR4MiB5KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4
WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBm
bW9kKHhbMl1bMV0sIHlbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwg
eVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZm1vZChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5
KSB7Ci0gICAgZmxvYXQ0eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVsw
XSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsx
XVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4
WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBm
bW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwg
eVszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDR4NCBmbW9kKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsKLSAgICBmbG9h
dDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFsw
XVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4
WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBm
bW9kKHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwg
eVsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVsz
XSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNd
WzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0p
OwotICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmVzdWx0
WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enp4ICovCi1ib29sNCBvcGVyYXRvci54
enp4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6engoYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp6eCh1aW50MyB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54enp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHp6eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enp4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp6eChmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54enp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl6eSAqLwotYm9vbDQgb3BlcmF0b3IueXl6eShib29s
MyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eXp5KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl5enkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3IueXl6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl5enko
aW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXl6eShpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl5enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3IueXl6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd5eSAqLwotYm9vbDMgb3BlcmF0b3Iud3l5KGJvb2w0IHYpIHsKLSAg
ICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJh
dG9yLnd5eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnd5eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnd5eShmbG9hdDQg
dikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl6eXggKi8KLWJvb2w0IG9wZXJhdG9yLnl6eXgo
Ym9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp5eChib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enl4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl6eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55
enl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eXgoaW50NCB2KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enl4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnl6eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55d3p4PSAqLwotYm9vbDQgb3BlcmF0b3IueXd6eD0oYm9vbDQg
diwgYm9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7
Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0Lngg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eng9KHVpbnQ0
IHYsIHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54
ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl3eng9KGludDQg
diwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54Owot
ICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJlc3VsdC54ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd6eD0oZmxvYXQ0
IHYsIGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0
LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh4encgKi8KLWJvb2w0IG9wZXJhdG9yLnh4encoYm9vbDQgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotdWludDQgb3BlcmF0b3IueHh6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnh4encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHp3KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl4eCAq
LwotYm9vbDQgb3BlcmF0b3IueHl4eChib29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eXh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eHgoYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl4eCh1aW50MiB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0
IG9wZXJhdG9yLnh5eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXh4
KGludDIgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eHgoaW50MyB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3IueHl4eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnh5eHgoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl4
eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXh4KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenl3PSAqLwot
Ym9vbDQgb3BlcmF0b3Iuenl3PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1
bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenl3PSh1
aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXc9KGludDQgdiwgaW50MyBjKSB7Ci0gICAg
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55
OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3Iuenl3PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iud3p4eSAqLwotYm9vbDQgb3BlcmF0b3Iud3p4eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci53enh5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
d3p4eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6eHkoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3ggKi8KLWJv
b2wzIG9wZXJhdG9yLnp3eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56d3godWludDQgdikgewotICAgIHVp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56
d3goaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBvcGVyYXRvci56d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci0gKi8KLW5hdGl2ZSBpbnQgb3BlcmF0b3ItKGludCwgaW50KTsKLW5hdGl2ZSB1aW50IG9wZXJh
dG9yLSh1aW50LCB1aW50KTsKLW5hdGl2ZSBmbG9hdCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0KTsK
LW5hdGl2ZSBpbnQgb3BlcmF0b3ItKGludCk7Ci1uYXRpdmUgZmxvYXQgb3BlcmF0b3ItKGZsb2F0
KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRvci0odWludDIsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MiBv
cGVyYXRvci0odWludCwgdWludDIpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLSh1aW50MiwgdWlu
dCk7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3ItKHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgdWludDMg
b3BlcmF0b3ItKHVpbnQsIHVpbnQzKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci0odWludDMsIHVp
bnQpOwotbmF0aXZlIHVpbnQ0IG9wZXJhdG9yLSh1aW50NCwgdWludDQpOwotbmF0aXZlIHVpbnQ0
IG9wZXJhdG9yLSh1aW50LCB1aW50NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3ItKHVpbnQ0LCB1
aW50KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLShpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQyIG9w
ZXJhdG9yLShpbnQsIGludDIpOwotbmF0aXZlIGludDIgb3BlcmF0b3ItKGludDIsIGludCk7Ci1u
YXRpdmUgaW50MyBvcGVyYXRvci0oaW50MywgaW50Myk7Ci1uYXRpdmUgaW50MyBvcGVyYXRvci0o
aW50LCBpbnQzKTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLShpbnQzLCBpbnQpOwotbmF0aXZlIGlu
dDQgb3BlcmF0b3ItKGludDQsIGludDQpOwotbmF0aXZlIGludDQgb3BlcmF0b3ItKGludCwgaW50
NCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci0oaW50NCwgaW50KTsKLW5hdGl2ZSBmbG9hdDIgb3Bl
cmF0b3ItKGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3ItKGZsb2F0LCBm
bG9hdDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci0oZmxvYXQyLCBmbG9hdCk7Ci1uYXRpdmUg
ZmxvYXQzIG9wZXJhdG9yLShmbG9hdDMsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9y
LShmbG9hdCwgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3ItKGZsb2F0MywgZmxvYXQp
OwotbmF0aXZlIGZsb2F0NCBvcGVyYXRvci0oZmxvYXQ0LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0
NCBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLShmbG9h
dDQsIGZsb2F0KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLShpbnQyKTsKLW5hdGl2ZSBpbnQzIG9w
ZXJhdG9yLShpbnQzKTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLShpbnQ0KTsKLW5hdGl2ZSBmbG9h
dDIgb3BlcmF0b3ItKGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLShmbG9hdDMpOwot
bmF0aXZlIGZsb2F0NCBvcGVyYXRvci0oZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRv
ci0oZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvci0oZmxvYXQy
eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0MngyKTsK
LW5hdGl2ZSBmbG9hdDJ4MiBvcGVyYXRvci0oZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngzIG9w
ZXJhdG9yLShmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLShm
bG9hdCwgZmxvYXQyeDMpOwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLShmbG9hdDJ4MywgZmxv
YXQpOwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLShmbG9hdDJ4Myk7Ci1uYXRpdmUgZmxvYXQy
eDQgb3BlcmF0b3ItKGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0
b3ItKGZsb2F0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0Mng0
LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3ItKGZsb2F0Mng0KTsKLW5hdGl2ZSBm
bG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MiBv
cGVyYXRvci0oZmxvYXQsIGZsb2F0M3gyKTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxv
YXQzeDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIpOwotbmF0
aXZlIGZsb2F0M3gzIG9wZXJhdG9yLShmbG9hdDN4MywgZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0
M3gzIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9y
LShmbG9hdDN4MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yLShmbG9hdDN4Myk7
Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUg
ZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3Bl
cmF0b3ItKGZsb2F0M3g0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3ItKGZsb2F0
M3g0KTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0oZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5h
dGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0oZmxvYXQsIGZsb2F0NHgyKTsKLW5hdGl2ZSBmbG9hdDR4
MiBvcGVyYXRvci0oZmxvYXQ0eDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDR4MiBvcGVyYXRvci0o
ZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdDR4MywgZmxvYXQ0eDMp
OwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLShmbG9hdCwgZmxvYXQ0eDMpOwotbmF0aXZlIGZs
b2F0NHgzIG9wZXJhdG9yLShmbG9hdDR4MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJh
dG9yLShmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3ItKGZsb2F0NHg0LCBmbG9h
dDR4NCk7Ci1uYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdDR4NCk7Ci1uYXRp
dmUgZmxvYXQ0eDQgb3BlcmF0b3ItKGZsb2F0NHg0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0eDQg
b3BlcmF0b3ItKGZsb2F0NHg0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG1pbiAqLwotdWludCBt
aW4odWludCB4LCB1aW50IHkpIHsKLSAgICByZXR1cm4geCA+IHkgPyB5IDogeDsKLX0KLXVpbnQy
IG1pbih1aW50MiB4LCB1aW50MiB5KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG1pbih1aW50MyB4LCB1aW50MyB5KSB7Ci0gICAg
dWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBtaW4odWludDQgeCwgdWludDQgeSkgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Ci0gICAg
cmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5
WzJdKTsKLSAgICByZXN1bHRbM10gPSBtaW4oeFszXSwgeVszXSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludCBtaW4oaW50IHgsIGludCB5KSB7Ci0gICAgcmV0dXJuIHggPiB5ID8geSA6IHg7
Ci19Ci1pbnQyIG1pbihpbnQyIHgsIGludDIgeSkgewotICAgIGludDIgcmVzdWx0OwotICAgIHJl
c3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsx
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgbWluKGludDMgeCwgaW50MyB5KSB7Ci0g
ICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJl
c3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgbWluKGludDQgeCwgaW50NCB5KSB7Ci0g
ICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOwotICAgIHJl
c3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsy
XSk7Ci0gICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdCBtaW4oZmxvYXQgeCwgZmxvYXQgeSkgewotICAgIHJldHVybiB4ID4geSA/IHkg
OiB4OwotfQotZmxvYXQyIG1pbihmbG9hdDIgeCwgZmxvYXQyIHkpIHsKLSAgICBmbG9hdDIgcmVz
dWx0OwotICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBt
aW4oeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBtaW4oZmxvYXQz
IHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtaW4o
eFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOwotICAgIHJlc3Vs
dFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IG1pbih4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Ci0g
ICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFszXSA9IG1pbih4WzNd
LCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgbWluKGZsb2F0MngyIHgs
IGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
bWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1mbG9hdDJ4MyBtaW4oZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgewotICAgIGZsb2F0Mngz
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKLSAgICBmbG9hdDJ4
NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0g
PSBtaW4oeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10s
IHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNd
LCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgbWluKGZsb2F0M3gy
IHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFd
LCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsx
XSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIG1pbihmbG9hdDN4
MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1b
Ml0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDN4NCBtaW4oZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBd
WzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBd
WzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsx
XVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10p
OwotICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbWluKHhb
Ml1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgbWluKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhb
MF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKLSAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IG1pbih4
WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsx
XSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0eDMgbWluKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKLSAgICBmbG9hdDR4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBtaW4o
eFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbWlu
KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1p
bih4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVsz
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IG1pbihmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1p
bih4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJl
c3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBt
aW4oeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlb
MV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
bWluKHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5
WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9
IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwg
eVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOwotICAg
IHJlc3VsdFszXVszXSA9IG1pbih4WzNdWzNdLCB5WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6ICovCi1ib29sMyBvcGVyYXRv
ci54eXooYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDMgb3BlcmF0b3IueHl6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnh5eih1aW50MyB2
KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
MyBvcGVyYXRvci54eXoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54eXooaW50MyB2KSB7Ci0gICAgaW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHl6KGlu
dDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgb3BlcmF0b3IueHl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh5eihmbG9hdDQgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6PSAqLwotYm9vbDQgb3BlcmF0b3Iud3o9KGJvb2w0IHYs
IGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci53ej0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3Iud3o9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3o9KGZsb2F0NCB2LCBmbG9hdDIgYykgewotICAg
IGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci56eXl5ICovCi1ib29sNCBvcGVyYXRvci56eXl5KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IG9wZXJhdG9yLnp5eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enl5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl5KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl5eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56eXl5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enl5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eXl5KGZsb2F0
NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgSW50ZXJsb2NrZWRYb3Ig
Ki8KLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKGRldmljZSBhdG9taWNfdWludCosIHVpbnQs
IHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWlj
X2ludCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRYb3IoZGV2
aWNlIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkWG9yKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91
cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcihkZXZpY2UgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJl
YWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJ
bnRlcmxvY2tlZFhvcih0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7
Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVp
bnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZFhvcih0aHJlYWRncm91
cCBhdG9taWNfaW50KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tl
ZFhvcih0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsK
LW5hdGl2ZSB2b2lkIEludGVybG9ja2VkWG9yKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQs
IHRocmVhZGdyb3VwIGludCopOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p4PSAq
LwotYm9vbDQgb3BlcmF0b3Iud3p4PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICBy
ZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p4
PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
dyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eng9KGludDQgdiwgaW50MyBjKSB7Ci0g
ICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC56ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iud3p4PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQu
eCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iuend6eSAqLwotYm9vbDQgb3BlcmF0b3Iuend6eShib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci56d3p5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3Iuend6eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3enkoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBHcm91cE1lbW9yeUJhcnJp
ZXJXaXRoR3JvdXBTeW5jICovCi1uYXRpdmUgdm9pZCBHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3Jv
dXBTeW5jKCk7Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5enkgKi8KLWJvb2w0
IG9wZXJhdG9yLnh5enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl6
eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp5KHVpbnQzIHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5enkodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54eXp5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5
enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp5KGZsb2F0MyB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCB0cnVuYyAqLwotbmF0aXZlIGZsb2F0IHRydW5jKGZs
b2F0KTsKLWZsb2F0MiB0cnVuYyhmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyB0cnVuYyhmbG9hdDMgeCkgewotICAgIGZsb2F0
MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
dHJ1bmMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCB0cnVuYyhmbG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gdHJ1bmMoeFsz
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIHRydW5jKGZsb2F0MngyIHgpIHsK
LSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
dHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIHRydW5jKGZsb2F0MngzIHgpIHsKLSAgICBmbG9h
dDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gdHJ1bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IHRydW5jKGZsb2F0Mng0IHgpIHsKLSAg
ICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1
bmMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gdHJ1bmMoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsx
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFd
WzNdID0gdHJ1bmMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIHRy
dW5jKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1
bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3gzIHRydW5jKGZsb2F0M3gzIHgpIHsKLSAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdHJ1
bmMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
M3g0IHRydW5jKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gdHJ1bmMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdHJ1
bmMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJd
WzNdID0gdHJ1bmMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIHRy
dW5jKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1
bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdHJ1bmMoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NHgzIHRydW5jKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1
bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gdHJ1bmMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFszXVsxXSk7
Ci0gICAgcmVzdWx0WzNdWzJdID0gdHJ1bmMoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NHg0IHRydW5jKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gdHJ1
bmMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gdHJ1bmMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzJdID0gdHJ1bmMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0g
dHJ1bmMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzNdID0gdHJ1bmMoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gdHJ1bmMo
eFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gdHJ1bmMoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNdID0gdHJ1bmMoeFszXVsz
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lmxlbmd0aCAqLwotdWludCBvcGVyYXRvci5sZW5ndGgoYm9vbDIpIHsKLSAgICByZXR1cm4gMjsK
LX0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoKGJvb2wzKSB7Ci0gICAgcmV0dXJuIDM7Ci19Ci11aW50
IG9wZXJhdG9yLmxlbmd0aChib29sNCkgewotICAgIHJldHVybiA0OwotfQotdWludCBvcGVyYXRv
ci5sZW5ndGgodWludDIpIHsKLSAgICByZXR1cm4gMjsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3Ro
KHVpbnQzKSB7Ci0gICAgcmV0dXJuIDM7Ci19Ci11aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50NCkg
ewotICAgIHJldHVybiA0OwotfQotdWludCBvcGVyYXRvci5sZW5ndGgoaW50MikgewotICAgIHJl
dHVybiAyOwotfQotdWludCBvcGVyYXRvci5sZW5ndGgoaW50MykgewotICAgIHJldHVybiAzOwot
fQotdWludCBvcGVyYXRvci5sZW5ndGgoaW50NCkgewotICAgIHJldHVybiA0OwotfQotdWludCBv
cGVyYXRvci5sZW5ndGgoZmxvYXQyKSB7Ci0gICAgcmV0dXJuIDI7Ci19Ci11aW50IG9wZXJhdG9y
Lmxlbmd0aChmbG9hdDMpIHsKLSAgICByZXR1cm4gMzsKLX0KLXVpbnQgb3BlcmF0b3IubGVuZ3Ro
KGZsb2F0NCkgewotICAgIHJldHVybiA0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56d3d4ICovCi1ib29sNCBvcGVyYXRvci56d3d4KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnp3d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci56d3d4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend3eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eHggKi8K
LWJvb2w0IG9wZXJhdG9yLnd5eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3l4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5eHgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXh4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd6PSAqLwotYm9vbDQgb3BlcmF0
b3IueXd6PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXd6PSh1aW50NCB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55d3o9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3Vs
dC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd6PShm
bG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp5eSAqLwot
Ym9vbDQgb3BlcmF0b3IueHp5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRv
ci54enl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh6eXkodWludDMg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp5eSh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnh6eXkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueHp5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh6eXkoZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp5eShmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4eHogKi8KLWJvb2w0IG9w
ZXJhdG9yLnh4eHooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHh4eihi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHh6KHVpbnQzIHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54eHh6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eHoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHh6KGZsb2F0MyB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHd5ICovCi1ib29sNCBvcGVyYXRvci53
eHd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4d3kodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHd5KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iud3h3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnl4d3ogKi8KLWJvb2w0IG9wZXJhdG9yLnl4d3ooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXh3eih1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnl4d3ooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci55eHd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3IueXd3dyAqLwotYm9vbDQgb3BlcmF0b3IueXd3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55d3d3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3IueXd3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl3d3coZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54encgKi8K
LWJvb2wzIG9wZXJhdG9yLnh6dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54encodWludDQgdikgewotICAg
IHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRv
ci54encoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0MyBvcGVyYXRvci54encoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53d3d4ICovCi1ib29sNCBvcGVyYXRvci53d3d4KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnd3d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci53d3d4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3d3eChmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eHggKi8K
LWJvb2w0IG9wZXJhdG9yLnd3eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iud3d4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3eHgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3h4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl3PSAqLwotYm9vbDQgb3BlcmF0
b3IueHl3PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl3PSh1aW50NCB2LCB1aW50
MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICBy
ZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eXc9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3Vs
dC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3PShm
bG9hdDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp5ICovCi1i
b29sMyBvcGVyYXRvci54enkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueHp5KGJvb2w0IHYpIHsKLSAgICBi
b29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9y
Lnh6eSh1aW50MyB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50MyBvcGVyYXRvci54enkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54enkoaW50MyB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3Bl
cmF0b3IueHp5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueHp5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eShm
bG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp6enogKi8KLWJvb2w0IG9wZXJhdG9y
Lnp6enooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenp6eihib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56enp6KHVpbnQzIHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp6enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56enp6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp6enooaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56enp6KGZsb2F0MyB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enp4ICovCi1ib29sNCBvcGVyYXRvci56enp4KGJv
b2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6engoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp6eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56enp4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp6
eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enp4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp6eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56enp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueHcgKi8KLWJvb2wyIG9wZXJhdG9yLnh3KGJvb2w0IHYpIHsKLSAg
ICBib29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnh3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3IueHcoaW50NCB2KSB7Ci0gICAg
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci54dyhmbG9hdDQgdikgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4
eXcgKi8KLWJvb2w0IG9wZXJhdG9yLnd4eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iud3h5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd4eXco
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHl3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp3dyAqLwotYm9vbDQg
b3BlcmF0b3IueXp3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55end3
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp3dyhpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHcgKi8KLWJvb2wzIG9wZXJhdG9yLnd4dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBvcGVyYXRvci53eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53eHcoaW50NCB2KSB7Ci0gICAg
aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRv
ci53eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3d5ICovCi1ib29sNCBv
cGVyYXRvci54d3d5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3d3ko
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3d5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd3eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6encgKi8KLWJvb2w0IG9wZXJhdG9yLnd6enco
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p6dyh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci53enp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3h3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3h3dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3h3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd4
d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBtYXggKi8K
LQotCi11aW50IG1heCh1aW50IHgsIHVpbnQgeSkgewotICAgIHJldHVybiB4ID4geSA/IHggOiB5
OwotfQotdWludDIgbWF4KHVpbnQyIHgsIHVpbnQyIHkpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFd
LCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgbWF4KHVpbnQzIHgsIHVpbnQz
IHkpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0p
OwotICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXN1bHRbMl0gPSBtYXgo
eFsyXSwgeVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG1heCh1aW50NCB4LCB1
aW50NCB5KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
bWF4KHhbMl0sIHlbMl0pOwotICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0KLQotaW50IG1heChpbnQgeCwgaW50IHkpIHsKLSAgICByZXR1
cm4geCA+IHkgPyB4IDogeTsKLX0KLWludDIgbWF4KGludDIgeCwgaW50MiB5KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwotICAgIHJlc3VsdFsx
XSA9IG1heCh4WzFdLCB5WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBtYXgoaW50
MyB4LCBpbnQzIHkpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFsw
XSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsy
XSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBtYXgoaW50
NCB4LCBpbnQ0IHkpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBtYXgoeFsw
XSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwotICAgIHJlc3VsdFsy
XSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICByZXN1bHRbM10gPSBtYXgoeFszXSwgeVszXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi1mbG9hdCBtYXgoZmxvYXQgeCwgZmxvYXQgeSkgewot
ICAgIHJldHVybiB4ID4geSA/IHggOiB5OwotfQotZmxvYXQyIG1heChmbG9hdDIgeCwgZmxvYXQy
IHkpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBtYXgoZmxvYXQzIHgsIGZsb2F0MyB5KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Ci0gICAgcmVzdWx0WzFdID0gbWF4KHhb
MV0sIHlbMV0pOwotICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQ0IG1heChmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBtYXgoeFsxXSwgeVsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOwotICAg
IHJlc3VsdFszXSA9IG1heCh4WzNdLCB5WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDIgbWF4KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsx
XVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBtYXgoZmxvYXQyeDMgeCwgZmxvYXQy
eDMgeSkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFsw
XVswXSwgeVswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhb
MV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgbWF4KGZsb2F0Mng0IHgsIGZsb2F0
Mng0IHkpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhb
MF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0
WzBdWzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4
WzFdWzBdLCB5WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3Vs
dFsxXVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQzeDIgbWF4KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKLSAgICBmbG9hdDN4MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1b
MV0pOwotICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1
bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3gzIG1heChmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7Ci0gICAgZmxvYXQzeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4
KHhbMF1bMl0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOwotICAgIHJlc3VsdFsyXVswXSA9IG1h
eCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsy
XVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBtYXgoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgewot
ICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwotICAgIHJl
c3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBt
YXgoeFswXVszXSwgeVswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0g
bWF4KHhbMV1bM10sIHlbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9
IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIg
bWF4KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwg
eVsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0s
IHlbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgbWF4KGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkp
IHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0s
IHlbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFd
LCB5WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsy
XSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOwot
ICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKLSAgICByZXN1bHRbM11b
Ml0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IG1heChmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1b
Ml0sIHlbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFd
WzJdLCB5WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7
Ci0gICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsy
XVsyXSwgeVsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10p
OwotICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKLSAgICByZXN1bHRb
M11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbWF4KHhb
M11bMl0sIHlbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci53d3ogKi8KLWJvb2wzIG9wZXJhdG9yLnd3eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53d3oodWludDQg
dikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
MyBvcGVyYXRvci53d3ooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eXo9ICovCi1ib29sNCBvcGVyYXRvci53eXo9KGJvb2w0IHYsIGJvb2wz
IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJl
c3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci53eXo9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJl
c3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5ej0o
aW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBj
Lng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXo9KGZsb2F0NCB2LCBmbG9hdDMgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l5ICovCi1ib29sNCBvcGVyYXRvci55d3l5KGJv
b2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eXkodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci55d3l5KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueXd5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIGFzaW50ICovCi1pbnQgYXNpbnQoaW50IHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWludDIg
YXNpbnQoaW50MiB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1pbnQzIGFzaW50KGludDMgeCkgewot
ICAgIHJldHVybiB4OwotfQotaW50NCBhc2ludChpbnQ0IHgpIHsKLSAgICByZXR1cm4geDsKLX0K
LWludCBhc2ludCh1aW50IHgpIHsKLSAgICByZXR1cm4gaW50KHgpOwotfQotaW50MiBhc2ludCh1
aW50MiB4KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDMgYXNpbnQodWludDMgeCkgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFz
aW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9
IGFzaW50KHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IGFzaW50KHVpbnQ0IHgp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKLSAg
ICByZXN1bHRbM10gPSBhc2ludCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotbmF0aXZl
IGludCBhc2ludChmbG9hdCk7Ci1pbnQyIGFzaW50KGZsb2F0MiB4KSB7Ci0gICAgaW50MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gYXNpbnQo
eFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgYXNpbnQoZmxvYXQzIHgpIHsKLSAg
ICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBhc2ludCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBhc2ludChmbG9hdDQgeCkgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0p
OwotICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGFzaW50KHhb
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRv
ci55end6ICovCi1ib29sNCBvcGVyYXRvci55end6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnl6d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55
end6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp3eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4enkgKi8KLWJv
b2w0IG9wZXJhdG9yLnl4enkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iu
eXh6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHp5KHVpbnQzIHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl4enkodWludDQgdikgewotICAgIHVpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci55eHp5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnl4enkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHp5KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4enkoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55enh6ICovCi1ib29sNCBvcGVy
YXRvci55enh6KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnl6eHooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueXp4eih1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enh6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueXp4eihpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4eihmbG9hdDMgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55enh6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p6eCAqLwotYm9vbDQgb3BlcmF0b3Iud3p6
eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53enp4KHVpbnQ0IHYpIHsK
LSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3p6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0IG9wZXJhdG9yLnd6engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55enh3PSAqLwotYm9vbDQgb3BlcmF0b3IueXp4dz0oYm9vbDQgdiwg
Ym9vbDQgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0g
ICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0LncgPSBj
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl6eHc9KHVpbnQ0IHYs
IHVpbnQ0IGMpIHsKLSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54Owot
ICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC53ID0g
Yy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHc9KGludDQgdiwg
aW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3VsdC53ID0gYy53
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXp4dz0oZmxvYXQ0IHYs
IGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmVzdWx0Lncg
PSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnp5eHggKi8KLWJvb2w0IG9wZXJhdG9yLnp5eHgoYm9vbDMgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ym9vbDQgb3BlcmF0b3Iuenl4eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54Owot
ICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci56eXh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5eHgodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXh4KGludDMgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnp5eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci56eXh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5eHgoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXd6
ICovCi1ib29sNCBvcGVyYXRvci54eXd6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9w
ZXJhdG9yLnh5d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eXd6KGlu
dDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl3eihmbG9hdDQgdikgewotICAg
IGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6d3ogKi8KLWJvb2w0IG9w
ZXJhdG9yLnd6d3ooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p3eih1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6d3ooaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci53end6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh4eSAqLwotYm9vbDQgb3BlcmF0b3IueHh4eShi
b29sMiB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci54eHh5KGJvb2wzIHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4eHkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueHh4eSh1aW50MiB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54
eHh5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eHkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHh5KGludDIgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh4eHkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHh4
eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4eHkoZmxvYXQyIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh4eShmbG9hdDMgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54eHh5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend4eT0gKi8KLWJvb2w0IG9wZXJhdG9yLnp3eHk9KGJv
b2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0g
Yy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJlc3Vs
dC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3h5PSh1
aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1
bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56d3h5PShp
bnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMu
eDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueCA9IGMuejsKLSAgICByZXN1bHQu
eSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3eHk9KGZs
b2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJl
c3VsdC55ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56d3p3ICovCi1ib29sNCBvcGVyYXRvci56d3p3KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp3encodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci56d3p3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuend6dyhm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3
d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnd3d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iud3d3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3d3ko
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3d5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd4ICovCi1ib29sMyBv
cGVyYXRvci55d3goYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXd4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXd4KGlu
dDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgb3BlcmF0b3IueXd4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHh6
eiAqLwotYm9vbDQgb3BlcmF0b3IueHh6eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci54eHp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4enoo
dWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh6eih1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4enooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueHh6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4enoo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh6eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXo9ICovCi1i
b29sNCBvcGVyYXRvci54d3l6PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1
bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHd5ej0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVz
dWx0LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWludDQgb3BlcmF0b3IueHd5ej0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9
IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0
LnkgPSBjLno7Ci0gICAgcmVzdWx0LnogPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci54d3l6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICBy
ZXN1bHQueSA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXl4ICovCi1ib29sMyBvcGVyYXRvci55
eXgoYm9vbDIgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotYm9vbDMgb3BlcmF0b3IueXl4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl5eChib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci55eXgodWludDIgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl4KHVpbnQzIHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl5eCh1
aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnl5eChpbnQyIHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eXgoaW50MyB2KSB7Ci0gICAgaW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXl4
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgb3BlcmF0b3IueXl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl5eChmbG9hdDMgdikg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci55eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56end5ICov
Ci1ib29sNCBvcGVyYXRvci56end5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnp6d3kodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQu
dyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56end5KGludDQg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp3eShmbG9hdDQgdikgewotICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4PSAqLwotYm9vbDQgb3BlcmF0
b3Iud3g9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci53eD0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3Vs
dCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3g9KGludDQgdiwgaW50MiBjKSB7Ci0gICAg
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3g9KGZsb2F0NCB2LCBm
bG9hdDIgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54Owot
ICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56encgKi8KLWJvb2wzIG9wZXJhdG9yLnp6dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci56encodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56encoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci56encoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHp5ICovCi1ib29sNCBvcGVyYXRvci54eHp5
KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh4enkoYm9vbDQgdikgewot
ICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54eHp5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eHh6eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHp5KGludDQgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHh6eShmbG9hdDMgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci54eHp5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6ICovCi1ib29sMyBvcGVyYXRvci55eHooYm9vbDMgdikg
ewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMg
b3BlcmF0b3IueXh6KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnl4eih1aW50MyB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eHoo
dWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci55eHooaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXh6KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
eXh6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl4eihmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnl6eSAqLwotYm9vbDMgb3BlcmF0b3IueXp5KGJvb2wzIHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnl6eShi
b29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50MyBvcGVyYXRvci55enkodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXp5KHVpbnQ0IHYpIHsKLSAg
ICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0
b3IueXp5KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl6eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnl6eShmbG9hdDMgdikg
ewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
MyBvcGVyYXRvci55enkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55PSAqLwot
bmF0aXZlIGJvb2wyIG9wZXJhdG9yLnk9KGJvb2wyLCBib29sKTsKLW5hdGl2ZSBib29sMyBvcGVy
YXRvci55PShib29sMywgYm9vbCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3IueT0oYm9vbDQsIGJv
b2wpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLnk9KHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50
MyBvcGVyYXRvci55PSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IueT0odWlu
dDQsIHVpbnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueT0oaW50MiwgaW50KTsKLW5hdGl2ZSBp
bnQzIG9wZXJhdG9yLnk9KGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci55PShpbnQ0
LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci55PShmbG9hdDIsIGZsb2F0KTsKLW5hdGl2
ZSBmbG9hdDMgb3BlcmF0b3IueT0oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJh
dG9yLnk9KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh6
eiAqLwotYm9vbDQgb3BlcmF0b3Iuenh6eihib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBv
cGVyYXRvci56eHp6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4enoo
dWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh6eih1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4enooaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iuenh6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1
bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4enoo
ZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh6eihmbG9hdDQgdikg
ewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5encgKi8KLWJv
b2w0IG9wZXJhdG9yLnh5encoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eHl6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5encoaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend5dyAqLwotYm9vbDQgb3BlcmF0b3Iu
end5dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3l3KHVpbnQ0IHYp
IHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnp3eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci54eXcgKi8KLWJvb2wzIG9wZXJhdG9yLnh5dyhib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci54eXcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54eXcoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54eXcoZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56end3ICovCi1ib29sNCBvcGVyYXRvci56
end3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6d3codWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56end3KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iuenp3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7
Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp5dyAqLwotYm9vbDMgb3BlcmF0b3Iuenl3KGJvb2w0IHYpIHsK
LSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9w
ZXJhdG9yLnp5dyh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp5dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp5dyhmbG9h
dDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIGNsYW1wICovCi1uYXRpdmUgdWludCBjbGFtcCh1aW50LCB1
aW50LCB1aW50KTsKLW5hdGl2ZSB1aW50MiBjbGFtcCh1aW50MiwgdWludDIsIHVpbnQyKTsKLW5h
dGl2ZSB1aW50MyBjbGFtcCh1aW50MywgdWludDMsIHVpbnQzKTsKLW5hdGl2ZSB1aW50NCBjbGFt
cCh1aW50NCwgdWludDQsIHVpbnQ0KTsKLW5hdGl2ZSBpbnQgY2xhbXAoaW50LCBpbnQsIGludCk7
Ci1uYXRpdmUgaW50MiBjbGFtcChpbnQyLCBpbnQyLCBpbnQyKTsKLW5hdGl2ZSBpbnQzIGNsYW1w
KGludDMsIGludDMsIGludDMpOwotbmF0aXZlIGludDQgY2xhbXAoaW50NCwgaW50NCwgaW50NCk7
Ci1uYXRpdmUgZmxvYXQgY2xhbXAoZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQy
IGNsYW1wKGZsb2F0MiwgZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIGZsb2F0MyBjbGFtcChmbG9h
dDMsIGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDQgY2xhbXAoZmxvYXQ0LCBmbG9hdDQs
IGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQyeDIgY2xhbXAoZmxvYXQyeDIsIGZsb2F0MngyLCBmbG9h
dDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMgY2xhbXAoZmxvYXQyeDMsIGZsb2F0MngzLCBmbG9hdDJ4
Myk7Ci1uYXRpdmUgZmxvYXQyeDQgY2xhbXAoZmxvYXQyeDQsIGZsb2F0Mng0LCBmbG9hdDJ4NCk7
Ci1uYXRpdmUgZmxvYXQzeDIgY2xhbXAoZmxvYXQzeDIsIGZsb2F0M3gyLCBmbG9hdDN4Mik7Ci1u
YXRpdmUgZmxvYXQzeDMgY2xhbXAoZmxvYXQzeDMsIGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRp
dmUgZmxvYXQzeDQgY2xhbXAoZmxvYXQzeDQsIGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUg
ZmxvYXQ0eDIgY2xhbXAoZmxvYXQ0eDIsIGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgZmxv
YXQ0eDMgY2xhbXAoZmxvYXQ0eDMsIGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgZmxvYXQ0
eDQgY2xhbXAoZmxvYXQ0eDQsIGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eHh5ICovCi1ib29sNCBvcGVyYXRvci53eHh5KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci53eHh5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h4
eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9y
Lnl4d3kgKi8KLWJvb2w0IG9wZXJhdG9yLnl4d3koYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWlu
dDQgb3BlcmF0b3IueXh3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4
d3koaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHd5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5ICovCi1ib29s
MyBvcGVyYXRvci54d3koYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueHd5KHVpbnQ0IHYpIHsKLSAgICB1aW50
MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHd5
KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDMgb3BlcmF0b3IueHd5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3I8
ICovCi1uYXRpdmUgYm9vbCBvcGVyYXRvcjwoaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0
b3I8KHVpbnQsIHVpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I8KGZsb2F0LCBmbG9hdCk7Ci1u
YXRpdmUgYm9vbDIgb3BlcmF0b3I8KHVpbnQyLCB1aW50Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0
b3I8KHVpbnQzLCB1aW50Myk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3I8KHVpbnQ0LCB1aW50NCk7
Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I8KGludDIsIGludDIpOwotbmF0aXZlIGJvb2wzIG9wZXJh
dG9yPChpbnQzLCBpbnQzKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvcjwoaW50NCwgaW50NCk7Ci1u
YXRpdmUgYm9vbDIgb3BlcmF0b3I8KGZsb2F0MiwgZmxvYXQyKTsKLW5hdGl2ZSBib29sMyBvcGVy
YXRvcjwoZmxvYXQzLCBmbG9hdDMpOwotbmF0aXZlIGJvb2w0IG9wZXJhdG9yPChmbG9hdDQsIGZs
b2F0NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVyYXRvcjwoZmxvYXQyeDIsIGZsb2F0MngyKTsKLW5h
dGl2ZSBib29sMngzIG9wZXJhdG9yPChmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZlIGJvb2wy
eDQgb3BlcmF0b3I8KGZsb2F0Mng0LCBmbG9hdDJ4NCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRv
cjwoZmxvYXQzeDIsIGZsb2F0M3gyKTsKLW5hdGl2ZSBib29sM3gzIG9wZXJhdG9yPChmbG9hdDN4
MywgZmxvYXQzeDMpOwotbmF0aXZlIGJvb2wzeDQgb3BlcmF0b3I8KGZsb2F0M3g0LCBmbG9hdDN4
NCk7Ci1uYXRpdmUgYm9vbDR4MiBvcGVyYXRvcjwoZmxvYXQ0eDIsIGZsb2F0NHgyKTsKLW5hdGl2
ZSBib29sNHgzIG9wZXJhdG9yPChmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGJvb2w0eDQg
b3BlcmF0b3I8KGZsb2F0NHg0LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXcgKi8KLWJvb2wzIG9wZXJhdG9yLnd5dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eXcodWlu
dDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50MyBvcGVyYXRvci53eXcoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53eXcoZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci56enl3ICovCi1ib29sNCBvcGVyYXRvci56enl3KGJvb2w0IHYpIHsK
LSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXcodWludDQgdikgewotICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci56enl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
enp5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnp4eiAqLwotYm9vbDMgb3BlcmF0b3Iuenh6KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnp4eihib29s
NCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50MyBvcGVyYXRvci56eHoodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenh6KHVpbnQ0IHYpIHsKLSAgICB1
aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iu
enh6KGludDMgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQzIG9wZXJhdG9yLnp4eihpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eihmbG9hdDMgdikgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci56eHooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3p4ICovCi1i
b29sNCBvcGVyYXRvci55d3p4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl3engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3p4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd6eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eHkgKi8KLWJvb2w0IG9wZXJhdG9y
Lnp4eHkoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenh4eShib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh5KHVpbnQzIHYpIHsKLSAgICB1aW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnp4eHkodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56eHh5KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eHkoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh5KGZsb2F0MyB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4eHkoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBpc25hbiAqLwotbmF0aXZlIGJvb2wgaXNuYW4oZmxvYXQpOwotCi1i
b29sMiBpc25hbihmbG9hdDIgeCkgewotICAgIGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBpc25hbih4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBpc25hbih4WzFdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDMgaXNuYW4oZmxvYXQzIHgpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gaXNuYW4oeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7
Ci0gICAgcmVzdWx0WzJdID0gaXNuYW4oeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2w0IGlzbmFuKGZsb2F0NCB4KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9
IGlzbmFuKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGlzbmFuKHhbMV0pOwotICAgIHJlc3VsdFsy
XSA9IGlzbmFuKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGlzbmFuKHhbM10pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh4d3cgKi8KLWJv
b2w0IG9wZXJhdG9yLnh4d3coYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAg
ICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
eHh3dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4d3coaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eHd3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd5PSAqLwotYm9vbDQgb3BlcmF0b3Iu
eHd5PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd5PSh1aW50NCB2LCB1aW50MyBj
KSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1
bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54d3k9KGludDQgdiwgaW50MyBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC55
ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd5PShmbG9h
dDQgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgQWxsTWVtb3J5QmFycmllcldpdGhH
cm91cFN5bmMgKi8KLW5hdGl2ZSB2b2lkIEFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jKCk7
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eD0gKi8KLWJvb2wyIG9wZXJhdG9yLnl4
PShib29sMiB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDIgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bDMgb3BlcmF0b3IueXg9KGJvb2wzIHYsIGJvb2wyIGMpIHsKLSAgICBib29sMyByZXN1bHQgPSB2
OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eD0oYm9vbDQgdiwgYm9vbDIgYykgewotICAgIGJv
b2w0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnl4PSh1aW50MiB2LCB1aW50
MiBjKSB7Ci0gICAgdWludDIgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICBy
ZXN1bHQueCA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXg9
KHVpbnQzIHYsIHVpbnQyIGMpIHsKLSAgICB1aW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55
ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci55eD0odWludDQgdiwgdWludDIgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDIgb3BlcmF0b3IueXg9KGludDIgdiwgaW50MiBjKSB7Ci0gICAgaW50MiBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl4PShpbnQzIHYsIGludDIgYykgewot
ICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9
IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55eD0oaW50NCB2LCBp
bnQyIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAg
cmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci55
eD0oZmxvYXQyIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQyIHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci55eD0oZmxvYXQzIHYsIGZsb2F0MiBjKSB7Ci0gICAgZmxvYXQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eD0oZmxvYXQ0IHYsIGZsb2F0MiBj
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVz
dWx0LnggPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yXiAqLwotYm9vbCBvcGVyYXRvcl4oYm9vbCBhLCBib29sIGIpIHsKLSAgICBpZiAo
YSkKLSAgICAgICAgcmV0dXJuICFiOwotICAgIHJldHVybiBiOwotfQotbmF0aXZlIGludCBvcGVy
YXRvcl4oaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3JeKHVpbnQsIHVpbnQpOwotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5dyAqLwotYm9vbDQgb3BlcmF0b3IueXp5dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55enl3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp5dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnl6eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54d3d6ICovCi1ib29sNCBvcGVyYXRvci54d3d6KGJvb2w0IHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh3d3oodWludDQgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQu
eiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
NCBvcGVyYXRvci54d3d6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd3
eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIGlzaW5mICov
Ci1uYXRpdmUgYm9vbCBpc2luZihmbG9hdCk7Ci1ib29sMiBpc2luZihmbG9hdDIgeCkgewotICAg
IGJvb2wyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc2luZih4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBpc2luZih4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgaXNpbmYoZmxv
YXQzIHgpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNpbmYoeFswXSk7
Ci0gICAgcmVzdWx0WzFdID0gaXNpbmYoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gaXNpbmYoeFsy
XSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IGlzaW5mKGZsb2F0NCB4KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOwotICAgIHJlc3VsdFsx
XSA9IGlzaW5mKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzaW5mKHhbMl0pOwotICAgIHJlc3Vs
dFszXSA9IGlzaW5mKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvcnwgKi8KLWJvb2wgb3BlcmF0b3J8KGJvb2wgYSwgYm9vbCBiKSB7Ci0g
ICAgcmV0dXJuIGEgfHwgYjsKLX0KLW5hdGl2ZSBpbnQgb3BlcmF0b3J8KGludCwgaW50KTsKLW5h
dGl2ZSB1aW50IG9wZXJhdG9yfCh1aW50LCB1aW50KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnp3eSAqLwotYm9vbDMgb3BlcmF0b3Iuend5KGJvb2w0IHYpIHsKLSAgICBib29sMyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp3eSh1
aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQzIG9wZXJhdG9yLnp3eShpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp3eShmbG9hdDQgdikgewotICAg
IGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnl6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnl6eHgoYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXp4eChib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci55enh4KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJh
dG9yLnl6eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55enh4KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6eHgoaW50NCB2KSB7Ci0gICAgaW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NCBvcGVyYXRvci55enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnl6eHgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci56eXl4ICovCi1ib29sNCBvcGVyYXRvci56eXl4KGJvb2wzIHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp5eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iuenl5eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eXl4
KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenl5eChpbnQzIHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50NCBvcGVyYXRvci56eXl4KGludDQgdikgewotICAgIGludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3Iuenl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56
eXl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3Iuenl3eSAqLwotYm9vbDQgb3BlcmF0b3Iuenl3eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci56eXd5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enl3eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp5d3koZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3l4ICovCi1i
b29sNCBvcGVyYXRvci55d3l4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnl3eXgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3l4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXd5eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl4eHggKi8KLWJvb2w0IG9wZXJhdG9y
Lnl4eHgoYm9vbDIgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueXh4eChib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55eHh4KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl4eHgodWludDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXh4eCh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh4KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4eChpbnQyIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci55eHh4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnl4eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHh4KGZsb2F0
MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4eHgoZmxvYXQzIHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueXh4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh5eXogKi8KLWJvb2w0IG9wZXJhdG9yLnh5
eXooYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl5eihib29sNCB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXl6KHVpbnQzIHYpIHsKLSAgICB1aW50NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh5eXoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci54eXl6KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5eXooaW50NCB2KSB7
Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXl6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnh5eXooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHl3ICovCi1ib29sNCBvcGVyYXRvci54eHl3KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eXcodWludDQgdikgewotICAgIHVp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54eHl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHh5dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IG9wZXJhdG9yLnd6eHggKi8KLWJvb2w0IG9wZXJhdG9yLnd6eHgoYm9vbDQgdikgewotICAgIGJv
b2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludDQgb3BlcmF0b3Iud3p4eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnd6eHgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enh4KGZs
b2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh3
eiAqLwotYm9vbDQgb3BlcmF0b3Iuenh3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0g
di53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci56eHd6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenh3eihp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4d3ooZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHl6ICovCi1ib29sNCBv
cGVyYXRvci53eHl6KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4eXoo
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHl6KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h5eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnh3eXko
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd5eSh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci54d3l5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3p3dyAqLwotYm9vbDQgb3BlcmF0b3Iud3p3dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53end3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3Iud3p3dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd6
d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53Owot
ICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBkZWdyZWVz
ICovCi1mbG9hdCBkZWdyZWVzKGZsb2F0IHgpIHsKLSAgICByZXR1cm4geCAqIDE4MCAvIDMuMTQx
NTk7Ci19Ci1mbG9hdDIgZGVncmVlcyhmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdID0gZGVncmVlcyh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZWdyZWVzKHhb
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGVncmVlcyhmbG9hdDMgeCkgewot
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGVncmVlcyh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSBkZWdyZWVzKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGRlZ3JlZXMoeFsyXSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBkZWdyZWVzKGZsb2F0NCB4KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOwotICAgIHJlc3Vs
dFsxXSA9IGRlZ3JlZXMoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJdKTsKLSAg
ICByZXN1bHRbM10gPSBkZWdyZWVzKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MiBkZWdyZWVzKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVz
KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQyeDMgZGVncmVlcyhmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVl
cyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVl
cyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZWdyZWVzKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9h
dDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICBy
ZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRlZ3Jl
ZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3Jl
ZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4MiBkZWdyZWVzKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdy
ZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZWdy
ZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGRlZ3JlZXMoZmxvYXQzeDMgeCkgewotICAgIGZs
b2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVn
cmVlcyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGVn
cmVlcyh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGVncmVlcyhm
bG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRl
Z3JlZXMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRl
Z3JlZXMoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRl
Z3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRl
Z3JlZXMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKLSAg
ICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MiBkZWdyZWVzKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0g
ICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBk
ZWdyZWVzKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZWdyZWVzKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBk
ZWdyZWVzKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZWdyZWVz
KGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGVncmVlcyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOwot
ICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
ZGVncmVlcyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZGVncmVlcyh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwot
ICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
ZGVncmVlcyh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOwot
ICAgIHJlc3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NHg0IGRlZ3JlZXMoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsK
LSAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRlZ3JlZXMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9
IGRlZ3JlZXMoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9
IGRlZ3JlZXMoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsK
LSAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9
IGRlZ3JlZXMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsK
LSAgICByZXN1bHRbM11bM10gPSBkZWdyZWVzKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55eXkgKi8KLWJvb2wzIG9wZXJhdG9y
Lnl5eShib29sMiB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci55eXkoYm9vbDMgdikgewotICAgIGJvb2wzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMgb3BlcmF0b3IueXl5KGJvb2w0IHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQz
IG9wZXJhdG9yLnl5eSh1aW50MiB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci55eXkodWludDMgdikgewotICAgIHVpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXl5
KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDMgb3BlcmF0b3IueXl5KGludDIgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnl5eShpbnQzIHYpIHsKLSAgICBp
bnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55
eXkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0MyBvcGVyYXRvci55eXkoZmxvYXQyIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3IueXl5KGZsb2F0MyB2
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQzIG9wZXJhdG9yLnl5eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6enkg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd6enkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3p6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6enkoaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enp5KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp3eiAqLwotYm9vbDQgb3Bl
cmF0b3Iuenp3eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56end6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp3eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6d3ooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enl5ICovCi1ib29sNCBvcGVyYXRvci56enl5KGJv
b2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnp6eXkoYm9vbDQgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp5eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56enl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5
eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56enl5KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eShmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBvcGVyYXRvci56enl5KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgU2FtcGxlICovCi1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEPHVpbnQ+LCBz
YW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTFEQXJy
YXk8dWludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBTYW1wbGUo
VGV4dHVyZTJEPHVpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQg
U2FtcGxlKFRleHR1cmUyRDx1aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQyIG9m
ZnNldCk7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludD4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQg
U2FtcGxlKFRleHR1cmUzRDx1aW50Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2
ZSB1aW50IFNhbXBsZShUZXh0dXJlM0Q8dWludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwg
aW50MyBvZmZzZXQpOwotbmF0aXZlIHVpbnQgU2FtcGxlKFRleHR1cmVDdWJlPHVpbnQ+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQyIFNhbXBsZShUZXh0dXJlMUQ8dWlu
dDI+LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDIgU2FtcGxlKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50
MiBTYW1wbGUoVGV4dHVyZTJEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5h
dGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTJEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0
aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDIgU2FtcGxlKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0
KTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50MiBTYW1wbGUoVGV4dHVyZTNEPHVpbnQyPiwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgdWludDIgU2FtcGxlKFRl
eHR1cmVDdWJlPHVpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50
MyBTYW1wbGUoVGV4dHVyZTFEPHVpbnQzPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0
aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlMURBcnJheTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBs
b2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4sIHNhbXBsZXIs
IGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyRDx1aW50Mz4s
IHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVpbnQzIFNh
bXBsZShUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1u
YXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUyREFycmF5PHVpbnQzPiwgc2FtcGxlciwgZmxvYXQz
IGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRleHR1cmUzRDx1
aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgdWludDMgU2FtcGxlKFRl
eHR1cmUzRDx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwot
bmF0aXZlIHVpbnQzIFNhbXBsZShUZXh0dXJlQ3ViZTx1aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBs
b2NhdGlvbik7Ci1uYXRpdmUgdWludDQgU2FtcGxlKFRleHR1cmUxRDx1aW50ND4sIHNhbXBsZXIs
IGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0
dXJlMkQ8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IFNh
bXBsZShUZXh0dXJlMkQ8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zm
c2V0KTsKLW5hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCBzYW1wbGVy
LCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIHVp
bnQ0IFNhbXBsZShUZXh0dXJlM0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwot
bmF0aXZlIHVpbnQ0IFNhbXBsZShUZXh0dXJlM0Q8dWludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2ZSB1aW50NCBTYW1wbGUoVGV4dHVyZUN1YmU8dWlu
dDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVy
ZTFEPGludD4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRl
eHR1cmUxREFycmF5PGludD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50
IFNhbXBsZShUZXh0dXJlMkQ8aW50Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2
ZSBpbnQgU2FtcGxlKFRleHR1cmUyRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGlu
dDIgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludD4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50IFNhbXBsZShUZXh0dXJlMkRBcnJheTxp
bnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQg
U2FtcGxlKFRleHR1cmUzRDxpbnQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZl
IGludCBTYW1wbGUoVGV4dHVyZTNEPGludD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50
MyBvZmZzZXQpOwotbmF0aXZlIGludCBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Piwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMUQ8aW50Mj4sIHNh
bXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMURBcnJh
eTxpbnQyPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShU
ZXh0dXJlMkQ8aW50Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MiBT
YW1wbGUoVGV4dHVyZTJEPGludDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zm
c2V0KTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQyPiwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBpbnQyIFNhbXBsZShUZXh0dXJlMkRBcnJheTxpbnQy
Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgaW50MiBT
YW1wbGUoVGV4dHVyZTNEPGludDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZl
IGludDIgU2FtcGxlKFRleHR1cmUzRDxpbnQyPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBp
bnQzIG9mZnNldCk7Ci1uYXRpdmUgaW50MiBTYW1wbGUoVGV4dHVyZUN1YmU8aW50Mj4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFEPGludDM+
LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTFE
QXJyYXk8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1w
bGUoVGV4dHVyZTJEPGludDM+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGlu
dDMgU2FtcGxlKFRleHR1cmUyRDxpbnQzPiwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uLCBpbnQy
IG9mZnNldCk7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHNhbXBs
ZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgaW50MyBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGlu
dDMgU2FtcGxlKFRleHR1cmUzRDxpbnQzPiwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5h
dGl2ZSBpbnQzIFNhbXBsZShUZXh0dXJlM0Q8aW50Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
biwgaW50MyBvZmZzZXQpOwotbmF0aXZlIGludDMgU2FtcGxlKFRleHR1cmVDdWJlPGludDM+LCBz
YW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUxRDxp
bnQ0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1
cmUxREFycmF5PGludDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGludDQg
U2FtcGxlKFRleHR1cmUyRDxpbnQ0Piwgc2FtcGxlciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2
ZSBpbnQ0IFNhbXBsZShUZXh0dXJlMkQ8aW50ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwg
aW50MiBvZmZzZXQpOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFycmF5PGludDQ+LCBz
YW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGludDQgU2FtcGxlKFRleHR1cmUyREFy
cmF5PGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2
ZSBpbnQ0IFNhbXBsZShUZXh0dXJlM0Q8aW50ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
Ci1uYXRpdmUgaW50NCBTYW1wbGUoVGV4dHVyZTNEPGludDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9j
YXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2ZSBpbnQ0IFNhbXBsZShUZXh0dXJlQ3ViZTxpbnQ0
Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVy
ZTFEPGZsb2F0Piwgc2FtcGxlciwgZmxvYXQgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0IFNhbXBs
ZShUZXh0dXJlMURBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1uYXRp
dmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUyRDxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0
MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNhbXBsZShUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgU2Ft
cGxlKFRleHR1cmUyREFycmF5PGZsb2F0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQy
IG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4sIHNhbXBsZXIs
IGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmUzRDxmbG9hdD4s
IHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZzZXQpOwotbmF0aXZlIGZsb2F0IFNh
bXBsZShUZXh0dXJlQ3ViZTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1uYXRp
dmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlMUQ8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQgbG9jYXRp
b24pOwotbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgc2FtcGxl
ciwgZmxvYXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyRDxmbG9h
dDI+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4
dHVyZTJEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwot
bmF0aXZlIGZsb2F0MiBTYW1wbGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgc2FtcGxlciwgZmxv
YXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDIgU2FtcGxlKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MiBvZmZzZXQpOwotbmF0aXZlIGZsb2F0
MiBTYW1wbGUoVGV4dHVyZTNEPGZsb2F0Mj4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQyPiwgc2FtcGxlciwgZmxvYXQzIGxv
Y2F0aW9uLCBpbnQzIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQyIFNhbXBsZShUZXh0dXJlQ3ViZTxm
bG9hdDI+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUo
VGV4dHVyZTFEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0IGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9h
dDMgU2FtcGxlKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQzPiwgc2FtcGxlciwgZmxv
YXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUyRDxmbG9hdDM+LCBz
YW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdDMgU2Ft
cGxlKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQzIFNhbXBsZShUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCBzYW1wbGVyLCBmbG9h
dDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdDMgU2FtcGxlKFRleHR1cmUz
RDxmbG9hdDM+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0MyBTYW1w
bGUoVGV4dHVyZTNEPGZsb2F0Mz4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbiwgaW50MyBvZmZz
ZXQpOwotbmF0aXZlIGZsb2F0MyBTYW1wbGUoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgc2FtcGxlciwg
ZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUxRDxmbG9hdDQ+
LCBzYW1wbGVyLCBmbG9hdCBsb2NhdGlvbik7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0
NCBTYW1wbGUoVGV4dHVyZTJEPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MiBsb2NhdGlvbik7Ci1u
YXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkQ8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQyIGxv
Y2F0aW9uLCBpbnQyIG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24pOwotbmF0aXZlIGZsb2F0NCBTYW1w
bGUoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwgc2FtcGxlciwgZmxvYXQzIGxvY2F0aW9uLCBpbnQy
IG9mZnNldCk7Ci1uYXRpdmUgZmxvYXQ0IFNhbXBsZShUZXh0dXJlM0Q8ZmxvYXQ0Piwgc2FtcGxl
ciwgZmxvYXQzIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdDQgU2FtcGxlKFRleHR1cmUzRDxmbG9h
dDQ+LCBzYW1wbGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDMgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9h
dDQgU2FtcGxlKFRleHR1cmVDdWJlPGZsb2F0ND4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7
Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwgc2FtcGxlciwgZmxv
YXQyIGxvY2F0aW9uKTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCBzYW1wbGVyLCBmbG9hdDIgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdCBT
YW1wbGUoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlv
bik7Ci1uYXRpdmUgZmxvYXQgU2FtcGxlKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCBzYW1w
bGVyLCBmbG9hdDMgbG9jYXRpb24sIGludDIgb2Zmc2V0KTsKLW5hdGl2ZSBmbG9hdCBTYW1wbGUo
VGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHNhbXBsZXIsIGZsb2F0MyBsb2NhdGlvbik7Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56d3g9ICovCi1ib29sNCBvcGVyYXRvci56d3g9KGJv
b2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0g
Yy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3g9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAg
ICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC53ID0g
Yy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9w
ZXJhdG9yLnp3eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3g9KGZsb2F0NCB2LCBm
bG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54Owot
ICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56enkgKi8KLWJvb2wzIG9wZXJh
dG9yLnp6eShib29sMyB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sMyBvcGVyYXRvci56enkoYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuenp5KHVpbnQz
IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQzIG9wZXJhdG9yLnp6eSh1aW50NCB2KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9wZXJhdG9yLnp6eShpbnQzIHYpIHsKLSAgICBpbnQz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56enko
aW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0MyBvcGVyYXRvci56enkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuenp5KGZsb2F0NCB2KSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3l3eSAqLwotYm9vbDQgb3BlcmF0b3Iud3l3eShib29s
NCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi55OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXd5KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3Iud3l3eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
dzsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9w
ZXJhdG9yLnd5d3koZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1l
ZCBvcGVyYXRvci53eHh4ICovCi1ib29sNCBvcGVyYXRvci53eHh4KGJvb2w0IHYpIHsKLSAgICBi
b29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4eHgodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBv
cGVyYXRvci53eHh4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3Vs
dC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iud3h4eChm
bG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIHNpbmggKi8KLW5h
dGl2ZSBmbG9hdCBzaW5oKGZsb2F0KTsKLWZsb2F0MiBzaW5oKGZsb2F0MiB4KSB7Ci0gICAgZmxv
YXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IHNpbmgoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBzaW5oKGZsb2F0MyB4
KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOwotICAg
IHJlc3VsdFsxXSA9IHNpbmgoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gc2luaCh4WzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IHNpbmgoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQg
cmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHNpbmgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gc2lu
aCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBzaW5oKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IHNp
bmgoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngyIHNpbmgoZmxvYXQyeDIg
eCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBzaW5oKGZsb2F0MngzIHgpIHsKLSAgICBmbG9h
dDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0Mng0IHNpbmgoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0
Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IHNpbmgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsx
XVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIHNpbmgoZmxvYXQzeDIgeCkg
ewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0g
c2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJl
c3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgc2luaChmbG9hdDN4MyB4KSB7
Ci0gICAgZmxvYXQzeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBz
aW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBzaW5oKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9h
dDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhb
MV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOwot
ICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0NHgyIHNpbmgoZmxvYXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBzaW5o
KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NHgzIHNpbmgoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHNpbmgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKLSAgICByZXN1bHRb
Ml1bMF0gPSBzaW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBz
aW5oKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHNpbmgoeFszXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzJdID0gc2luaCh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
eDQgc2luaChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHNpbmgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gc2luaCh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IHNp
bmgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0g
PSBzaW5oKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7Ci0gICAg
cmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBzaW5oKHhb
Ml1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNd
WzFdID0gc2luaCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBzaW5oKHhbM11bMl0pOwot
ICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIGRkeSAqLwotbmF0aXZlIGZsb2F0IGRkeShmbG9hdCk7Ci1m
bG9hdDIgZGR5KGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSBkZHkoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDMgZGR5KGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBkZHkoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOwotICAgIHJl
c3VsdFsyXSA9IGRkeSh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGRkeShm
bG9hdDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR5KHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGRkeSh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHkoeFsyXSk7
Ci0gICAgcmVzdWx0WzNdID0gZGR5KHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDJ4MiBkZHkoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHko
eFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGRkeShmbG9hdDJ4MyB4
KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
ZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZHkoZmxvYXQyeDQgeCkgewotICAg
IGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBkZHkoZmxvYXQzeDIgeCkgewot
ICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGR5KGZsb2F0M3gzIHgpIHsKLSAgICBmbG9h
dDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3Vs
dFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRk
eSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWZsb2F0M3g0IGRkeShmbG9hdDN4NCB4KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJl
c3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGRkeSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJd
KTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0g
ZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHkoZmxvYXQ0eDIgeCkgewotICAg
IGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gZGR5KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11b
MV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgewot
ICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Ci0g
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4
WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZGR5KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhb
Ml1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11b
MF0gPSBkZHkoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOwotICAg
IHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxv
YXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gZGR5KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsK
LSAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR5
KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBkZHkoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHko
eFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOwotICAgIHJlc3VsdFsy
XVsyXSA9IGRkeSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gZGR5KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHkoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNd
WzNdID0gZGR5KHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvcj49ICovCi1uYXRpdmUgYm9vbCBvcGVyYXRvcj49KGludCwgaW50KTsK
LW5hdGl2ZSBib29sIG9wZXJhdG9yPj0odWludCwgdWludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRv
cj49KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I+PSh1aW50MiwgdWludDIp
OwotbmF0aXZlIGJvb2wzIG9wZXJhdG9yPj0odWludDMsIHVpbnQzKTsKLW5hdGl2ZSBib29sNCBv
cGVyYXRvcj49KHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I+PShpbnQyLCBp
bnQyKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvcj49KGludDMsIGludDMpOwotbmF0aXZlIGJvb2w0
IG9wZXJhdG9yPj0oaW50NCwgaW50NCk7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3I+PShmbG9hdDIs
IGZsb2F0Mik7Ci1uYXRpdmUgYm9vbDMgb3BlcmF0b3I+PShmbG9hdDMsIGZsb2F0Myk7Ci1uYXRp
dmUgYm9vbDQgb3BlcmF0b3I+PShmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgYm9vbDJ4MiBvcGVy
YXRvcj49KGZsb2F0MngyLCBmbG9hdDJ4Mik7Ci1uYXRpdmUgYm9vbDJ4MyBvcGVyYXRvcj49KGZs
b2F0MngzLCBmbG9hdDJ4Myk7Ci1uYXRpdmUgYm9vbDJ4NCBvcGVyYXRvcj49KGZsb2F0Mng0LCBm
bG9hdDJ4NCk7Ci1uYXRpdmUgYm9vbDN4MiBvcGVyYXRvcj49KGZsb2F0M3gyLCBmbG9hdDN4Mik7
Ci1uYXRpdmUgYm9vbDN4MyBvcGVyYXRvcj49KGZsb2F0M3gzLCBmbG9hdDN4Myk7Ci1uYXRpdmUg
Ym9vbDN4NCBvcGVyYXRvcj49KGZsb2F0M3g0LCBmbG9hdDN4NCk7Ci1uYXRpdmUgYm9vbDR4MiBv
cGVyYXRvcj49KGZsb2F0NHgyLCBmbG9hdDR4Mik7Ci1uYXRpdmUgYm9vbDR4MyBvcGVyYXRvcj49
KGZsb2F0NHgzLCBmbG9hdDR4Myk7Ci1uYXRpdmUgYm9vbDR4NCBvcGVyYXRvcj49KGZsb2F0NHg0
LCBmbG9hdDR4NCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBkc3QgKi8KLXVpbnQ0IGRzdCh1aW50
NCBzcmMwLCB1aW50NCBzcmMxKSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
MTsKLSAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKLSAgICByZXN1bHQueiA9IHNyYzAu
ejsKLSAgICByZXN1bHQudyA9IHNyYzEudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBk
c3QoaW50NCBzcmMwLCBpbnQ0IHNyYzEpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IDE7Ci0gICAgcmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7Ci0gICAgcmVzdWx0LnogPSBz
cmMwLno7Ci0gICAgcmVzdWx0LncgPSBzcmMxLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBkc3QoZmxvYXQ0IHNyYzAsIGZsb2F0NCBzcmMxKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IDE7Ci0gICAgcmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7Ci0gICAg
cmVzdWx0LnogPSBzcmMwLno7Ci0gICAgcmVzdWx0LncgPSBzcmMxLnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6PSAqLwotYm9vbDMg
b3BlcmF0b3IueHl6PShib29sMyB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9
IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHl6PShib29sNCB2
LCBib29sMyBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsK
LSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3IueHl6PSh1aW50MyB2LCB1aW50MyBjKSB7Ci0gICAgdWlu
dDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsK
LSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3IueHl6PSh1aW50NCB2LCB1aW50MyBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci54eXo9KGludDMgdiwgaW50MyBj
KSB7Ci0gICAgaW50MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3Vs
dC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnh5ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0Lnog
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54eXo9KGZsb2F0
MyB2LCBmbG9hdDMgYykgewotICAgIGZsb2F0MyByZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0g
Yy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl6PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsK
LSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQu
eSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh4dyAqLwotYm9vbDQgb3BlcmF0b3IueXh4dyhi
b29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55eHh3KHVpbnQ0IHYpIHsKLSAg
ICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lng7
Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnl4eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAg
IHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci53eHkgKi8KLWJvb2wzIG9wZXJhdG9yLnd4eShib29sNCB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRv
ci53eHkodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotaW50MyBvcGVyYXRvci53eHkoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53eHkoZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBkb3QgKi8KLXVpbnQgZG90KHVpbnQgYSwgdWludCBiKSB7Ci0gICAg
cmV0dXJuIGEgKiBiOwotfQotdWludCBkb3QodWludDIgYSwgdWludDIgYikgewotICAgIHVpbnQg
cmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1
bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludCBk
b3QodWludDMgYSwgdWludDMgYikgewotICAgIHVpbnQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQg
PSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsx
XTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotdWludCBkb3QodWludDQgYSwgdWludDQgYikgewotICAgIHVpbnQgcmVzdWx0ID0gMDsK
LSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzFdICogYlsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzNdICogYlszXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50
IGRvdChpbnQgYSwgaW50IGIpIHsKLSAgICByZXR1cm4gYSAqIGI7Ci19Ci1pbnQgZG90KGludDIg
YSwgaW50MiBiKSB7Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsg
YVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWludCBkb3QoaW50MyBhLCBpbnQzIGIpIHsKLSAgICBpbnQgcmVzdWx0
ID0gMDsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzFdICogYlsxXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50IGRvdChpbnQ0IGEsIGludDQgYikgewotICAgIGlu
dCByZXN1bHQgPSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJl
c3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0g
KiBiWzJdOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbM10gKiBiWzNdOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1mbG9hdCBkb3QoZmxvYXQgYSwgZmxvYXQgYikgewotICAgIHJldHVybiBhICog
YjsKLX0KLWZsb2F0IGRvdChmbG9hdDIgYSwgZmxvYXQyIGIpIHsKLSAgICBmbG9hdCByZXN1bHQg
PSAwOwotICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwotICAgIHJlc3VsdCA9IHJl
c3VsdCArIGFbMV0gKiBiWzFdOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdCBkb3QoZmxv
YXQzIGEsIGZsb2F0MyBiKSB7Ci0gICAgZmxvYXQgcmVzdWx0ID0gMDsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzBdICogYlswXTsKLSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsK
LSAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQgZG90KGZsb2F0NCBhLCBmbG9hdDQgYikgewotICAgIGZsb2F0IHJlc3VsdCA9IDA7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
ICsgYVsxXSAqIGJbMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJbM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh5dz0gKi8KLWJvb2w0IG9wZXJhdG9yLnp4
eXc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56OwotICAg
IHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56
eHl3PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAg
ICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56
eHl3PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eiA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICBy
ZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp4
eXc9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC56ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC55ID0gYy56Owot
ICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55eXcgKi8KLWJvb2wzIG9wZXJhdG9yLnl5dyhib29sNCB2KSB7Ci0g
ICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVy
YXRvci55eXcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50MyBvcGVyYXRvci55eXcoaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci55eXcoZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3g9ICovCi1ib29sNCBvcGVyYXRvci55d3g9
KGJvb2w0IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55
ID0gYy54OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci55d3g9KHVpbnQ0IHYsIHVpbnQzIGMpIHsK
LSAgICB1aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC53
ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0
IG9wZXJhdG9yLnl3eD0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnkgPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBj
Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55d3g9KGZsb2F0NCB2
LCBmbG9hdDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54
OwotICAgIHJlc3VsdC53ID0gYy55OwotICAgIHJlc3VsdC54ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54enh4ICovCi1ib29sNCBv
cGVyYXRvci54enh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh6eHgo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHp4eCh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54enh4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWlu
dDQgb3BlcmF0b3IueHp4eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54enh4
KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHp4eChmbG9hdDMgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enh4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh6dz0gKi8KLWJvb2w0IG9wZXJhdG9y
Lnl4enc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJl
c3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56Owot
ICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci55eHp3PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICBy
ZXN1bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsK
LSAgICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci55eHp3PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueSA9IGMueDsKLSAgICByZXN1bHQueCA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAg
ICByZXN1bHQudyA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnl4enc9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56
OwotICAgIHJlc3VsdC53ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci53eHogKi8KLWJvb2wzIG9wZXJhdG9yLnd4eihib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBv
cGVyYXRvci53eHoodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53eHooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53eHooZmxv
YXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3p5ICovCi1ib29sNCBvcGVyYXRvci53
d3p5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0g
ICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd3enkodWludDQgdikg
ewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53d3p5KGludDQgdikgewotICAgIGludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3Iud3d6eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnh3eHogKi8KLWJvb2w0IG9wZXJhdG9yLnh3eHooYm9vbDQgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9
IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd4eih1aW50NCB2KSB7Ci0gICAgdWludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1pbnQ0IG9wZXJhdG9yLnh3eHooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRv
ci54d3h6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3Iud3d6eiAqLwotYm9vbDQgb3BlcmF0b3Iud3d6eihib29sNCB2KSB7Ci0gICAgYm9vbDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci53d3p6KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7
Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0
b3Iud3d6eihpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9
IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd3enooZmxvYXQ0
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHh4ICov
Ci1ib29sNCBvcGVyYXRvci56eHh4KGJvb2wzIHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2w0IG9wZXJh
dG9yLnp4eHgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
ejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh4eCh1aW50
MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56eHh4KHVpbnQ0IHYpIHsKLSAgICB1
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWludDQgb3BlcmF0b3Iuenh4eChpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYu
eDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVy
YXRvci56eHh4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh4eChmbG9h
dDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHh4KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
eDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYXNmbG9hdCAqLwotbmF0aXZlIGZsb2F0
IGFzZmxvYXQoaW50KTsKLWZsb2F0MiBhc2Zsb2F0KGludDIgeCkgewotICAgIGZsb2F0MiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zs
b2F0KHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgYXNmbG9hdChpbnQzIHgp
IHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhb
Ml0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgYXNmbG9hdChpbnQ0IHgpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7Ci0gICAgcmVz
dWx0WzFdID0gYXNmbG9hdCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGFzZmxvYXQoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLW5h
dGl2ZSBmbG9hdCBhc2Zsb2F0KHVpbnQpOwotZmxvYXQyIGFzZmxvYXQodWludDIgeCkgewotICAg
IGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKLSAgICByZXN1
bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgYXNm
bG9hdCh1aW50MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBhc2Zs
b2F0KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGFzZmxvYXQoeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gYXNmbG9hdCh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IGFzZmxvYXQo
dWludDQgeCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGFz
ZmxvYXQoeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0gYXNmbG9hdCh4WzNdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQgYXNmbG9hdChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1m
bG9hdDIgYXNmbG9hdChmbG9hdDIgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQzIGFzZmxv
YXQoZmxvYXQzIHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0NCBhc2Zsb2F0KGZsb2F0NCB4
KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDJ4MiBhc2Zsb2F0KGZsb2F0MngyIHgpIHsKLSAg
ICByZXR1cm4geDsKLX0KLWZsb2F0MngzIGFzZmxvYXQoZmxvYXQyeDMgeCkgewotICAgIHJldHVy
biB4OwotfQotZmxvYXQyeDQgYXNmbG9hdChmbG9hdDJ4NCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19
Ci1mbG9hdDN4MiBhc2Zsb2F0KGZsb2F0M3gyIHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0
M3gzIGFzZmxvYXQoZmxvYXQzeDMgeCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQzeDQgYXNm
bG9hdChmbG9hdDN4NCB4KSB7Ci0gICAgcmV0dXJuIHg7Ci19Ci1mbG9hdDR4MiBhc2Zsb2F0KGZs
b2F0NHgyIHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWZsb2F0NHgzIGFzZmxvYXQoZmxvYXQ0eDMg
eCkgewotICAgIHJldHVybiB4OwotfQotZmxvYXQ0eDQgYXNmbG9hdChmbG9hdDR4NCB4KSB7Ci0g
ICAgcmV0dXJuIHg7Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eXggKi8K
LWJvb2w0IG9wZXJhdG9yLnp3eXgoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0
b3Iuend5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53
ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp3eXgoaW50NCB2
KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0Lnkg
PSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci56d3l4KGZsb2F0NCB2KSB7Ci0gICAgZmxv
YXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgaXNub3JtYWwgKi8KLW5hdGl2ZSBib29sIGlzbm9y
bWFsKGZsb2F0KTsKLQotYm9vbDIgaXNub3JtYWwoZmxvYXQyIHgpIHsKLSAgICBib29sMiByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gaXNu
b3JtYWwoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIGlzbm9ybWFsKGZsb2F0
MyB4KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGlzbm9ybWFsKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGlzbm9y
bWFsKHhbMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBpc25vcm1hbChmbG9hdDQg
eCkgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBpc25vcm1hbCh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBpc25vcm1hbCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBpc25vcm1h
bCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBpc25vcm1hbCh4WzNdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZEV4Y2hhbmdlICovCi1u
YXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQs
IHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4
Y2hhbmdlKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7Ci1uYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBhdG9taWNfaW50KiwgaW50LCBkZXZpY2Ug
aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKGRldmljZSBhdG9taWNfdWlu
dCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkRXhj
aGFuZ2UoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQs
IHRocmVhZCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRocmVhZGdy
b3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9j
a2VkRXhjaGFuZ2UodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCop
OwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50
KiwgaW50LCBkZXZpY2UgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEV4Y2hhbmdlKHRo
cmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZl
IHZvaWQgSW50ZXJsb2NrZWRFeGNoYW5nZSh0aHJlYWRncm91cCBhdG9taWNfaW50KiwgaW50LCB0
aHJlYWRncm91cCBpbnQqKTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh6eCAqLwot
Ym9vbDMgb3BlcmF0b3IueHp4KGJvb2wzIHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wzIG9wZXJhdG9yLnh6eChib29sNCB2KSB7Ci0gICAg
Ym9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRv
ci54engodWludDMgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotdWludDMgb3BlcmF0b3IueHp4KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueHp4KGludDMgdikg
ewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQzIG9w
ZXJhdG9yLnh6eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnh6eChmbG9hdDMgdikgewotICAgIGZsb2F0MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVz
dWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci54engo
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAg
IHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBHZXREaW1lbnNpb25zICovCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWlu
dD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxRDx1aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ+LCBkZXZpY2UgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVp
bnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQy
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsK
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTx1aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1
aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PHVpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0
aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZCB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4s
IGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50Mz4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0
aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCBkZXZpY2UgdWludCog
V2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8dWludDQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWlu
dDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50
ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJl
YWQgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50
PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEPGludDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGludDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0
aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkIHVp
bnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQz
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxpbnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVt
ZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0K
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lk
dGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZCB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4s
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
LQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0PiwgZGV2
aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZs
b2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9h
dD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4s
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQq
IFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxm
bG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7Ci0KLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9h
dDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLQotCi0KLQotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQz
PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLQotCi0KLQotCi0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1
aW50KiBXaWR0aCk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+
LCBkZXZpY2UgdWludCogV2lkdGgpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKLQotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9h
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwot
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci0KLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLQotCi0KLQotCi1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci0KLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
LW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLQotbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1u
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwot
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhD
dWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Ci1uYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OwotbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKLW5hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7Ci1uYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwotCi0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci54d3l3ICovCi1ib29sNCBvcGVyYXRvci54d3l3KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnh3eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci54d3l3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd5dyhmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKyAqLwotbmF0
aXZlIGludCBvcGVyYXRvcisoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IrKHVpbnQs
IHVpbnQpOwotbmF0aXZlIGZsb2F0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQpOwotbmF0aXZlIHVp
bnQyIG9wZXJhdG9yKyh1aW50MiwgdWludDIpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yKyh1aW50
LCB1aW50Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1
aW50MyBvcGVyYXRvcisodWludDMsIHVpbnQzKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvcisodWlu
dCwgdWludDMpOwotbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50MywgdWludCk7Ci1uYXRpdmUg
dWludDQgb3BlcmF0b3IrKHVpbnQ0LCB1aW50NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IrKHVp
bnQsIHVpbnQ0KTsKLW5hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludDQsIHVpbnQpOwotbmF0aXZl
IGludDIgb3BlcmF0b3IrKGludDIsIGludDIpOwotbmF0aXZlIGludDIgb3BlcmF0b3IrKGludCwg
aW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRvcisoaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9w
ZXJhdG9yKyhpbnQzLCBpbnQzKTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yKyhpbnQsIGludDMpOwot
bmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvciso
aW50NCwgaW50NCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvcisoaW50LCBpbnQ0KTsKLW5hdGl2ZSBp
bnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQy
LCBmbG9hdDIpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQsIGZsb2F0Mik7Ci1uYXRp
dmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0
b3IrKGZsb2F0MywgZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9h
dDMpOwotbmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxv
YXQ0IG9wZXJhdG9yKyhmbG9hdDQsIGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKyhm
bG9hdCwgZmxvYXQ0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCwgZmxvYXQpOwot
bmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yKyhmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGZs
b2F0MngyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJh
dG9yKyhmbG9hdDJ4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9hdDJ4
MywgZmxvYXQyeDMpOwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQyeDMp
OwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yKyhmbG9hdDJ4MywgZmxvYXQpOwotbmF0aXZlIGZs
b2F0Mng0IG9wZXJhdG9yKyhmbG9hdDJ4NCwgZmxvYXQyeDQpOwotbmF0aXZlIGZsb2F0Mng0IG9w
ZXJhdG9yKyhmbG9hdCwgZmxvYXQyeDQpOwotbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yKyhmbG9h
dDJ4NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4MiwgZmxvYXQz
eDIpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQzeDIpOwotbmF0aXZl
IGZsb2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3gzIG9w
ZXJhdG9yKyhmbG9hdDN4MywgZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKyhm
bG9hdCwgZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yKyhmbG9hdDN4MywgZmxv
YXQpOwotbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhmbG9hdDN4NCwgZmxvYXQzeDQpOwotbmF0
aXZlIGZsb2F0M3g0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQzeDQpOwotbmF0aXZlIGZsb2F0M3g0
IG9wZXJhdG9yKyhmbG9hdDN4NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhm
bG9hdDR4MiwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhmbG9hdCwgZmxv
YXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhmbG9hdDR4MiwgZmxvYXQpOwotbmF0
aXZlIGZsb2F0NHgzIG9wZXJhdG9yKyhmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGZsb2F0
NHgzIG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQ0eDMpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9y
KyhmbG9hdDR4MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4NCwg
ZmxvYXQ0eDQpOwotbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQ0eDQpOwot
bmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhmbG9hdDR4NCwgZmxvYXQpOwotbmF0aXZlIHVpbnQy
IG9wZXJhdG9yKyh1aW50Mik7Ci1uYXRpdmUgdWludDMgb3BlcmF0b3IrKHVpbnQzKTsKLW5hdGl2
ZSB1aW50NCBvcGVyYXRvcisodWludDQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IrKGludDIpOwot
bmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMpOwotbmF0aXZlIGludDQgb3BlcmF0b3IrKGludDQp
OwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvcisoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0
b3IrKGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQpOwotbmF0aXZlIGZs
b2F0MngyIG9wZXJhdG9yKyhmbG9hdDJ4Mik7Ci1uYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZs
b2F0MngzKTsKLW5hdGl2ZSBmbG9hdDJ4NCBvcGVyYXRvcisoZmxvYXQyeDQpOwotbmF0aXZlIGZs
b2F0M3gyIG9wZXJhdG9yKyhmbG9hdDN4Mik7Ci1uYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZs
b2F0M3gzKTsKLW5hdGl2ZSBmbG9hdDN4NCBvcGVyYXRvcisoZmxvYXQzeDQpOwotbmF0aXZlIGZs
b2F0NHgyIG9wZXJhdG9yKyhmbG9hdDR4Mik7Ci1uYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZs
b2F0NHgzKTsKLW5hdGl2ZSBmbG9hdDR4NCBvcGVyYXRvcisoZmxvYXQ0eDQpOwotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3Iuenh4ICovCi1ib29sMyBvcGVyYXRvci56eHgoYm9vbDMgdikg
ewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDMg
b3BlcmF0b3Iuenh4KGJvb2w0IHYpIHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLXVpbnQzIG9wZXJhdG9yLnp4eCh1aW50MyB2KSB7Ci0gICAgdWludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci56eHgo
dWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50MyBvcGVyYXRvci56eHgoaW50MyB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iuenh4KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
enh4KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzIG9wZXJhdG9yLnp4eChmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yLnh4eXggKi8KLWJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDIgdikgewotICAgIGJvb2w0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotYm9vbDQgb3BlcmF0b3IueHh5eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eHl4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh4eXgodWlu
dDIgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHh5eCh1aW50MyB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eHl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3IueHh5eChpbnQyIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54eHl4KGlu
dDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh4eXgoaW50NCB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWZsb2F0NCBvcGVyYXRvci54eHl4KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0
IG9wZXJhdG9yLnh4eXgoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHh5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yLnh6encgKi8KLWJvb2w0IG9wZXJhdG9yLnh6encoYm9vbDQgdikgewotICAgIGJvb2w0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDQgb3BlcmF0b3IueHp6dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9y
Lnh6encoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54enp3KGZsb2F0NCB2
KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl3ej0gKi8K
LWJvb2w0IG9wZXJhdG9yLnh5d3o9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1
bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJl
c3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci11aW50NCBvcGVyYXRvci54eXd6PSh1aW50NCB2LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVz
dWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICBy
ZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotaW50NCBvcGVyYXRvci54eXd6PShpbnQ0IHYsIGludDQgYykgewotICAgIGludDQgcmVzdWx0
ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1
bHQudyA9IGMuejsKLSAgICByZXN1bHQueiA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IG9wZXJhdG9yLnh5d3o9KGZsb2F0NCB2LCBmbG9hdDQgYykgewotICAgIGZsb2F0NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC54ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJlc3VsdC56ID0gYy53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHh3ICovCi1ib29sNCBvcGVyYXRv
ci53eHh3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd4eHcodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eHh3KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3Iud3h4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXggKi8KLWJvb2w0IG9wZXJhdG9yLnd6eXgoYm9vbDQg
dikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQu
eSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3p5eCh1aW50NCB2KSB7Ci0gICAgdWlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eXgoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci53enl4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
ZnJhYyAqLwotZmxvYXQgZnJhYyhmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggLSBmbG9vcih4KTsK
LX0KLWZsb2F0MiBmcmFjKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBmcmFjKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBmcmFjKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF0gPSBmcmFjKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gZnJhYyh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQ0IGZyYWMoZmxvYXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XSA9IGZyYWMoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKLSAgICByZXN1bHRb
Ml0gPSBmcmFjKHhbMl0pOwotICAgIHJlc3VsdFszXSA9IGZyYWMoeFszXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngyIGZyYWMoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJl
c3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAg
ICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDJ4MyBmcmFjKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0Mng0IGZyYWMoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10g
PSBmcmFjKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAg
cmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhb
MV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gyIGZyYWMoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICBy
ZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQzeDMgZnJhYyhmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVzdWx0
OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
ZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBmcmFjKGZsb2F0M3g0IHgpIHsKLSAgICBmbG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gZnJhYyh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOwotICAg
IHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOwotICAgIHJlc3VsdFsy
XVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZy
YWMoeFsyXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGZyYWMoZmxvYXQ0
eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFd
WzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZnJh
Yyh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJlc3Vs
dFszXVsxXSA9IGZyYWMoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgz
IGZyYWMoZmxvYXQ0eDMgeCkgewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1b
MF0gPSBmcmFjKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmcmFj
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7Ci0gICAgcmVzdWx0
WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0p
OwotICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZnJhYyh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOwotICAgIHJl
c3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNd
WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDQgZnJhYyhmbG9hdDR4NCB4KSB7
Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBm
cmFjKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1b
MV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gZnJhYyh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4
WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOwotICAgIHJlc3VsdFsz
XVswXSA9IGZyYWMoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsK
LSAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGZy
YWMoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVk
IHN0b3JlICovCi1uYXRpdmUgdm9pZCBzdG9yZShkZXZpY2UgYXRvbWljX2ludCosIGludCk7Ci1u
YXRpdmUgdm9pZCBzdG9yZShkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50KTsKLW5hdGl2ZSB2b2lk
IHN0b3JlKHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQpOwotbmF0aXZlIHZvaWQgc3RvcmUo
dGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50KTsKLQotCi0vKiBGdW5jdGlvbnMgbmFtZWQg
b3BlcmF0b3Iuend3ICovCi1ib29sMyBvcGVyYXRvci56d3coYm9vbDQgdikgewotICAgIGJvb2wz
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICBy
ZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3Iuend3
KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWludDMgb3BlcmF0b3Iuend3KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iuend3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXp6eiAqLwotYm9vbDQgb3BlcmF0b3IueXp6eihib29sMyB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci55enp6KGJvb2w0IHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLXVpbnQ0IG9wZXJhdG9yLnl6enoodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueXp6eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6enooaW50
MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp6eihpbnQ0IHYpIHsKLSAgICBpbnQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICBy
ZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IG9wZXJhdG9yLnl6enooZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQg
b3BlcmF0b3IueXp6eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIHJlZnJhY3QgKi8KLWZsb2F0IHJlZnJhY3QoZmxvYXQgaSwgZmxvYXQgbiwgZmxvYXQgZXRh
KSB7Ci0gICAgZmxvYXQgcmVzdWx0OwotICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEg
LSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOwotICAgIGlmIChrIDwgMCkKLSAgICAgICAgcmV0dXJu
IHJlc3VsdDsKLSAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGsp
KSAqIG47Ci19Ci1mbG9hdDIgcmVmcmFjdChmbG9hdDIgaSwgZmxvYXQyIG4sIGZsb2F0IGV0YSkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgZmxvYXQgayA9IDEgLSBldGEgKiBldGEgKiAoMSAt
IGRvdChuLCBpKSAqIGRvdChuLCBpKSk7Ci0gICAgaWYgKGsgPCAwKQotICAgICAgICByZXR1cm4g
cmVzdWx0OwotICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykp
ICogbjsKLX0KLWZsb2F0MyByZWZyYWN0KGZsb2F0MyBpLCBmbG9hdDMgbiwgZmxvYXQgZXRhKSB7
Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBmbG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0g
ZG90KG4sIGkpICogZG90KG4sIGkpKTsKLSAgICBpZiAoayA8IDApCi0gICAgICAgIHJldHVybiBy
ZXN1bHQ7Ci0gICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkg
KiBuOwotfQotZmxvYXQ0IHJlZnJhY3QoZmxvYXQ0IGksIGZsb2F0NCBuLCBmbG9hdCBldGEpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIGZsb2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEgLSBk
b3QobiwgaSkgKiBkb3QobiwgaSkpOwotICAgIGlmIChrIDwgMCkKLSAgICAgICAgcmV0dXJuIHJl
c3VsdDsKLSAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGspKSAq
IG47Ci19Ci0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp4eXcgKi8KLWJvb2w0IG9w
ZXJhdG9yLnp4eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenh5dyh1
aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi53Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp4eXcoaW50NCB2KSB7Ci0gICAg
aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWZsb2F0NCBvcGVyYXRvci56eHl3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iud3p3ICovCi1ib29sMyBvcGVyYXRvci53encoYm9v
bDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
dWludDMgb3BlcmF0b3Iud3p3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3Iud3p3KGludDQgdikgewotICAgIGlu
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgb3BlcmF0b3Iu
d3p3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsK
LSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend6eiAqLwotYm9vbDQgb3Bl
cmF0b3Iuend6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci56d3p6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuend6eihpbnQ0IHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYudzsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp3enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8q
IEZ1bmN0aW9ucyBuYW1lZCBsb2cxMCAqLwotZmxvYXQgbG9nMTAoZmxvYXQgeCkgewotICAgIHJl
dHVybiBsb2coeCkgLyBsb2coZmxvYXQoMTApKTsKLX0KLWZsb2F0MiBsb2cxMChmbG9hdDIgeCkg
ewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nMTAoeFswXSk7Ci0gICAg
cmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBs
b2cxMChmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9n
MTAoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0g
bG9nMTAoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBsb2cxMChmbG9hdDQg
eCkgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gbG9nMTAoeFswXSk7Ci0g
ICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gbG9nMTAoeFsyXSk7
Ci0gICAgcmVzdWx0WzNdID0gbG9nMTAoeFszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0MngyIGxvZzEwKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MngzIGxv
ZzEwKGZsb2F0MngzIHgpIHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9n
MTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
Mng0IGxvZzEwKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0
WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNd
ID0gbG9nMTAoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9n
MTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gyIGxvZzEwKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGxvZzEwKGZsb2F0M3gzIHgpIHsKLSAgICBm
bG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsy
XSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFd
ID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3g0IGxvZzEwKGZsb2F0M3g0IHgpIHsKLSAgICBm
bG9hdDN4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbG9nMTAo
eFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNd
ID0gbG9nMTAoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9n
MTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgyIGxvZzEwKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Ci0gICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gbG9nMTAoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbG9n
MTAoeFszXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHgzIGxvZzEwKGZsb2F0
NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0
WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJd
ID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gbG9n
MTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVz
dWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFsz
XVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGxvZzEwKGZsb2F0NHg0IHgp
IHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJd
ID0gbG9nMTAoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gbG9n
MTAoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7Ci0gICAgcmVz
dWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gbG9nMTAoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7
Ci0gICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0g
bG9nMTAoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzNdID0gbG9nMTAoeFszXVszXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLyAqLwotbmF0aXZlIGludCBvcGVyYXRvci8oaW50
LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IvKHVpbnQsIHVpbnQpOwotbmF0aXZlIGZsb2F0
IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLyh1aW50Miwg
dWludDIpOwotbmF0aXZlIHVpbnQyIG9wZXJhdG9yLyh1aW50MiwgdWludCk7Ci1uYXRpdmUgdWlu
dDIgb3BlcmF0b3IvKHVpbnQsIHVpbnQyKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci8odWludDMs
IHVpbnQzKTsKLW5hdGl2ZSB1aW50MyBvcGVyYXRvci8odWludDMsIHVpbnQpOwotbmF0aXZlIHVp
bnQzIG9wZXJhdG9yLyh1aW50LCB1aW50Myk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IvKHVpbnQ0
LCB1aW50NCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IvKHVpbnQ0LCB1aW50KTsKLW5hdGl2ZSB1
aW50NCBvcGVyYXRvci8odWludCwgdWludDQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IvKGludDIs
IGludDIpOwotbmF0aXZlIGludDIgb3BlcmF0b3IvKGludDIsIGludCk7Ci1uYXRpdmUgaW50MiBv
cGVyYXRvci8oaW50LCBpbnQyKTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLyhpbnQzLCBpbnQzKTsK
LW5hdGl2ZSBpbnQzIG9wZXJhdG9yLyhpbnQzLCBpbnQpOwotbmF0aXZlIGludDMgb3BlcmF0b3Iv
KGludCwgaW50Myk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci8oaW50NCwgaW50NCk7Ci1uYXRpdmUg
aW50NCBvcGVyYXRvci8oaW50NCwgaW50KTsKLW5hdGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQsIGlu
dDQpOwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci8oZmxvYXQyLCBmbG9hdDIpOwotbmF0aXZlIGZs
b2F0MiBvcGVyYXRvci8oZmxvYXQyLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhm
bG9hdCwgZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IvKGZsb2F0MywgZmxvYXQzKTsK
LW5hdGl2ZSBmbG9hdDMgb3BlcmF0b3IvKGZsb2F0MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0MyBv
cGVyYXRvci8oZmxvYXQsIGZsb2F0Myk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLyhmbG9hdDQs
IGZsb2F0NCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLyhmbG9hdDQsIGZsb2F0KTsKLW5hdGl2
ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdDQpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJh
dG9yLyhmbG9hdDJ4MiwgZmxvYXQyeDIpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9h
dDJ4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDIp
OwotbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4MywgZmxvYXQyeDMpOwotbmF0aXZl
IGZsb2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0MngzIG9w
ZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDMpOwotbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9h
dDJ4NCwgZmxvYXQyeDQpOwotbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdDJ4NCwgZmxv
YXQpOwotbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDQpOwotbmF0aXZl
IGZsb2F0M3gyIG9wZXJhdG9yLyhmbG9hdDN4MiwgZmxvYXQzeDIpOwotbmF0aXZlIGZsb2F0M3gy
IG9wZXJhdG9yLyhmbG9hdDN4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhm
bG9hdCwgZmxvYXQzeDIpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdDN4MywgZmxv
YXQzeDMpOwotbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdDN4MywgZmxvYXQpOwotbmF0
aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzeDMpOwotbmF0aXZlIGZsb2F0M3g0
IG9wZXJhdG9yLyhmbG9hdDN4NCwgZmxvYXQzeDQpOwotbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9y
LyhmbG9hdDN4NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdCwgZmxv
YXQzeDQpOwotbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQ0eDIpOwot
bmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQpOwotbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQ0eDIpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9y
LyhmbG9hdDR4MywgZmxvYXQ0eDMpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4
MywgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQ0eDMpOwot
bmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLyhmbG9hdDR4NCwgZmxvYXQ0eDQpOwotbmF0aXZlIGZs
b2F0NHg0IG9wZXJhdG9yLyhmbG9hdDR4NCwgZmxvYXQpOwotbmF0aXZlIGZsb2F0NHg0IG9wZXJh
dG9yLyhmbG9hdCwgZmxvYXQ0eDQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHd6
eCAqLwotYm9vbDQgb3BlcmF0b3IueHd6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBv
cGVyYXRvci54d3p4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd6eChp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh3engoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHd3ICovCi1ib29sNCBv
cGVyYXRvci56eHd3KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVz
dWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp4d3co
dWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eHd3KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenh3dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
LyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5enggKi8KLWJvb2w0IG9wZXJhdG9yLnd5engo
Ym9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l6eCh1aW50NCB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd5engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci53eXp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iud3kgKi8KLWJvb2wyIG9wZXJhdG9yLnd5KGJvb2w0IHYpIHsKLSAgICBi
b29sMiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQyIG9wZXJhdG9yLnd5KHVpbnQ0IHYpIHsKLSAgICB1
aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDIgb3BlcmF0b3Iud3koaW50NCB2KSB7Ci0gICAgaW50
MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MiBvcGVyYXRvci53eShmbG9hdDQgdikgewotICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eXog
Ki8KLWJvb2w0IG9wZXJhdG9yLnd6eXooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iud3p5eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eXooaW50
NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enl6KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2ZpbmUgKi8KLWZsb2F0IGRkeV9maW5l
KGZsb2F0IHgpIHsKLSAgICByZXR1cm4gZGR5KHgpOwotfQotZmxvYXQyIGRkeV9maW5lKGZsb2F0
MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBd
KTsKLSAgICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzIGRkeV9maW5lKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBkZHlfZmluZSh4WzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0IGRkeV9maW5lKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBkZHlfZmluZSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBkZHlf
ZmluZSh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDIgZGR5X2ZpbmUoZmxv
YXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgZGR5X2Zp
bmUoZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFd
KTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotZmxvYXQyeDQgZGR5X2ZpbmUoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmlu
ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKLSAgICBy
ZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlf
ZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDIgZGR5X2ZpbmUoZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJd
WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDMgZGR5X2ZpbmUoZmxvYXQzeDMg
eCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1
bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmlu
ZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlf
ZmluZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAg
ICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQzeDQgZGR5X2ZpbmUoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmlu
ZSh4WzJdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZGR5X2ZpbmUoZmxv
YXQ0eDIgeCkgewotICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlf
ZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBk
ZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsK
LSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0g
PSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZGR5X2ZpbmUoZmxvYXQ0eDMgeCkg
ewotICAgIGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKLSAgICByZXN1
bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmlu
ZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlf
ZmluZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKLSAg
ICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotZmxvYXQ0eDQgZGR5X2ZpbmUoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsK
LSAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKLSAgICByZXN1bHRb
MV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKLSAgICByZXN1
bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfZmlu
ZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNdWzBdKTsKLSAgICBy
ZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBkZHlf
ZmluZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHlfZmluZSh4WzNdWzNdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHl6eCAq
LwotYm9vbDQgb3BlcmF0b3IueHl6eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVy
YXRvci54eXp4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0
LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnh5engodWlu
dDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYueDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHl6eCh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh5engoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3IueHl6eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQu
dyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh5engoZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54Owot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHl6eChmbG9hdDQgdikgewot
ICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2
Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd5eD0gKi8KLWJvb2w0
IG9wZXJhdG9yLnd5eD0oYm9vbDQgdiwgYm9vbDMgYykgewotICAgIGJvb2w0IHJlc3VsdCA9IHY7
Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0Lngg
PSBjLno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5eD0odWludDQg
diwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7
Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l4PShpbnQ0IHYsIGludDMgYykgewotICAgIGludDQg
cmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAg
ICByZXN1bHQueCA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnd5eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnggPSBjLno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6
eXkgKi8KLWJvb2w0IG9wZXJhdG9yLnd6eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9
IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iud3p5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd6eXko
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53enl5KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXd6ICovCi1ib29sMyBv
cGVyYXRvci55d3ooYm9vbDQgdikgewotICAgIGJvb2wzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotdWludDMgb3BlcmF0b3IueXd6KHVpbnQ0IHYpIHsKLSAgICB1aW50MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVz
dWx0LnogPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDMgb3BlcmF0b3IueXd6KGlu
dDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3Vs
dC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDMgb3BlcmF0b3IueXd6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgYW55ICovCi1ib29s
IGFueShib29sIHgpIHsKLSAgICByZXR1cm4geDsKLX0KLWJvb2wgYW55KGJvb2wyIHgpIHsKLSAg
ICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSk7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9v
bCBhbnkoYm9vbDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0pOwotICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55
KGJvb2w0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXSk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMl0pOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KHVpbnQgeCkgewotICAgIHJldHVybiB4ICE9IDA7
Ci19Ci1ib29sIGFueSh1aW50MiB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueSh1aW50MyB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkodWlu
dDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzNdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShpbnQgeCkgewotICAg
IHJldHVybiB4ICE9IDA7Ci19Ci1ib29sIGFueShpbnQyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9
IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKLSAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55
KGludDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKLSAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LWJvb2wgYW55KGludDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzNdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sIGFueShm
bG9hdCB4KSB7Ci0gICAgcmV0dXJuIHggIT0gMDsKLX0KLWJvb2wgYW55KGZsb2F0MiB4KSB7Ci0g
ICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0g
MCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sIGFueShmbG9hdDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0MngyIHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNl
OwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBd
ICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQyeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0g
ZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0
Mng0IHgpIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFswXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0g
IT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bM10gIT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0M3gyIHgp
IHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsw
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsxXVsxXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1ib29sIGFueShmbG9hdDN4MyB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbCBhbnkoZmxvYXQz
eDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzBdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsx
XVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NHgyIHgpIHsKLSAgICBib29s
IHJlc3VsdCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGZsb2F0NHgzIHgpIHsKLSAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVswXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsz
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1ib29sIGFueShmbG9hdDR4NCB4KSB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzBdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsK
LSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdWzBdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAh
PSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsy
XVswXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOwotICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVszXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOwotICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKLSAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bM10g
IT0gMCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGJvb2wyeDIgeCkgewotICAg
IGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLWJvb2wgYW55KGJvb2wyeDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55
KGJvb2wyeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMV1bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGJvb2wz
eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
MV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGJvb2wzeDMgeCkgewotICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1b
Ml07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWJv
b2wgYW55KGJvb2wzeDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMV1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bM107Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2wgYW55KGJvb2w0eDIgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11b
MF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMV07Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2wgYW55KGJvb2w0eDMgeCkgewotICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1b
MV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMV1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07Ci0g
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
Ml1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMl07Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWJvb2wgYW55KGJvb2w0eDQgeCkgewotICAgIGJvb2wgcmVzdWx0ID0g
ZmFsc2U7Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07Ci0gICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMF1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07Ci0gICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMF1bM107Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07
Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bM107Ci0gICAgcmVzdWx0ID0g
cmVzdWx0IHx8IHhbMl1bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMV07Ci0gICAg
cmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1b
M107Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMF07Ci0gICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbM11bMV07Ci0gICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMl07Ci0gICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbM11bM107Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVp
bnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKworCituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4s
IHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDx1aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPHVpbnQ0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PHVpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PHVpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8dWludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
dWludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTx1aW50ND4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PHVpbnQ0PiwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVD
dWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
dWludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8dWludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTx1aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPHVpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ+LCB0aHJlYWQgdWludCog
V2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50PiwgdGhyZWFk
IHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4s
IGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
RDxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludD4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTFEQXJyYXk8aW50PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludD4s
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxpbnQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGlu
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZUN1YmU8aW50PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CisKKworCisKKworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxRDxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCBkZXZpY2UgdWlu
dCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mj4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxp
bnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7
CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50
Mj4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4s
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxpbnQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mj4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDI+LCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQyPiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKKworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGlu
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworCisKKworCisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0
aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgZGV2aWNlIHVp
bnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDM+LCBk
ZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8
aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGlu
dDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEQXJyYXk8aW50Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDM+LCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGludDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQzPiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50Mz4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGlu
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxp
bnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxpbnQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGludDQ+LCBkZXZpY2UgdWludCogV2lk
dGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIGRldmljZSB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxpbnQ0Piwg
ZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxRDxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
KTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxp
bnQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8aW50ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0
PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGludDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
aW50ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxpbnQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxpbnQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8aW50ND4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGludDQ+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVw
dGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxp
bnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxpbnQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGlu
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8aW50ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGlu
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxpbnQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8aW50
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGludDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK
KworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWQg
dWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+
LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCBkZXZpY2UgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9h
dD4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworCituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdD4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+LCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMURBcnJheTxmbG9hdD4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUxREFycmF5PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5
PGZsb2F0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdD4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKKworCisKKworCisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIGRldmljZSB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDI+
LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mj4sIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoKTsKKworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MURBcnJheTxmbG9hdDI+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQy
PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTFEQXJyYXk8ZmxvYXQyPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0
Mj4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
RWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9h
dDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQyPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mj4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMURBcnJheTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJh
eTxmbG9hdDI+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDI+
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOwor
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkQ8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CisKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
Z3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBE
ZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+
LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXh3dyAqLwot
Ym9vbDQgb3BlcmF0b3IueXh3dyhib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRv
ci55eHd3KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXh3dyhpbnQ0IHYp
IHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9
IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl4d3coZmxvYXQ0IHYpIHsKLSAgICBmbG9h
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJldHVybiByZXN1bHQ7
Ci19CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQy
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3Vi
ZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8
ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQyPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0Mj4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9h
dDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDI+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAKLS8q
IEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eT0gKi8KLWJvb2wzIG9wZXJhdG9yLnp5PShib29s
MyB2LCBib29sMiBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMu
eDsKLSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotYm9vbDQgb3Bl
cmF0b3Iuenk9KGJvb2w0IHYsIGJvb2wyIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50MyBvcGVyYXRvci56eT0odWludDMgdiwgdWludDIgYykgewotICAgIHVpbnQzIHJl
c3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5PSh1aW50NCB2LCB1aW50MiBjKSB7
Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQu
eSA9IGMueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci56eT0oaW50MyB2
LCBpbnQyIGMpIHsKLSAgICBpbnQzIHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnogPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
enk9KGludDQgdiwgaW50MiBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56
ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDMgb3BlcmF0b3Iuenk9KGZsb2F0MyB2LCBmbG9hdDIgYykgewotICAgIGZsb2F0MyByZXN1bHQg
PSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55ID0gYy55OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenk9KGZsb2F0NCB2LCBmbG9hdDIgYykgewot
ICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC56ID0gYy54OwotICAgIHJlc3VsdC55
ID0gYy55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53eXogKi8KLWJvb2wzIG9wZXJhdG9yLnd5eihib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3Vs
dC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eXoodWlu
dDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50MyBvcGVyYXRvci53eXooaW50NCB2KSB7Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBvcGVyYXRvci53eXooZmxvYXQ0IHYpIHsKLSAgICBm
bG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9u
cyBuYW1lZCBvcGVyYXRvci55eHc9ICovCi1ib29sNCBvcGVyYXRvci55eHc9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAg
IHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci11aW50NCBvcGVyYXRvci55eHc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1aW50NCBy
ZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55OwotICAg
IHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl4
dz0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lnkg
PSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci55eHc9KGZsb2F0NCB2LCBmbG9hdDMgYykg
ewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC55ID0gYy54OwotICAgIHJlc3Vs
dC54ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAK
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eXh6ICovCi1ib29sNCBvcGVyYXRvci53eXh6
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAg
cmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnd5eHoodWludDQgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotaW50NCBvcGVyYXRvci53eXh6KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9h
dDQgb3BlcmF0b3Iud3l4eihmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0g
ICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIGRkeV9jb2Fyc2UgKi8KLWZsb2F0IGRkeV9jb2Fyc2UoZmxvYXQgeCkgewotICAgIHJl
dHVybiBkZHkoeCk7Ci19Ci1mbG9hdDIgZGR5X2NvYXJzZShmbG9hdDIgeCkgewotICAgIGZsb2F0
MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZGR5X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRb
MV0gPSBkZHlfY29hcnNlKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgZGR5
X2NvYXJzZShmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
ZGR5X2NvYXJzZSh4WzBdKTsKLSAgICByZXN1bHRbMV0gPSBkZHlfY29hcnNlKHhbMV0pOwotICAg
IHJlc3VsdFsyXSA9IGRkeV9jb2Fyc2UoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZs
b2F0NCBkZHlfY29hcnNlKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsx
XSk7Ci0gICAgcmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBk
ZHlfY29hcnNlKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBkZHlfY29h
cnNlKGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
ZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFd
ID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhb
MF1bMl0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBkZHlfY29h
cnNlKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVz
dWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHlf
Y29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1b
M10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4
MiBkZHlfY29hcnNlKGZsb2F0M3gyIHgpIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlf
Y29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1b
MF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGRkeV9jb2Fyc2UoZmxv
YXQzeDMgeCkgewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHlf
Y29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1b
MF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2Uo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRk
eV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4
KSB7Ci0gICAgZmxvYXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2Uo
eFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKLSAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRk
eV9jb2Fyc2UoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBd
KTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJz
ZSh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwotICAg
IHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0g
ZGR5X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1b
M10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgy
IHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJz
ZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGR5X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1b
MF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHlfY29h
cnNlKHhbM11bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBkZHlfY29hcnNl
KGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsy
XVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1
bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeV9j
b2Fyc2UoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NHg0IGRkeV9jb2Fy
c2UoZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0g
PSBkZHlfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFsw
XVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGRkeV9j
b2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsK
LSAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVsz
XSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4
WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwotICAgIHJl
c3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR5
X2NvYXJzZSh4WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0p
OwotICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNd
WzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKLSAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNl
KHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBv
cGVyYXRvci54eXp6ICovCi1ib29sNCBvcGVyYXRvci54eXp6KGJvb2wzIHYpIHsKLSAgICBib29s
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLWJvb2w0IG9wZXJhdG9yLnh5enooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYu
ejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3IueHl6eih1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3Vs
dC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci54eXp6KHVp
bnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVz
dWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHl6eihpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAg
ICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotaW50NCBvcGVyYXRvci54eXp6KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3Bl
cmF0b3IueHl6eihmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAgcmVz
dWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54eXp6
KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgZGV2aWNlIHVpbnQq
IFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0Mz4sIGRl
dmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxm
bG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQzPiwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0Mz4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8
ZmxvYXQzPiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDM+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVt
ZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4s
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDM+LCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQzPiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUx
REFycmF5PGZsb2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZs
b2F0Mz4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0Mz4sIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cyk7CisKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2
aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+
LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxl
bWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBF
bGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmlj
ZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJy
YXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRB
cnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVt
ZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2Ug
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZp
Y2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3Jv
dXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2Ug
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1
aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRo
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQz
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVw
dGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQzPiwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0
aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8
ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0Mz4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgZGV2aWNl
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
Mz4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDM+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZUN1YmU8ZmxvYXQzPiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVDdWJlPGZsb2F0Mz4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yKysgKi8KLXVpbnQgb3BlcmF0b3Ir
Kyh1aW50IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlICsgMTsKLX0KLWludCBvcGVyYXRvcisr
KGludCB2YWx1ZSkgewotICAgIHJldHVybiB2YWx1ZSArIDE7Ci19Ci1mbG9hdCBvcGVyYXRvcisr
KGZsb2F0IHZhbHVlKSB7Ci0gICAgcmV0dXJuIHZhbHVlICsgMTsKLX0KIAotLyogRnVuY3Rpb25z
IG5hbWVkIEludGVybG9ja2VkQW5kICovCi1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZp
Y2UgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJs
b2NrZWRBbmQoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50
Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwg
ZGV2aWNlIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY191
aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRB
bmQoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOwotbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQg
dWludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX2lu
dCosIGludCwgdGhyZWFkIGludCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFk
Z3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQgSW50
ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOwot
bmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50
LCB0aHJlYWRncm91cCB1aW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRn
cm91cCBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKIAotLyogRnVuY3Rpb25z
IG5hbWVkIG9wZXJhdG9yLnd5eng9ICovCi1ib29sNCBvcGVyYXRvci53eXp4PShib29sNCB2LCBi
b29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsKLSAg
ICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9IGMu
dzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iud3l6eD0odWludDQgdiwg
dWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0g
ICAgcmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBj
Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iud3l6eD0oaW50NCB2LCBp
bnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LncgPSBjLng7Ci0gICAg
cmVzdWx0LnkgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0LnggPSBjLnc7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eXp4PShmbG9hdDQgdiwg
ZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQudyA9IGMueDsK
LSAgICByZXN1bHQueSA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1bHQueCA9
IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0
b3IueHh3eCAqLwotYm9vbDQgb3BlcmF0b3IueHh3eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11
aW50NCBvcGVyYXRvci54eHd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iu
eHh3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9IHYu
eDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnh4d3goZmxvYXQ0IHYp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3d4ICovCi1i
b29sNCBvcGVyYXRvci54d3d4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9y
Lnh3d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsK
LSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1bHQudyA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci54d3d4KGludDQgdikg
ewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di53OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3IueHd3eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAg
cmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp5ICovCi1ib29sMiBvcGVyYXRvci56
eShib29sMyB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sMiBvcGVyYXRvci56
eShib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVyYXRvci56
eSh1aW50MyB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50MiBvcGVyYXRvci56
eSh1aW50NCB2KSB7Ci0gICAgdWludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnp5
KGludDMgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQyIG9wZXJhdG9yLnp5KGlu
dDQgdikgewotICAgIGludDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3Vs
dC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3IuenkoZmxv
YXQzIHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJl
c3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDIgb3BlcmF0b3Iuenko
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lkdGgpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMUQ8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRo
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEPGZsb2F0ND4sIHRocmVhZCB1
aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+
LCBkZXZpY2UgdWludCogV2lkdGgpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MUQ8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEPGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9hdDQ+LCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxRDxmbG9h
dDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCk7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci56eXl3ICovCi1ib29sNCBvcGVyYXRvci56eXl3KGJvb2w0IHYpIHsKLSAgICBib29sNCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVz
dWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LXVpbnQ0IG9wZXJhdG9yLnp5eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRv
ci56eXl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di53OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenl5dyhmbG9hdDQg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJy
YXk8ZmxvYXQ0PiwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxm
bG9hdDQ+LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIGRldmljZSB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFy
cmF5PGZsb2F0ND4sIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBFbGVtZW50cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMURB
cnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0Piwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBFbGVtZW50cyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUxREFycmF5PGZsb2F0ND4sIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogRWxlbWVudHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMURBcnJheTxmbG9hdDQ+LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2
aWNlIHVpbnQqIEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFE
QXJyYXk8ZmxvYXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8Zmxv
YXQ0PiwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTFEQXJyYXk8ZmxvYXQ0PiwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzKTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3enk9ICovCi1ib29sNCBvcGVyYXRvci54d3p5PShi
b29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9
IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICByZXN1
bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd6eT0o
dWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVz
dWx0LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueHd6eT0o
aW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBj
Lng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0gICAgcmVzdWx0
LnkgPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci54d3p5PShm
bG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQu
eCA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueiA9IGMuejsKLSAgICBy
ZXN1bHQueSA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRo
cmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkQ8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3Bl
cmF0b3J+ICovCi1ib29sIG9wZXJhdG9yfihib29sIHZhbHVlKSB7Ci0gICAgcmV0dXJuICF2YWx1
ZTsKLX0KLW5hdGl2ZSBpbnQgb3BlcmF0b3J+KGludCk7Ci1uYXRpdmUgdWludCBvcGVyYXRvcn4o
dWludCk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZp
Y2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQq
IEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8
ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJh
eTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBF
bGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRo
cmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUy
REFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJE
QXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRn
cm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFy
cmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2
ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVh
ZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBF
bGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRz
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1l
bnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlMkRBcnJheTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZTJEQXJyYXk8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUyREFycmF5PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdy
b3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CiAK
LS8qIEZ1bmN0aW9ucyBuYW1lZCBkZHggKi8KLW5hdGl2ZSBmbG9hdCBkZHgoZmxvYXQpOwotZmxv
YXQyIGRkeChmbG9hdDIgeCkgewotICAgIGZsb2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0g
ZGR4KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotZmxvYXQzIGRkeChmbG9hdDMgeCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdID0gZGR4KHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFdKTsKLSAgICByZXN1
bHRbMl0gPSBkZHgoeFsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBkZHgoZmxv
YXQ0IHgpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGRkeCh4WzBdKTsK
LSAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gZGR4KHhbMl0pOwot
ICAgIHJlc3VsdFszXSA9IGRkeCh4WzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQy
eDIgZGR4KGZsb2F0MngyIHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhb
MV1bMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MyBkZHgoZmxvYXQyeDMgeCkg
ewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRk
eCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDQgZGR4KGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDIgZGR4KGZsb2F0M3gyIHgpIHsKLSAg
ICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsx
XVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVsw
XSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGRkeChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQz
eDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwot
ICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOwotICAgIHJlc3VsdFsy
XVswXSA9IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7Ci0g
ICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDN4NCBkZHgoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3VsdDsKLSAgICByZXN1
bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0p
OwotICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBk
ZHgoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7
Ci0gICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGRk
eCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0
WzJdWzJdID0gZGR4KHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDIgZGR4KGZsb2F0NHgyIHgpIHsKLSAgICBm
bG9hdDR4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVsw
XSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9
IGRkeCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gZGR4KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFd
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0eDMgZGR4KGZsb2F0NHgzIHgpIHsKLSAg
ICBmbG9hdDR4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOwotICAg
IHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFsw
XVsyXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJd
WzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gZGR4KHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKLSAgICBy
ZXN1bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IGRkeChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9IGRkeCh4
WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gZGR4KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKLSAg
ICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4KHhb
Ml1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1b
Ml0gPSBkZHgoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOwotICAg
IHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHgoeFsz
XVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOwotICAgIHJlc3VsdFszXVsz
XSA9IGRkeCh4WzNdWzNdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQorbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhy
ZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZp
Y2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
M0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRp
dmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0
aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRo
cmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNl
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBk
ZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJl
YWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
dGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgdGhyZWFkIHVp
bnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNE
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBM
ZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWlu
dCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1
aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVp
Z2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWlu
dCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRl
dmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCog
RGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lk
dGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRn
cm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2Ug
dWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmlj
ZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBX
aWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwg
ZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhy
ZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4s
IHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVp
bnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIERlcHRo
LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRn
cm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBEZXB0aCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9h
dDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
ZGV2aWNlIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBE
ZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZTNEPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBk
ZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZsb2F0ND4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFk
IHVpbnQqIERlcHRoLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIERl
cHRoLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmUzRDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUz
RDxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFk
Z3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRGVwdGgsIHRocmVhZGdyb3VwIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZTNEPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIERlcHRoLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlM0Q8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRGVwdGgsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmUzRDxmbG9hdDQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBEZXB0aCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuenp5eCAqLwotYm9vbDQg
b3BlcmF0b3Iuenp5eChib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56enl4
KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp6eXgodWludDMgdikgewot
ICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYu
ejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iuenp5eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1p
bnQ0IG9wZXJhdG9yLnp6eXgoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3Iuenp5
eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICBy
ZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnp6eXgoZmxvYXQzIHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iuenp5eChmbG9hdDQgdikgewotICAgIGZsb2F0
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQg
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
Q3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
ZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJl
PGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFk
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZl
IHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBk
ZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwg
ZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZUN1YmU8ZmxvYXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRo
cmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxm
bG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlQ3ViZTxmbG9hdDQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZUN1YmU8Zmxv
YXQ0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3Vw
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0
ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZsb2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVDdWJlPGZs
b2F0ND4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKIAotLyog
RnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3enogKi8KLWJvb2w0IG9wZXJhdG9yLnh3enooYm9v
bDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3IueHd6eih1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53Owot
ICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnh3enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBv
cGVyYXRvci54d3p6KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQogCi0vKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3Iud3l3eCAqLwotYm9vbDQgb3BlcmF0b3Iud3l3eChib29sNCB2KSB7Ci0gICAg
Ym9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi55Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eXd4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQg
b3BlcmF0b3Iud3l3eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYudzsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYudzsKLSAgICByZXN1
bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnd5d3go
ZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAg
IHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54
OwotICAgIHJldHVybiByZXN1bHQ7Ci19CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tl
ZE1heCAqLwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY191aW50Kiwg
dWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBh
dG9taWNfaW50KiwgaW50LCB0aHJlYWQgaW50Kik7Ci1uYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1h
eChkZXZpY2UgYXRvbWljX3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOwotbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVh
ZGdyb3VwIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4
KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKLW5hdGl2ZSB2
b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBp
bnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY191aW50
KiwgdWludCwgZGV2aWNlIHVpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVh
ZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKLW5hdGl2ZSB2b2lkIEludGVy
bG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWlu
dCopOwotbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCos
IGludCwgdGhyZWFkZ3JvdXAgaW50Kik7CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBjb3NoICovCi1u
YXRpdmUgZmxvYXQgY29zaChmbG9hdCk7Ci1mbG9hdDIgY29zaChmbG9hdDIgeCkgewotICAgIGZs
b2F0MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKLSAgICByZXN1bHRbMV0g
PSBjb3NoKHhbMV0pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDMgY29zaChmbG9hdDMg
eCkgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKLSAg
ICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGNvc2goeFsyXSk7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBjb3NoKGZsb2F0NCB4KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGNv
c2goeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKLSAgICByZXN1bHRbM10gPSBj
b3NoKHhbM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4MiBjb3NoKGZsb2F0Mngy
IHgpIHsKLSAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBd
WzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVsw
XSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgY29zaChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxv
YXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBjb3NoKGZsb2F0Mng0IHgpIHsKLSAgICBmbG9h
dDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0g
PSBjb3NoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhb
MV1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4MiBjb3NoKGZsb2F0M3gyIHgp
IHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBd
KTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9
IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsy
XVsxXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0M3gzIGNvc2goZmxvYXQzeDMgeCkg
ewotICAgIGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0g
Y29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwotICAgIHJl
c3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFd
WzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsx
XSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQzeDQgY29zaChmbG9hdDN4NCB4KSB7Ci0gICAgZmxv
YXQzeDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBd
ID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOwotICAg
IHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gY29zaCh4
WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsK
LSAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDR4MiBjb3NoKGZsb2F0NHgyIHgpIHsKLSAgICBmbG9hdDR4MiByZXN1bHQ7Ci0gICAg
cmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhb
MF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFd
WzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwot
ICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gY29z
aCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci1mbG9hdDR4MyBjb3NoKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBjb3NoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBjb3No
KHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0p
OwotICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0g
Y29zaCh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhbM11bMV0pOwotICAgIHJl
c3VsdFszXVsyXSA9IGNvc2goeFszXVsyXSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NHg0IGNvc2goZmxvYXQ0eDQgeCkgewotICAgIGZsb2F0NHg0IHJlc3VsdDsKLSAgICByZXN1bHRb
MF1bMF0gPSBjb3NoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBj
b3NoKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Ci0gICAgcmVz
dWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gY29zaCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOwotICAg
IHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzNdID0gY29zaCh4
WzJdWzNdKTsKLSAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOwotICAgIHJlc3VsdFsz
XVsxXSA9IGNvc2goeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gY29zaCh4WzNdWzJdKTsK
LSAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOwotICAgIHJldHVybiByZXN1bHQ7Ci19
CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBkZHhfY29hcnNlICovCi1mbG9hdCBkZHhfY29hcnNlKGZs
b2F0IHgpIHsKLSAgICByZXR1cm4gZGR4KHgpOworCituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRo
LCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZp
Y2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0
aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMp
OworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0
aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxz
KTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyRDxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkQ8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBOdW1iZXJPZkxldmVscyk7CisKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURl
cHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhy
ZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWlu
dCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0
LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9p
ZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVs
LCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwg
dGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50
KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdl
dERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVs
ZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
IHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFk
Z3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhU
ZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdp
ZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCog
SGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhl
aWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9m
TGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxm
bG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWlu
dCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQq
IEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3Vw
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwg
dGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCog
TnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgy
REFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVp
Z2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRl
dmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVp
bnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUg
dm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExl
dmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3Vw
IHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZv
aWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZl
bCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1
aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWws
IGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2
b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2
ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQq
IEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0
RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2
aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWlu
dCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQq
IFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgs
IGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQq
IE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRo
MkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNl
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1
aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWlu
dCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51
bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRB
cnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3Jv
dXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1
aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91
cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJl
ck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8
ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVp
bnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1aW50KiBOdW1i
ZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJy
YXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJE
QXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIGRldmljZSB1aW50
KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0
aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRocmVhZGdy
b3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4
dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQq
IFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxlbWVudHMsIHRocmVh
ZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2Ug
dWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJl
RGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lk
dGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3Jv
dXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCog
V2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVtZW50cywgdGhyZWFk
IHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVy
ZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdp
ZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVudHMsIGRldmljZSB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91
cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBX
aWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMsIHRo
cmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRl
eHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50
KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVudHMs
IGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25z
KFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1
aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogRWxlbWVu
dHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVh
ZGdyb3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogRWxl
bWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkIHVpbnQqIEVsZW1l
bnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5z
aW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3Jv
dXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50
cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBFbGVt
ZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogRWxlbWVu
dHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91
cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRz
LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRn
cm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCog
RWxlbWVudHMsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJl
YWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWlu
dCogRWxlbWVudHMsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBH
ZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0
aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2
ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQs
IHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQg
TWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWln
aHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsK
K25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVp
bnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIHRocmVhZCB1aW50KiBFbGVtZW50cywgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3Vw
IHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWQgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdy
b3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCBkZXZpY2UgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFy
cmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVh
ZGdyb3VwIHVpbnQqIEhlaWdodCwgZGV2aWNlIHVpbnQqIEVsZW1lbnRzLCB0aHJlYWRncm91cCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aDJEQXJyYXk8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0
aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBFbGVtZW50cywg
dGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lvbnMo
VGV4dHVyZURlcHRoMkRBcnJheTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIEVs
ZW1lbnRzLCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFk
Z3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAg
dWludCogRWxlbWVudHMsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKKworbmF0
aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBM
ZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWQgdWlu
dCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVw
dGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQg
dWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQg
R2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhy
ZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBO
dW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1
YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXRE
aW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQg
dWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxl
dmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+
LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQs
IHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVu
c2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZCB1aW50
KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZM
ZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0
PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBI
ZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1l
bnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWQgdWlu
dCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhyZWFkZ3JvdXAgdWludCogTnVt
YmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJl
PGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCog
SGVpZ2h0LCB0aHJlYWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGlt
ZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZl
bHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0Piwg
dWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0
aHJlYWRncm91cCB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNp
b25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCog
V2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVscyk7
CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50
IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRldmljZSB1aW50KiBIZWlnaHQsIGRldmlj
ZSB1aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1
cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIGRl
dmljZSB1aW50KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25h
dGl2ZSB2b2lkIEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlw
TGV2ZWwsIGRldmljZSB1aW50KiBXaWR0aCwgdGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCB0aHJl
YWQgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0
dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgZGV2aWNlIHVpbnQqIFdpZHRoLCB0
aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIGRldmljZSB1aW50KiBOdW1iZXJPZkxldmVscyk7Citu
YXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1p
cExldmVsLCBkZXZpY2UgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdodCwgdGhy
ZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9u
cyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWlu
dCogV2lkdGgsIHRocmVhZCB1aW50KiBIZWlnaHQsIHRocmVhZCB1aW50KiBOdW1iZXJPZkxldmVs
cyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8ZmxvYXQ+LCB1
aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgdGhyZWFkIHVpbnQqIEhlaWdo
dCwgZGV2aWNlIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERpbWVuc2lv
bnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdyb3VwIHVp
bnQqIFdpZHRoLCB0aHJlYWQgdWludCogSGVpZ2h0LCB0aHJlYWRncm91cCB1aW50KiBOdW1iZXJP
ZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVEZXB0aEN1YmU8Zmxv
YXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwgZGV2aWNlIHVpbnQq
IEhlaWdodCwgdGhyZWFkIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lkIEdldERp
bWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRocmVhZGdy
b3VwIHVpbnQqIFdpZHRoLCBkZXZpY2UgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVy
T2ZMZXZlbHMpOworbmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZs
b2F0PiwgdWludCBNaXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIGRldmljZSB1aW50
KiBIZWlnaHQsIHRocmVhZGdyb3VwIHVpbnQqIE51bWJlck9mTGV2ZWxzKTsKK25hdGl2ZSB2b2lk
IEdldERpbWVuc2lvbnMoVGV4dHVyZURlcHRoQ3ViZTxmbG9hdD4sIHVpbnQgTWlwTGV2ZWwsIHRo
cmVhZGdyb3VwIHVpbnQqIFdpZHRoLCB0aHJlYWRncm91cCB1aW50KiBIZWlnaHQsIHRocmVhZCB1
aW50KiBOdW1iZXJPZkxldmVscyk7CituYXRpdmUgdm9pZCBHZXREaW1lbnNpb25zKFRleHR1cmVE
ZXB0aEN1YmU8ZmxvYXQ+LCB1aW50IE1pcExldmVsLCB0aHJlYWRncm91cCB1aW50KiBXaWR0aCwg
dGhyZWFkZ3JvdXAgdWludCogSGVpZ2h0LCBkZXZpY2UgdWludCogTnVtYmVyT2ZMZXZlbHMpOwor
bmF0aXZlIHZvaWQgR2V0RGltZW5zaW9ucyhUZXh0dXJlRGVwdGhDdWJlPGZsb2F0PiwgdWludCBN
aXBMZXZlbCwgdGhyZWFkZ3JvdXAgdWludCogV2lkdGgsIHRocmVhZGdyb3VwIHVpbnQqIEhlaWdo
dCwgdGhyZWFkZ3JvdXAgdWludCogTnVtYmVyT2ZMZXZlbHMpOworCisvKiBGdW5jdGlvbnMgbmFt
ZWQgb3BlcmF0b3IrICovCituYXRpdmUgaW50IG9wZXJhdG9yKyhpbnQsIGludCk7CituYXRpdmUg
dWludCBvcGVyYXRvcisodWludCwgdWludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3IrKGZsb2F0
LCBmbG9hdCk7CituYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyLCB1aW50Mik7CituYXRpdmUg
dWludDIgb3BlcmF0b3IrKHVpbnQsIHVpbnQyKTsKK25hdGl2ZSB1aW50MiBvcGVyYXRvcisodWlu
dDIsIHVpbnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yKyh1aW50MywgdWludDMpOworbmF0aXZl
IHVpbnQzIG9wZXJhdG9yKyh1aW50LCB1aW50Myk7CituYXRpdmUgdWludDMgb3BlcmF0b3IrKHVp
bnQzLCB1aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvcisodWludDQsIHVpbnQ0KTsKK25hdGl2
ZSB1aW50NCBvcGVyYXRvcisodWludCwgdWludDQpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1
aW50NCwgdWludCk7CituYXRpdmUgaW50MiBvcGVyYXRvcisoaW50MiwgaW50Mik7CituYXRpdmUg
aW50MiBvcGVyYXRvcisoaW50LCBpbnQyKTsKK25hdGl2ZSBpbnQyIG9wZXJhdG9yKyhpbnQyLCBp
bnQpOworbmF0aXZlIGludDMgb3BlcmF0b3IrKGludDMsIGludDMpOworbmF0aXZlIGludDMgb3Bl
cmF0b3IrKGludCwgaW50Myk7CituYXRpdmUgaW50MyBvcGVyYXRvcisoaW50MywgaW50KTsKK25h
dGl2ZSBpbnQ0IG9wZXJhdG9yKyhpbnQ0LCBpbnQ0KTsKK25hdGl2ZSBpbnQ0IG9wZXJhdG9yKyhp
bnQsIGludDQpOworbmF0aXZlIGludDQgb3BlcmF0b3IrKGludDQsIGludCk7CituYXRpdmUgZmxv
YXQyIG9wZXJhdG9yKyhmbG9hdDIsIGZsb2F0Mik7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhm
bG9hdCwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDIgb3BlcmF0b3IrKGZsb2F0MiwgZmxvYXQpOwor
bmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzLCBmbG9hdDMpOworbmF0aXZlIGZsb2F0MyBv
cGVyYXRvcisoZmxvYXQsIGZsb2F0Myk7CituYXRpdmUgZmxvYXQzIG9wZXJhdG9yKyhmbG9hdDMs
IGZsb2F0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0NCwgZmxvYXQ0KTsKK25hdGl2
ZSBmbG9hdDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDQpOworbmF0aXZlIGZsb2F0NCBvcGVyYXRv
cisoZmxvYXQ0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBm
bG9hdDJ4Mik7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4Mik7Citu
YXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQz
eDIgb3BlcmF0b3IrKGZsb2F0M3gyLCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0
b3IrKGZsb2F0LCBmbG9hdDN4Mik7CituYXRpdmUgZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0M3gy
LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdDR4Mik7
CituYXRpdmUgZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4Mik7CituYXRpdmUgZmxv
YXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyLCBmbG9hdCk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0
b3IrKGZsb2F0MngzLCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0
LCBmbG9hdDJ4Myk7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0MngzLCBmbG9hdCk7
CituYXRpdmUgZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzLCBmbG9hdDN4Myk7CituYXRpdmUg
ZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4Myk7CituYXRpdmUgZmxvYXQzeDMgb3Bl
cmF0b3IrKGZsb2F0M3gzLCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0
NHgzLCBmbG9hdDR4Myk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDR4
Myk7CituYXRpdmUgZmxvYXQ0eDMgb3BlcmF0b3IrKGZsb2F0NHgzLCBmbG9hdCk7CituYXRpdmUg
ZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQyeDQg
b3BlcmF0b3IrKGZsb2F0LCBmbG9hdDJ4NCk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZs
b2F0Mng0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0LCBmbG9h
dDN4NCk7CituYXRpdmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdDN4NCk7CituYXRp
dmUgZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQ0eDQg
b3BlcmF0b3IrKGZsb2F0NHg0LCBmbG9hdDR4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3Ir
KGZsb2F0LCBmbG9hdDR4NCk7CituYXRpdmUgZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0LCBm
bG9hdCk7CituYXRpdmUgdWludDIgb3BlcmF0b3IrKHVpbnQyKTsKK25hdGl2ZSB1aW50MyBvcGVy
YXRvcisodWludDMpOworbmF0aXZlIHVpbnQ0IG9wZXJhdG9yKyh1aW50NCk7CituYXRpdmUgaW50
MiBvcGVyYXRvcisoaW50Mik7CituYXRpdmUgaW50MyBvcGVyYXRvcisoaW50Myk7CituYXRpdmUg
aW50NCBvcGVyYXRvcisoaW50NCk7CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIpOwor
bmF0aXZlIGZsb2F0MyBvcGVyYXRvcisoZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3Ir
KGZsb2F0NCk7CituYXRpdmUgZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyKTsKK25hdGl2ZSBm
bG9hdDN4MiBvcGVyYXRvcisoZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9yKyhm
bG9hdDR4Mik7CituYXRpdmUgZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0MngzKTsKK25hdGl2ZSBm
bG9hdDN4MyBvcGVyYXRvcisoZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yKyhm
bG9hdDR4Myk7CituYXRpdmUgZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0KTsKK25hdGl2ZSBm
bG9hdDN4NCBvcGVyYXRvcisoZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yKyhm
bG9hdDR4NCk7CisKKy8qIEZ1bmN0aW9ucyBuYW1lZCBmcmFjICovCitmbG9hdCBmcmFjKGZsb2F0
IHgpIHsKKyAgICByZXR1cm4geCAtIGZsb29yKHgpOwogfQotZmxvYXQyIGRkeF9jb2Fyc2UoZmxv
YXQyIHgpIHsKK2Zsb2F0MiBmcmFjKGZsb2F0MiB4KSB7CiAgICAgZmxvYXQyIHJlc3VsdDsKLSAg
ICByZXN1bHRbMF0gPSBkZHhfY29hcnNlKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGRkeF9jb2Fy
c2UoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBm
cmFjKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMgZGR4X2NvYXJzZShmbG9h
dDMgeCkgeworZmxvYXQzIGZyYWMoZmxvYXQzIHgpIHsKICAgICBmbG9hdDMgcmVzdWx0OwotICAg
IHJlc3VsdFswXSA9IGRkeF9jb2Fyc2UoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4X2NvYXJz
ZSh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHhfY29hcnNlKHhbMl0pOworICAgIHJlc3VsdFsw
XSA9IGZyYWMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZnJhYyh4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBmcmFjKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgZGR4X2NvYXJz
ZShmbG9hdDQgeCkgeworZmxvYXQ0IGZyYWMoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdFswXSA9IGRkeF9jb2Fyc2UoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZGR4
X2NvYXJzZSh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBkZHhfY29hcnNlKHhbMl0pOwotICAgIHJl
c3VsdFszXSA9IGRkeF9jb2Fyc2UoeFszXSk7CisgICAgcmVzdWx0WzBdID0gZnJhYyh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZyYWMoeFsyXSk7
CisgICAgcmVzdWx0WzNdID0gZnJhYyh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxv
YXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7CitmbG9hdDJ4MiBmcmFjKGZsb2F0MngyIHgp
IHsKICAgICBmbG9hdDJ4MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4
WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQyeDMgZGR4X2Nv
YXJzZShmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4
X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
Mng0IGRkeF9jb2Fyc2UoZmxvYXQyeDQgeCkgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICBy
ZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJd
KTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwotICAgIHJlc3VsdFsx
XVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJz
ZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7CitmbG9hdDN4MiBmcmFjKGZsb2F0
M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZy
YWMoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGRkeF9jb2Fyc2Uo
ZmxvYXQzeDIgeCkgewotICAgIGZsb2F0M3gyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBk
ZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRb
MV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fy
c2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKK2Zs
b2F0NHgyIGZyYWMoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBmcmFjKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0M3gzIGRkeF9jb2Fyc2UoZmxvYXQzeDMgeCkgeworZmxvYXQyeDMgZnJh
YyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBmcmFj
KGZsb2F0M3gzIHgpIHsKICAgICBmbG9hdDN4MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1b
MV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29h
cnNlKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0g
PSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFj
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLWZsb2F0M3g0IGRkeF9jb2Fyc2UoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOwotICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJz
ZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1bM10pOwotICAg
IHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFdID0g
ZGR4X2NvYXJzZSh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1b
Ml0pOwotICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7Ci0gICAgcmVzdWx0
WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29h
cnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7Ci0g
ICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKK2Zsb2F0NHgzIGZyYWMoZmxv
YXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFj
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGZyYWMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgZGR4X2NvYXJzZShmbG9hdDR4MiB4KSB7Ci0g
ICAgZmxvYXQ0eDIgcmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKLSAgICByZXN1bHRb
MV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fy
c2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKLSAg
ICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9
IGRkeF9jb2Fyc2UoeFszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNd
WzFdKTsKK2Zsb2F0Mng0IGZyYWMoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZy
YWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIGRkeF9jb2Fyc2UoZmxvYXQ0eDMgeCkgewotICAg
IGZsb2F0NHgzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OwotICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNl
KHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAg
cmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKLSAgICByZXN1bHRbMl1bMF0gPSBk
ZHhfY29hcnNlKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsx
XSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKLSAgICByZXN1bHRb
M11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fy
c2UoeFszXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKK2Zs
b2F0M3g0IGZyYWMoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZnJhYyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJh
Yyh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDQgZGR4X2NvYXJzZShm
bG9hdDR4NCB4KSB7CitmbG9hdDR4NCBmcmFjKGZsb2F0NHg0IHgpIHsKICAgICBmbG9hdDR4NCBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKLSAgICByZXN1
bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGRkeF9j
b2Fyc2UoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsK
LSAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4
WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwotICAgIHJl
c3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gZGR4
X2NvYXJzZSh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0p
OwotICAgIHJlc3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7Ci0gICAgcmVzdWx0WzNd
WzBdID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNl
KHhbM11bMV0pOwotICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7Ci0gICAg
cmVzdWx0WzNdWzNdID0gZGR4X2NvYXJzZSh4WzNdWzNdKTsKKyAgICByZXN1bHRbMF1bMF0gPSBm
cmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZyYWMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGZy
YWMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bM10gPSBmcmFjKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHo9ICovCi1ib29sNCBvcGVyYXRvci53eHo9KGJvb2w0
IHYsIGJvb2wzIGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54
OwotICAgIHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50NCBvcGVyYXRvci53eHo9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKLSAgICB1
aW50NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAgIHJlc3VsdC54ID0gYy55
OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJh
dG9yLnd4ej0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVz
dWx0LncgPSBjLng7Ci0gICAgcmVzdWx0LnggPSBjLnk7Ci0gICAgcmVzdWx0LnogPSBjLno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53eHo9KGZsb2F0NCB2LCBmbG9h
dDMgYykgewotICAgIGZsb2F0NCByZXN1bHQgPSB2OwotICAgIHJlc3VsdC53ID0gYy54OwotICAg
IHJlc3VsdC54ID0gYy55OwotICAgIHJlc3VsdC56ID0gYy56OwotICAgIHJldHVybiByZXN1bHQ7
Ci19CisvKiBGdW5jdGlvbnMgbmFtZWQgc3RvcmUgKi8KK25hdGl2ZSB2b2lkIHN0b3JlKGRldmlj
ZSBhdG9taWNfaW50KiwgaW50KTsKK25hdGl2ZSB2b2lkIHN0b3JlKGRldmljZSBhdG9taWNfdWlu
dCosIHVpbnQpOworbmF0aXZlIHZvaWQgc3RvcmUodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGlu
dCk7CituYXRpdmUgdm9pZCBzdG9yZSh0aHJlYWRncm91cCBhdG9taWNfdWludCosIHVpbnQpOwog
Ci0vKiBGdW5jdGlvbnMgbmFtZWQgZmlyc3RiaXRoaWdoICovCi11aW50IGZpcnN0Yml0aGlnaCh1
aW50IHgpIHsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMzEpKSAhPSAwKQotICAgICAgICByZXR1
cm4gMDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMzApKSAhPSAwKQotICAgICAgICByZXR1cm4g
MTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjkpKSAhPSAwKQotICAgICAgICByZXR1cm4gMjsK
LSAgICBpZiAoKHggJiB1aW50KDEgPDwgMjgpKSAhPSAwKQotICAgICAgICByZXR1cm4gMzsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMjcpKSAhPSAwKQotICAgICAgICByZXR1cm4gNDsKLSAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMjYpKSAhPSAwKQotICAgICAgICByZXR1cm4gNTsKLSAgICBpZiAo
KHggJiB1aW50KDEgPDwgMjUpKSAhPSAwKQotICAgICAgICByZXR1cm4gNjsKLSAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMjQpKSAhPSAwKQotICAgICAgICByZXR1cm4gNzsKLSAgICBpZiAoKHggJiB1
aW50KDEgPDwgMjMpKSAhPSAwKQotICAgICAgICByZXR1cm4gODsKLSAgICBpZiAoKHggJiB1aW50
KDEgPDwgMjIpKSAhPSAwKQotICAgICAgICByZXR1cm4gOTsKLSAgICBpZiAoKHggJiB1aW50KDEg
PDwgMjEpKSAhPSAwKQotICAgICAgICByZXR1cm4gMTA7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8
IDIwKSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIDExOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAx
OSkpICE9IDApCi0gICAgICAgIHJldHVybiAxMjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTgp
KSAhPSAwKQotICAgICAgICByZXR1cm4gMTM7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE3KSkg
IT0gMCkKLSAgICAgICAgcmV0dXJuIDE0OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNikpICE9
IDApCi0gICAgICAgIHJldHVybiAxNTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAw
KQotICAgICAgICByZXR1cm4gMTY7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDE0KSkgIT0gMCkK
LSAgICAgICAgcmV0dXJuIDE3OwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMykpICE9IDApCi0g
ICAgICAgIHJldHVybiAxODsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQotICAg
ICAgICByZXR1cm4gMTk7Ci0gICAgaWYgKCh4ICYgdWludCgxIDw8IDExKSkgIT0gMCkKLSAgICAg
ICAgcmV0dXJuIDIwOwotICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMCkpICE9IDApCi0gICAgICAg
IHJldHVybiAyMTsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgOSkpICE9IDApCi0gICAgICAgIHJl
dHVybiAyMjsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgOCkpICE9IDApCi0gICAgICAgIHJldHVy
biAyMzsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgNykpICE9IDApCi0gICAgICAgIHJldHVybiAy
NDsKLSAgICBpZiAoKHggJiB1aW50KDEgPDwgNikpICE9IDApCi0gICAgICAgIHJldHVybiAyNTsK
LSAgICBpZiAoKHggJiB1aW50KDEgPDwgNSkpICE9IDApCi0gICAgICAgIHJldHVybiAyNjsKLSAg
ICBpZiAoKHggJiB1aW50KDEgPDwgNCkpICE9IDApCi0gICAgICAgIHJldHVybiAyNzsKLSAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMykpICE9IDApCi0gICAgICAgIHJldHVybiAyODsKLSAgICBpZiAo
KHggJiB1aW50KDEgPDwgMikpICE9IDApCi0gICAgICAgIHJldHVybiAyOTsKLSAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMSkpICE9IDApCi0gICAgICAgIHJldHVybiAzMDsKLSAgICBpZiAoKHggJiB1
aW50KDEgPDwgMCkpICE9IDApCi0gICAgICAgIHJldHVybiAzMTsKLSAgICByZXR1cm4gMzI7Cisv
KiBGdW5jdGlvbnMgbmFtZWQgcmVmcmFjdCAqLworZmxvYXQgcmVmcmFjdChmbG9hdCBpLCBmbG9h
dCBuLCBmbG9hdCBldGEpIHsKKyAgICBmbG9hdCByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEgLSBl
dGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAwKQor
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChu
LCBpKSArIHNxcnQoaykpICogbjsKIH0KLXVpbnQgZmlyc3RiaXRoaWdoKGludCB4KSB7Ci0gICAg
cmV0dXJuIGZpcnN0Yml0aGlnaCh1aW50KHgpKTsKK2Zsb2F0MiByZWZyYWN0KGZsb2F0MiBpLCBm
bG9hdDIgbiwgZmxvYXQgZXRhKSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBmbG9hdCBrID0g
MSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAoayA8
IDApCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICog
ZG90KG4sIGkpICsgc3FydChrKSkgKiBuOwogfQotdWludDIgZmlyc3RiaXRoaWdoKHVpbnQyIHgp
IHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0p
OwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKK2Zsb2F0MyByZWZyYWN0KGZs
b2F0MyBpLCBmbG9hdDMgbiwgZmxvYXQgZXRhKSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICBm
bG9hdCBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKKyAg
ICBpZiAoayA8IDApCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkg
LSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBuOworfQorZmxvYXQ0IHJlZnJhY3QoZmxv
YXQ0IGksIGZsb2F0NCBuLCBmbG9hdCBldGEpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIGZs
b2F0IGsgPSAxIC0gZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAg
IGlmIChrIDwgMCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAt
IChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGspKSAqIG47Cit9CisKKy8qIEZ1bmN0aW9ucyBuYW1l
ZCBsb2cxMCAqLworZmxvYXQgbG9nMTAoZmxvYXQgeCkgeworICAgIHJldHVybiBsb2coeCkgLyBs
b2coZmxvYXQoMTApKTsKK30KK2Zsb2F0MiBsb2cxMChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbG9nMTAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9n
MTAoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQzIGZpcnN0Yml0aGlnaCh1aW50
MyB4KSB7Ci0gICAgdWludDMgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7Ci0gICAgcmVzdWx0WzJd
ID0gZmlyc3RiaXRoaWdoKHhbMl0pOworZmxvYXQzIGxvZzEwKGZsb2F0MyB4KSB7CisgICAgZmxv
YXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBsb2cxMCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotdWludDQgZmlyc3RiaXRoaWdoKHVpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9
IGZpcnN0Yml0aGlnaCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7
Ci0gICAgcmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOworZmxvYXQ0IGxvZzEwKGZsb2F0
NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2cxMCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBsb2cxMCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsb2cxMCh4WzJd
KTsKKyAgICByZXN1bHRbM10gPSBsb2cxMCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDIgZmlyc3RiaXRoaWdoKGludDIgeCkgewotICAgIHVpbnQyIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdo
KHhbMV0pOworZmxvYXQyeDIgbG9nMTAoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDMgZmlyc3RiaXRoaWdoKGludDMgeCkgewotICAgIHVpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdo
KHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKK2Zsb2F0M3gyIGxv
ZzEwKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9n
MTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0
IGZpcnN0Yml0aGlnaChpbnQ0IHgpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRoaWdoKHhbMF0pOwotICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFd
KTsKLSAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7Ci0gICAgcmVzdWx0WzNdID0g
Zmlyc3RiaXRoaWdoKHhbM10pOworZmxvYXQ0eDIgbG9nMTAoZmxvYXQ0eDIgeCkgeworICAgIGZs
b2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBsb2cxMCh4WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgbG9nMTAo
ZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMg
bG9nMTAoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBs
b2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMg
bG9nMTAoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBsb2cxMCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgbG9nMTAo
ZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
b2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cxMCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQzeDQgbG9nMTAoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBs
b2cxMCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cxMCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBsb2cxMCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBsb2cxMCh4WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0eDQgbG9nMTAoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBsb2cxMCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cxMCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cxMCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBsb2cxMCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cxMCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cxMCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBsb2cxMCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2cxMCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cxMCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cx
MCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cxMCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBsb2cxMCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cxMCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2cxMCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBsb2cxMCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bM10gPSBsb2cxMCh4WzNdWzNdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp6
eSAqLwotYm9vbDQgb3BlcmF0b3IueHp6eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi55OworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLyAq
LworbmF0aXZlIGludCBvcGVyYXRvci8oaW50LCBpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3Iv
KHVpbnQsIHVpbnQpOworbmF0aXZlIGZsb2F0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQpOworbmF0
aXZlIHVpbnQyIG9wZXJhdG9yLyh1aW50MiwgdWludDIpOworbmF0aXZlIHVpbnQyIG9wZXJhdG9y
Lyh1aW50MiwgdWludCk7CituYXRpdmUgdWludDIgb3BlcmF0b3IvKHVpbnQsIHVpbnQyKTsKK25h
dGl2ZSB1aW50MyBvcGVyYXRvci8odWludDMsIHVpbnQzKTsKK25hdGl2ZSB1aW50MyBvcGVyYXRv
ci8odWludDMsIHVpbnQpOworbmF0aXZlIHVpbnQzIG9wZXJhdG9yLyh1aW50LCB1aW50Myk7Citu
YXRpdmUgdWludDQgb3BlcmF0b3IvKHVpbnQ0LCB1aW50NCk7CituYXRpdmUgdWludDQgb3BlcmF0
b3IvKHVpbnQ0LCB1aW50KTsKK25hdGl2ZSB1aW50NCBvcGVyYXRvci8odWludCwgdWludDQpOwor
bmF0aXZlIGludDIgb3BlcmF0b3IvKGludDIsIGludDIpOworbmF0aXZlIGludDIgb3BlcmF0b3Iv
KGludDIsIGludCk7CituYXRpdmUgaW50MiBvcGVyYXRvci8oaW50LCBpbnQyKTsKK25hdGl2ZSBp
bnQzIG9wZXJhdG9yLyhpbnQzLCBpbnQzKTsKK25hdGl2ZSBpbnQzIG9wZXJhdG9yLyhpbnQzLCBp
bnQpOworbmF0aXZlIGludDMgb3BlcmF0b3IvKGludCwgaW50Myk7CituYXRpdmUgaW50NCBvcGVy
YXRvci8oaW50NCwgaW50NCk7CituYXRpdmUgaW50NCBvcGVyYXRvci8oaW50NCwgaW50KTsKK25h
dGl2ZSBpbnQ0IG9wZXJhdG9yLyhpbnQsIGludDQpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvci8o
ZmxvYXQyLCBmbG9hdDIpOworbmF0aXZlIGZsb2F0MiBvcGVyYXRvci8oZmxvYXQyLCBmbG9hdCk7
CituYXRpdmUgZmxvYXQyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyKTsKK25hdGl2ZSBmbG9hdDMg
b3BlcmF0b3IvKGZsb2F0MywgZmxvYXQzKTsKK25hdGl2ZSBmbG9hdDMgb3BlcmF0b3IvKGZsb2F0
MywgZmxvYXQpOworbmF0aXZlIGZsb2F0MyBvcGVyYXRvci8oZmxvYXQsIGZsb2F0Myk7CituYXRp
dmUgZmxvYXQ0IG9wZXJhdG9yLyhmbG9hdDQsIGZsb2F0NCk7CituYXRpdmUgZmxvYXQ0IG9wZXJh
dG9yLyhmbG9hdDQsIGZsb2F0KTsKK25hdGl2ZSBmbG9hdDQgb3BlcmF0b3IvKGZsb2F0LCBmbG9h
dDQpOworbmF0aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdDJ4MiwgZmxvYXQyeDIpOworbmF0
aXZlIGZsb2F0MngyIG9wZXJhdG9yLyhmbG9hdDJ4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0Mngy
IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhm
bG9hdDN4MiwgZmxvYXQzeDIpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhmbG9hdDN4Miwg
ZmxvYXQpOworbmF0aXZlIGZsb2F0M3gyIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQzeDIpOworbmF0
aXZlIGZsb2F0NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0
NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiwgZmxvYXQpOworbmF0aXZlIGZsb2F0NHgyIG9wZXJhdG9y
LyhmbG9hdCwgZmxvYXQ0eDIpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4Mywg
ZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4MywgZmxvYXQpOwor
bmF0aXZlIGZsb2F0MngzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDMpOworbmF0aXZlIGZsb2F0
M3gzIG9wZXJhdG9yLyhmbG9hdDN4MywgZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJh
dG9yLyhmbG9hdDN4MywgZmxvYXQpOworbmF0aXZlIGZsb2F0M3gzIG9wZXJhdG9yLyhmbG9hdCwg
ZmxvYXQzeDMpOworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4MywgZmxvYXQ0eDMp
OworbmF0aXZlIGZsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4MywgZmxvYXQpOworbmF0aXZlIGZs
b2F0NHgzIG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQ0eDMpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJh
dG9yLyhmbG9hdDJ4NCwgZmxvYXQyeDQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9h
dDJ4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQyeDQp
OworbmF0aXZlIGZsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdDN4NCwgZmxvYXQzeDQpOworbmF0aXZl
IGZsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdDN4NCwgZmxvYXQpOworbmF0aXZlIGZsb2F0M3g0IG9w
ZXJhdG9yLyhmbG9hdCwgZmxvYXQzeDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLyhmbG9h
dDR4NCwgZmxvYXQ0eDQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLyhmbG9hdDR4NCwgZmxv
YXQpOworbmF0aXZlIGZsb2F0NHg0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQ0eDQpOworCisvKiBG
dW5jdGlvbnMgbmFtZWQgZGR5X2ZpbmUgKi8KK2Zsb2F0IGRkeV9maW5lKGZsb2F0IHgpIHsKKyAg
ICByZXR1cm4gZGR5KHgpOworfQorZmxvYXQyIGRkeV9maW5lKGZsb2F0MiB4KSB7CisgICAgZmxv
YXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBkZHlfZmluZSh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0
b3IueHp6eShib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54
OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi55OworZmxvYXQzIGRkeV9maW5lKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHlfZmlu
ZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHlfZmluZSh4WzJdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDQgb3BlcmF0b3IueHp6eSh1aW50MyB2KSB7Ci0gICAgdWludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0IGRkeV9maW5lKGZsb2F0NCB4KSB7
CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfZmluZSh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHlfZmluZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHlfZmluZSh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHlfZmluZSh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotdWludDQgb3BlcmF0b3IueHp6eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0Owot
ICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0g
di56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyeDIgZGR5X2ZpbmUoZmxvYXQyeDIgeCkg
eworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4
WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enp5KGludDMg
dikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55
ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQz
eDIgZGR5X2ZpbmUoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmlu
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlf
ZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci54enp5KGludDQgdikgewotICAgIGlu
dDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi56OwotICAg
IHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDIgZGR5X2ZpbmUo
ZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBk
ZHlfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHlfZmluZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNd
WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6enkoZmxvYXQz
IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3Vs
dC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxv
YXQyeDMgZGR5X2ZpbmUoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlf
ZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnh6enkoZmxvYXQ0IHYpIHsK
LSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0g
di56OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMg
ZGR5X2ZpbmUoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmlu
ZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
ZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3Iuend6eCAq
LwotYm9vbDQgb3BlcmF0b3Iuend6eChib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDMgZGR5X2ZpbmUoZmxvYXQ0eDMgeCkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfZmluZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmlu
ZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQot
dWludDQgb3BlcmF0b3Iuend6eCh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi56Owot
ICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgZGR5X2ZpbmUoZmxvYXQyeDQgeCkgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfZmluZSh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56d3p4KGludDQgdikgewotICAgIGludDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQzeDQgZGR5X2ZpbmUoZmxvYXQzeDQg
eCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmlu
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHlfZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlf
ZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfZmluZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp3engoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0eDQgZGR5X2ZpbmUoZmxvYXQ0eDQg
eCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfZmluZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfZmluZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZHlfZmluZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfZmlu
ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfZmluZSh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHlfZmluZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlf
ZmluZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfZmluZSh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBkZHlfZmluZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHlfZmluZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHlfZmluZSh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMl0gPSBkZHlfZmluZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHlfZmluZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfZmluZSh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHlfZmluZSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
M10gPSBkZHlfZmluZSh4WzNdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5j
dGlvbnMgbmFtZWQgb3BlcmF0b3IueXl6dyAqLwotYm9vbDQgb3BlcmF0b3IueXl6dyhib29sNCB2
KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55
ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi53OwotICAgIHJl
dHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgYW55ICovCitib29sIGFueShib29sIHgp
IHsKKyAgICByZXR1cm4geDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5encodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55KGJvb2wy
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotaW50NCBvcGVyYXRvci55eXp3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56
OwotICAgIHJlc3VsdC53ID0gdi53OworYm9vbCBhbnkoYm9vbDMgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXp3KGZsb2F0NCB2KSB7Ci0gICAg
ZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55KGJvb2w0
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMl0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnh3eHcgKi8KLWJvb2w0
IG9wZXJhdG9yLnh3eHcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICBy
ZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OworYm9vbCBhbnkodWludCB4KSB7Cisg
ICAgcmV0dXJuIHggIT0gMDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh3eHcodWludDQgdikgewotICAg
IHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsK
LSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55KHVpbnQy
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueHd4dyhpbnQ0IHYpIHsKLSAgICBpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYudzsKK2Jvb2wgYW55KHVpbnQzIHgpIHsKKyAg
ICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueHd4dyhmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0
LncgPSB2Lnc7Citib29sIGFueSh1aW50NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIHJjcCAqLwotZmxvYXQgcmNwKGZsb2F0IHgpIHsKLSAgICBy
ZXR1cm4gMSAvIHg7Citib29sIGFueShpbnQgeCkgeworICAgIHJldHVybiB4ICE9IDA7CiB9Ci1m
bG9hdDIgcmNwKGZsb2F0MiB4KSB7Ci0gICAgZmxvYXQyIHJlc3VsdDsKLSAgICByZXN1bHRbMF0g
PSByY3AoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOworYm9vbCBhbnkoaW50MiB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci1mbG9hdDMgcmNwKGZsb2F0MyB4KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsK
LSAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOwot
ICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsKK2Jvb2wgYW55KGludDMgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCByY3AoZmxvYXQ0IHgp
IHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKLSAgICBy
ZXN1bHRbMV0gPSByY3AoeFsxXSk7Ci0gICAgcmVzdWx0WzJdID0gcmNwKHhbMl0pOwotICAgIHJl
c3VsdFszXSA9IHJjcCh4WzNdKTsKK2Jvb2wgYW55KGludDQgeCkgeworICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDJ4MiByY3AoZmxvYXQyeDIgeCkgewotICAgIGZsb2F0MngyIHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1
bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Citib29sIGFueShmbG9hdCB4KSB7CisgICAgcmV0dXJu
IHggIT0gMDsKK30KK2Jvb2wgYW55KGZsb2F0MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDJ4MyByY3Ao
ZmxvYXQyeDMgeCkgewotICAgIGZsb2F0MngzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBy
Y3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3Vs
dFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7
Ci0gICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJj
cCh4WzFdWzJdKTsKK2Jvb2wgYW55KGZsb2F0MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDQgcmNwKGZsb2F0Mng0IHgpIHsKLSAgICBm
bG9hdDJ4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJl
c3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsy
XSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9
IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVz
dWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNd
KTsKK2Jvb2wgYW55KGZsb2F0NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
M3gyIHJjcChmbG9hdDN4MiB4KSB7Ci0gICAgZmxvYXQzeDIgcmVzdWx0OwotICAgIHJlc3VsdFsw
XVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJd
WzFdID0gcmNwKHhbMl1bMV0pOworYm9vbCBhbnkoZmxvYXQyeDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDAp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MyByY3AoZmxvYXQzeDMgeCkgewotICAg
IGZsb2F0M3gzIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKLSAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7Ci0gICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKLSAgICBy
ZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1b
MV0pOwotICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKK2Jvb2wgYW55KGZsb2F0M3gy
IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1mbG9hdDN4NCByY3AoZmxvYXQzeDQgeCkgewotICAgIGZsb2F0M3g0IHJlc3Vs
dDsKLSAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKLSAgICByZXN1
bHRbMF1bM10gPSByY3AoeFswXVszXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBy
Y3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwotICAgIHJlc3Vs
dFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7
Ci0gICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IHJj
cCh4WzJdWzNdKTsKK2Jvb2wgYW55KGZsb2F0NHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZh
bHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJd
WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWZsb2F0NHgyIHJjcChmbG9hdDR4MiB4KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0Owot
ICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSByY3Ao
eFswXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsx
XVsxXSA9IHJjcCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7Ci0g
ICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3VsdFszXVswXSA9IHJjcCh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7Citib29sIGFueShmbG9h
dDJ4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0eDMgcmNwKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyBy
ZXN1bHQ7Ci0gICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsx
XSA9IHJjcCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFd
WzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7Ci0gICAgcmVzdWx0WzJdWzBd
ID0gcmNwKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKLSAgICBy
ZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzBdID0gcmNwKHhbM11b
MF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0g
PSByY3AoeFszXVsyXSk7Citib29sIGFueShmbG9hdDN4MyB4KSB7CisgICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
eDQgcmNwKGZsb2F0NHg0IHgpIHsKLSAgICBmbG9hdDR4NCByZXN1bHQ7Ci0gICAgcmVzdWx0WzBd
WzBdID0gcmNwKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKLSAg
ICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gcmNwKHhb
MF1bM10pOwotICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwotICAg
IHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKLSAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsy
XVswXSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwotICAgIHJlc3VsdFsyXVsy
XSA9IHJjcCh4WzJdWzJdKTsKLSAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7Ci0gICAg
cmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNd
WzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSByY3AoeFszXVsyXSk7Ci0gICAgcmVzdWx0WzNdWzNd
ID0gcmNwKHhbM11bM10pOworYm9vbCBhbnkoZmxvYXQ0eDMgeCkgeworICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd4enggKi8KLWJvb2w0IG9wZXJhdG9yLnd4
engoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
eDsKK2Jvb2wgYW55KGZsb2F0Mng0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnd4engodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Jvb2wgYW55KGZsb2F0M3g0IHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsw
XVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQ0IG9wZXJhdG9yLnd4engoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7Citib29sIGFueShmbG9hdDR4NCB4KSB7CisgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMF0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbM11bM10gIT0gMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBv
cGVyYXRvci53eHp4KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICBy
ZXN1bHQudyA9IHYueDsKK2Jvb2wgYW55KGJvb2wyeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0g
ZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVu
Y3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd6eSAqLwotYm9vbDMgb3BlcmF0b3Iud3p5KGJvb2w0IHYp
IHsKLSAgICBib29sMyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0Lnkg
PSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Citib29sIGFueShib29sM3gyIHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJd
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzFdOwogICAgIHJldHVy
biByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci53enkodWludDQgdikgewotICAgIHVpbnQzIHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1
bHQueiA9IHYueTsKK2Jvb2wgYW55KGJvb2w0eDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8IHhbMV1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbM11bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMV07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
Ml1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbM11bMV07CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLWludDMgb3BlcmF0b3Iud3p5KGludDQgdikgewotICAgIGludDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55
OworYm9vbCBhbnkoYm9vbDJ4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFsxXVsyXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQzIG9wZXJh
dG9yLnd6eShmbG9hdDQgdikgewotICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Citib29sIGFueShi
b29sM3gzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzBdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCB8fCB4WzJdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzJdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzJdWzJdOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHcgKi8KLWJv
b2wzIG9wZXJhdG9yLnp4dyhib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OworYm9v
bCBhbnkoYm9vbDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsz
XVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVsxXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsyXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsyXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotdWludDMgb3BlcmF0b3Iuenh3KHVpbnQ0IHYpIHsKLSAgICB1aW50MyByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnc7Citib29sIGFueShib29sMng0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4
WzFdWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzFdOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCB4WzFdWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzJdOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCB4WzFdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzBdWzNd
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB4WzFdWzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci1pbnQzIG9wZXJhdG9yLnp4dyhpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Jv
b2wgYW55KGJvb2wzeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8IHhbMF1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMF07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMF07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhb
MF1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMV1bMV07CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8IHhbMl1bMV07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bMl07CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8IHhbMV1bMl07CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bMl07
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMF1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
IHhbMV1bM107CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHhbMl1bM107CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLWZsb2F0MyBvcGVyYXRvci56eHcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3Vs
dC56ID0gdi53OworYm9vbCBhbnkoYm9vbDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgeFsxXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVswXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgeFszXVswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsy
XVsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsxXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgeFswXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsxXVsyXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgeFsyXVsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFszXVsyXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFswXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
eFsxXVszXTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgeFsyXVszXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgeFszXVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBGdW5jdGlvbnMg
bmFtZWQgb3BlcmF0b3Iuenh5eSAqLwotYm9vbDQgb3BlcmF0b3Iuenh5eShib29sMyB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1ib29sNCBvcGVyYXRvci56eHl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVp
bnQ0IG9wZXJhdG9yLnp4eXkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3BlcmF0b3Iu
enh5eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56Owot
ICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di55OwotICAgIHJldHVybiByZXN1bHQ7CisvKiBGdW5jdGlvbnMgbmFtZWQgZGR5X2NvYXJzZSAq
LworZmxvYXQgZGR5X2NvYXJzZShmbG9hdCB4KSB7CisgICAgcmV0dXJuIGRkeSh4KTsKIH0KLWlu
dDQgb3BlcmF0b3Iuenh5eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICBy
ZXN1bHQudyA9IHYueTsKK2Zsb2F0MiBkZHlfY29hcnNlKGZsb2F0MiB4KSB7CisgICAgZmxvYXQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGRkeV9jb2Fyc2UoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0
b3Iuenh5eShpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsK
LSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9
IHYueTsKK2Zsb2F0MyBkZHlfY29hcnNlKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9j
b2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp4eXkoZmxvYXQzIHYpIHsKK2Zsb2F0NCBk
ZHlfY29hcnNlKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKKyAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5X2NvYXJzZSh4WzJd
KTsKKyAgICByZXN1bHRbM10gPSBkZHlfY29hcnNlKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenh5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0Lnog
PSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MiBkZHlfY29hcnNlKGZsb2F0Mngy
IHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJz
ZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR5X2NvYXJzZSh4WzFdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlv
bnMgbmFtZWQgb3BlcmF0b3IueXl5eSAqLwotYm9vbDQgb3BlcmF0b3IueXl5eShib29sMiB2KSB7
Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDIg
ZGR5X2NvYXJzZShmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2Nv
YXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhb
Ml1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci55eXl5KGJvb2wz
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9h
dDR4MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBk
ZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fy
c2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1ib29sNCBvcGVyYXRvci55eXl5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2
Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBkZHlfY29hcnNlKGZsb2F0MngzIHgp
IHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnl5eXkodWludDIgdikgewotICAgIHVpbnQ0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gzIGRkeV9jb2Fyc2UoZmxvYXQz
eDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29h
cnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9j
b2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3IueXl5eSh1aW50MyB2KSB7Ci0g
ICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDMgZGR5
X2NvYXJzZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJz
ZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAg
IHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBkZHlfY29hcnNlKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVy
YXRvci55eXl5KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7CitmbG9hdDJ4NCBkZHlfY29hcnNlKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJz
ZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnl5eXkoaW50MiB2KSB7Ci0gICAgaW50
NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAg
cmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDN4NCBkZHlfY29hcnNl
KGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1b
MF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29h
cnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9j
b2Fyc2UoeFsyXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3IueXl5
eShpbnQzIHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICBy
ZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsK
K2Zsb2F0NHg0IGRkeV9jb2Fyc2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4
WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0p
OworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNl
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBk
ZHlfY29hcnNlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1bHRb
M11bM10gPSBkZHlfY29hcnNlKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0
IG9wZXJhdG9yLnl5eXkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0Lngg
PSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVz
dWx0LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9w
ZXJhdG9yKysgKi8KK3VpbnQgb3BlcmF0b3IrKyh1aW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZh
bHVlICsgMTsKIH0KLWZsb2F0NCBvcGVyYXRvci55eXl5KGZsb2F0MiB2KSB7Ci0gICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICBy
ZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0Owor
aW50IG9wZXJhdG9yKysoaW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKIH0KLWZs
b2F0NCBvcGVyYXRvci55eXl5KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsK
LSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgb3BlcmF0b3Ir
KyhmbG9hdCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSArIDE7CiB9Ci1mbG9hdDQgb3BlcmF0
b3IueXl5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2
Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0
LncgPSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworLyogRnVuY3Rpb25zIG5hbWVkIEludGVy
bG9ja2VkQW5kICovCituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX3Vp
bnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2
aWNlIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9j
a2VkQW5kKGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIGRldmljZSB1aW50Kik7CituYXRpdmUg
dm9pZCBJbnRlcmxvY2tlZEFuZChkZXZpY2UgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCop
OworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwg
dGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQoZGV2aWNlIGF0
b21pY19pbnQqLCBpbnQsIHRocmVhZGdyb3VwIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2Nr
ZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWQgdWludCopOworbmF0
aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhy
ZWFkIGludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWlj
X3VpbnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRBbmQo
dGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgZGV2aWNlIGludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRBbmQodGhyZWFkZ3JvdXAgYXRvbWljX3VpbnQqLCB1aW50LCB0aHJlYWRncm91
cCB1aW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZEFuZCh0aHJlYWRncm91cCBhdG9taWNf
aW50KiwgaW50LCB0aHJlYWRncm91cCBpbnQqKTsKKworLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJh
dG9yfiAqLworYm9vbCBvcGVyYXRvcn4oYm9vbCB2YWx1ZSkgeworICAgIHJldHVybiAhdmFsdWU7
CiB9CituYXRpdmUgaW50IG9wZXJhdG9yfihpbnQpOworbmF0aXZlIHVpbnQgb3BlcmF0b3J+KHVp
bnQpOwogCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp3eD0gKi8KLWJvb2w0IG9wZXJh
dG9yLnl6d3g9KGJvb2w0IHYsIGJvb2w0IGMpIHsKLSAgICBib29sNCByZXN1bHQgPSB2OwotICAg
IHJlc3VsdC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56
OwotICAgIHJlc3VsdC54ID0gYy53OworLyogRnVuY3Rpb25zIG5hbWVkIGRkeCAqLworbmF0aXZl
IGZsb2F0IGRkeChmbG9hdCk7CitmbG9hdDIgZGR4KGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4KHhb
MV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55end4PSh1aW50NCB2
LCB1aW50NCBjKSB7Ci0gICAgdWludDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueSA9IGMueDsK
LSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQudyA9IGMuejsKLSAgICByZXN1bHQueCA9
IGMudzsKK2Zsb2F0MyBkZHgoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGRkeCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gZGR4KHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9y
Lnl6d3g9KGludDQgdiwgaW50NCBjKSB7Ci0gICAgaW50NCByZXN1bHQgPSB2OwotICAgIHJlc3Vs
dC55ID0gYy54OwotICAgIHJlc3VsdC56ID0gYy55OwotICAgIHJlc3VsdC53ID0gYy56OwotICAg
IHJlc3VsdC54ID0gYy53OworZmxvYXQ0IGRkeChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeCh4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZGR4KHhbM10p
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueXp3eD0oZmxvYXQ0IHYs
IGZsb2F0NCBjKSB7Ci0gICAgZmxvYXQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnkgPSBjLng7
Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LncgPSBjLno7Ci0gICAgcmVzdWx0Lngg
PSBjLnc7CitmbG9hdDJ4MiBkZHgoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4
KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBkZHgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotLyogRnVuY3Rp
b25zIG5hbWVkIG9wZXJhdG9yLnp6eHkgKi8KLWJvb2w0IG9wZXJhdG9yLnp6eHkoYm9vbDMgdikg
ewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9
IHYuejsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0M3gy
IGRkeChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR4KHhbMl1bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1ib29sNCBvcGVyYXRvci56
enh5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0g
ICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2
Lnk7CitmbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50NCBvcGVyYXRvci56enh5KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0Lnog
PSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4MyBkZHgoZmxvYXQyeDMgeCkgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotdWludDQgb3BlcmF0b3Iuenp4eSh1aW50NCB2KSB7Ci0gICAg
dWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56Owot
ICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQzeDMgZGR4KGZs
b2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4
KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsyXVsyXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iuenp4eShpbnQzIHYpIHsKLSAgICBp
bnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYuejsKLSAg
ICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueTsKK2Zsb2F0NHgzIGRkeChmbG9h
dDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZGR4KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHgoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnp6eHkoaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkgeworICAg
IGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1b
M10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3Iuenp4eShmbG9hdDMg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0
LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lnk7CitmbG9h
dDN4NCBkZHgoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZGR4KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9wZXJhdG9yLnp6eHkoZmxvYXQ0IHYpIHsKLSAg
ICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi56
OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQ0eDQgZGR4
KGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR4KHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4KHhbM11bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRk
eCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR4
KHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBm
d2lkdGggKi8KKy8qIEZ1bmN0aW9ucyBuYW1lZCBJbnRlcmxvY2tlZE1heCAqLworbmF0aXZlIHZv
aWQgSW50ZXJsb2NrZWRNYXgoZGV2aWNlIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkIHVpbnQq
KTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0
aHJlYWQgaW50Kik7CituYXRpdmUgdm9pZCBJbnRlcmxvY2tlZE1heChkZXZpY2UgYXRvbWljX3Vp
bnQqLCB1aW50LCBkZXZpY2UgdWludCopOworbmF0aXZlIHZvaWQgSW50ZXJsb2NrZWRNYXgoZGV2
aWNlIGF0b21pY19pbnQqLCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9j
a2VkTWF4KGRldmljZSBhdG9taWNfdWludCosIHVpbnQsIHRocmVhZGdyb3VwIHVpbnQqKTsKK25h
dGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KGRldmljZSBhdG9taWNfaW50KiwgaW50LCB0aHJlYWRn
cm91cCBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21p
Y191aW50KiwgdWludCwgdGhyZWFkIHVpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4
KHRocmVhZGdyb3VwIGF0b21pY19pbnQqLCBpbnQsIHRocmVhZCBpbnQqKTsKK25hdGl2ZSB2b2lk
IEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY191aW50KiwgdWludCwgZGV2aWNlIHVp
bnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdyb3VwIGF0b21pY19pbnQq
LCBpbnQsIGRldmljZSBpbnQqKTsKK25hdGl2ZSB2b2lkIEludGVybG9ja2VkTWF4KHRocmVhZGdy
b3VwIGF0b21pY191aW50KiwgdWludCwgdGhyZWFkZ3JvdXAgdWludCopOworbmF0aXZlIHZvaWQg
SW50ZXJsb2NrZWRNYXgodGhyZWFkZ3JvdXAgYXRvbWljX2ludCosIGludCwgdGhyZWFkZ3JvdXAg
aW50Kik7CiAKLWZsb2F0IGZ3aWR0aChmbG9hdCB4KSB7Ci0gICAgcmV0dXJuIGFicyhkZHgoeCkp
ICsgYWJzKGRkeSh4KSk7Ci19Ci1mbG9hdDIgZndpZHRoKGZsb2F0MiB4KSB7CisvKiBGdW5jdGlv
bnMgbmFtZWQgY29zaCAqLworbmF0aXZlIGZsb2F0IGNvc2goZmxvYXQpOworZmxvYXQyIGNvc2go
ZmxvYXQyIHgpIHsKICAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdFswXSA9IGZ3aWR0aCh4
WzBdKTsKLSAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmVzdWx0WzBdID0gY29z
aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1mbG9hdDMgZndpZHRoKGZsb2F0MyB4KSB7CitmbG9hdDMgY29zaChmbG9hdDMgeCkgewog
ICAgIGZsb2F0MyByZXN1bHQ7Ci0gICAgcmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOwotICAgIHJl
c3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsKLSAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsyXSk7Cisg
ICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGNvc2goeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0
NCBmd2lkdGgoZmxvYXQ0IHgpIHsKK2Zsb2F0NCBjb3NoKGZsb2F0NCB4KSB7CiAgICAgZmxvYXQ0
IHJlc3VsdDsKLSAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7Ci0gICAgcmVzdWx0WzFdID0g
ZndpZHRoKHhbMV0pOwotICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKLSAgICByZXN1bHRb
M10gPSBmd2lkdGgoeFszXSk7CisgICAgcmVzdWx0WzBdID0gY29zaCh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBjb3NoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvc2goeFsyXSk7CisgICAgcmVz
dWx0WzNdID0gY29zaCh4WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQyeDIgZndp
ZHRoKGZsb2F0MngyIHgpIHsKK2Zsb2F0MngyIGNvc2goZmxvYXQyeDIgeCkgewogICAgIGZsb2F0
MngyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAgcmVz
dWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4
WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLWZsb2F0MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7Ci0gICAgZmxvYXQyeDMg
cmVzdWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1b
Ml0pOwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1b
MV0gPSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0p
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDJ4NCBmd2lkdGgoZmxvYXQyeDQgeCkgewot
ICAgIGZsb2F0Mng0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7
Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9
IGZ3aWR0aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3
aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOworICAgIHJlc3VsdFswXVswXSA9IGNvc2go
eFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0M3gyIGZ3aWR0aChmbG9hdDN4MiB4KSB7Citm
bG9hdDN4MiBjb3NoKGZsb2F0M3gyIHgpIHsKICAgICBmbG9hdDN4MiByZXN1bHQ7Ci0gICAgcmVz
dWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4
WzBdWzFdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0gICAgcmVzdWx0
WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWZsb2F0M3gzIGZ3aWR0aChmbG9hdDN4MyB4KSB7Ci0gICAgZmxvYXQzeDMgcmVz
dWx0OwotICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0p
OwotICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0g
PSBmd2lkdGgoeFsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwot
ICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBm
d2lkdGgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDN4NCBmd2lkdGgoZmxvYXQzeDQgeCkgewotICAgIGZs
b2F0M3g0IHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7Ci0gICAg
cmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0
aCh4WzBdWzJdKTsKLSAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFswXVszXSk7Ci0gICAgcmVz
dWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4
WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAgcmVzdWx0
WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOwotICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJd
WzBdKTsKLSAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7Ci0gICAgcmVzdWx0WzJd
WzJdID0gZndpZHRoKHhbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGZ3aWR0aCh4WzJdWzNd
KTsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9
IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQotZmxvYXQ0eDIgZndpZHRoKGZsb2F0NHgyIHgpIHsKK2Zsb2F0NHgyIGNvc2goZmxv
YXQ0eDIgeCkgewogICAgIGZsb2F0NHgyIHJlc3VsdDsKLSAgICByZXN1bHRbMF1bMF0gPSBmd2lk
dGgoeFswXVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOwotICAgIHJl
c3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKLSAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgo
eFsxXVsxXSk7Ci0gICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3Vs
dFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFsz
XVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOworICAgIHJlc3VsdFsw
XVswXSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNv
c2goeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zaCh4WzNdWzFdKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQotZmxvYXQ0eDMgZndpZHRoKGZsb2F0NHgzIHgpIHsKLSAgICBmbG9hdDR4MyByZXN1bHQ7
Ci0gICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9
IGZ3aWR0aCh4WzBdWzFdKTsKLSAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7Ci0g
ICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGZ3
aWR0aCh4WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0
aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOwotICAgIHJlc3VsdFszXVsxXSA9IGZ3aWR0aCh4
WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7CitmbG9hdDJ4MyBj
b3NoKGZsb2F0MngzIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGNvc2goeFsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHg0IGZ3
aWR0aChmbG9hdDR4NCB4KSB7Ci0gICAgZmxvYXQ0eDQgcmVzdWx0OwotICAgIHJlc3VsdFswXVsw
XSA9IGZ3aWR0aCh4WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOwotICAgIHJlc3VsdFswXVszXSA9
IGZ3aWR0aCh4WzBdWzNdKTsKLSAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7Ci0g
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOwotICAgIHJlc3VsdFsxXVsyXSA9IGZ3
aWR0aCh4WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7Ci0gICAg
cmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOwotICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0
aCh4WzJdWzFdKTsKLSAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7Ci0gICAgcmVz
dWx0WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOwotICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4
WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7Ci0gICAgcmVzdWx0
WzNdWzJdID0gZndpZHRoKHhbM11bMl0pOwotICAgIHJlc3VsdFszXVszXSA9IGZ3aWR0aCh4WzNd
WzNdKTsKK2Zsb2F0M3gzIGNvc2goZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNv
c2goeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi0K
LS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56PSAqLwotbmF0aXZlIGJvb2wzIG9wZXJhdG9y
Lno9KGJvb2wzLCBib29sKTsKLW5hdGl2ZSBib29sNCBvcGVyYXRvci56PShib29sNCwgYm9vbCk7
Ci1uYXRpdmUgdWludDMgb3BlcmF0b3Iuej0odWludDMsIHVpbnQpOwotbmF0aXZlIHVpbnQ0IG9w
ZXJhdG9yLno9KHVpbnQ0LCB1aW50KTsKLW5hdGl2ZSBpbnQzIG9wZXJhdG9yLno9KGludDMsIGlu
dCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci56PShpbnQ0LCBpbnQpOwotbmF0aXZlIGZsb2F0MyBv
cGVyYXRvci56PShmbG9hdDMsIGZsb2F0KTsKLW5hdGl2ZSBmbG9hdDQgb3BlcmF0b3Iuej0oZmxv
YXQ0LCBmbG9hdCk7Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54PSAqLwotbmF0aXZl
IGJvb2wyIG9wZXJhdG9yLng9KGJvb2wyLCBib29sKTsKLW5hdGl2ZSBib29sMyBvcGVyYXRvci54
PShib29sMywgYm9vbCk7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3IueD0oYm9vbDQsIGJvb2wpOwot
bmF0aXZlIHVpbnQyIG9wZXJhdG9yLng9KHVpbnQyLCB1aW50KTsKLW5hdGl2ZSB1aW50MyBvcGVy
YXRvci54PSh1aW50MywgdWludCk7Ci1uYXRpdmUgdWludDQgb3BlcmF0b3IueD0odWludDQsIHVp
bnQpOwotbmF0aXZlIGludDIgb3BlcmF0b3IueD0oaW50MiwgaW50KTsKLW5hdGl2ZSBpbnQzIG9w
ZXJhdG9yLng9KGludDMsIGludCk7Ci1uYXRpdmUgaW50NCBvcGVyYXRvci54PShpbnQ0LCBpbnQp
OwotbmF0aXZlIGZsb2F0MiBvcGVyYXRvci54PShmbG9hdDIsIGZsb2F0KTsKLW5hdGl2ZSBmbG9h
dDMgb3BlcmF0b3IueD0oZmxvYXQzLCBmbG9hdCk7Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLng9
KGZsb2F0NCwgZmxvYXQpOwotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHk9ICovCi1u
YXRpdmUgYm9vbDIgb3BlcmF0b3IueHk9KGJvb2wyLCBib29sMik7Ci1uYXRpdmUgYm9vbDMgb3Bl
cmF0b3IueHk9KGJvb2wzLCBib29sMik7Ci1uYXRpdmUgYm9vbDQgb3BlcmF0b3IueHk9KGJvb2w0
LCBib29sMik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IueHk9KHVpbnQyLCB1aW50Mik7Ci1uYXRp
dmUgdWludDMgb3BlcmF0b3IueHk9KHVpbnQzLCB1aW50Mik7Ci1uYXRpdmUgdWludDQgb3BlcmF0
b3IueHk9KHVpbnQ0LCB1aW50Mik7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci54eT0oaW50MiwgaW50
Mik7Ci1uYXRpdmUgaW50MyBvcGVyYXRvci54eT0oaW50MywgaW50Mik7Ci1uYXRpdmUgaW50NCBv
cGVyYXRvci54eT0oaW50NCwgaW50Mik7Ci1uYXRpdmUgZmxvYXQyIG9wZXJhdG9yLnh5PShmbG9h
dDIsIGZsb2F0Mik7Ci1uYXRpdmUgZmxvYXQzIG9wZXJhdG9yLnh5PShmbG9hdDMsIGZsb2F0Mik7
Ci1uYXRpdmUgZmxvYXQ0IG9wZXJhdG9yLnh5PShmbG9hdDQsIGZsb2F0Mik7Ci0KLS8qIEZ1bmN0
aW9ucyBuYW1lZCBvcGVyYXRvci55eHcgKi8KLWJvb2wzIG9wZXJhdG9yLnl4dyhib29sNCB2KSB7
Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0g
di54OwotICAgIHJlc3VsdC56ID0gdi53OworZmxvYXQ0eDMgY29zaChmbG9hdDR4MyB4KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3No
KHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
Y29zaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjb3NoKHhbM11bMl0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci11aW50MyBvcGVyYXRvci55eHcodWludDQgdikgewotICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9
IHYudzsKK2Zsb2F0Mng0IGNvc2goZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNv
c2goeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBjb3NoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0b3IueXh3KGludDQgdikgewotICAgIGludDMg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJl
c3VsdC56ID0gdi53OworZmxvYXQzeDQgY29zaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29z
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9h
dDMgb3BlcmF0b3IueXh3KGZsb2F0NCB2KSB7Ci0gICAgZmxvYXQzIHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsKK2Zs
b2F0NHg0IGNvc2goZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVsw
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3NoKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29z
aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zaCh4WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eHd5ICovCi1ib29sNCBvcGVyYXRv
ci54eHd5KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lnk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKy8qIEZ1bmN0aW9ucyBuYW1lZCBkZHhfY29hcnNl
ICovCitmbG9hdCBkZHhfY29hcnNlKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZGR4KHgpOwogfQot
dWludDQgb3BlcmF0b3IueHh3eSh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJl
c3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53Owot
ICAgIHJlc3VsdC53ID0gdi55OworZmxvYXQyIGRkeF9jb2Fyc2UoZmxvYXQyIHgpIHsKKyAgICBm
bG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9jb2Fyc2UoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBv
cGVyYXRvci54eHd5KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0g
di54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3Vs
dC53ID0gdi55OworZmxvYXQzIGRkeF9jb2Fyc2UoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9jb2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
ZGR4X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHhfY29hcnNlKHhbMl0pOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHh3eShmbG9hdDQgdikgeworZmxv
YXQ0IGRkeF9jb2Fyc2UoZmxvYXQ0IHgpIHsKICAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi55OworICAgIHJlc3VsdFswXSA9IGRkeF9jb2Fyc2UoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHhfY29hcnNl
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeF9jb2Fyc2UoeFszXSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnl3ICovCi1ib29sMiBvcGVy
YXRvci55dyhib29sNCB2KSB7Ci0gICAgYm9vbDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55
OwotICAgIHJlc3VsdC55ID0gdi53OworZmxvYXQyeDIgZGR4X2NvYXJzZShmbG9hdDJ4MiB4KSB7
CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFsw
XVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9j
b2Fyc2UoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQyIG9wZXJhdG9yLnl3
KHVpbnQ0IHYpIHsKLSAgICB1aW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lnc7CitmbG9hdDN4MiBkZHhfY29hcnNlKGZsb2F0M3gyIHgpIHsKKyAgICBm
bG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LWludDIgb3BlcmF0b3IueXcoaW50NCB2KSB7Ci0gICAgaW50MiByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7CitmbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0
NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2Nv
YXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZGR4X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhf
Y29hcnNlKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDIgb3BlcmF0b3Iu
eXcoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDIgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55Owot
ICAgIHJlc3VsdC55ID0gdi53OworZmxvYXQyeDMgZGR4X2NvYXJzZShmbG9hdDJ4MyB4KSB7Cisg
ICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVsw
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fy
c2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci56eHd4ICovCi1ib29sNCBvcGVyYXRv
ci56eHd4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lno7
Ci0gICAgcmVzdWx0LnkgPSB2Lng7Ci0gICAgcmVzdWx0LnogPSB2Lnc7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CitmbG9hdDN4MyBkZHhfY29hcnNlKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LXVpbnQ0IG9wZXJhdG9yLnp4d3godWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICBy
ZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYudzsK
LSAgICByZXN1bHQudyA9IHYueDsKK2Zsb2F0NHgzIGRkeF9jb2Fyc2UoZmxvYXQ0eDMgeCkgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1b
MF0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29h
cnNlKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9j
b2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRvci56eHd4KGludDQgdikgewotICAg
IGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54Owot
ICAgIHJlc3VsdC56ID0gdi53OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQyeDQgZGR4X2Nv
YXJzZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4
X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0
IG9wZXJhdG9yLnp4d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi53OwotICAg
IHJlc3VsdC53ID0gdi54OworZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CisgICAg
ZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2Uo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJz
ZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBkZHhfY29hcnNlKGZsb2F0NHg0IHgpIHsKKyAg
ICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsy
XVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJz
ZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhfY29h
cnNlKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsy
XVszXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR4X2NvYXJzZSh4WzNdWzNdKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueXp5eSAqLwotYm9v
bDQgb3BlcmF0b3IueXp5eShib29sMyB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7CisKKy8qIEZ1bmN0aW9ucyBuYW1l
ZCBmaXJzdGJpdGhpZ2ggKi8KK3VpbnQgZmlyc3RiaXRoaWdoKHVpbnQgeCkgeworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAzMSkpICE9IDApCisgICAgICAgIHJldHVybiAwOworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCAzMCkpICE9IDApCisgICAgICAgIHJldHVybiAxOworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCAyOSkpICE9IDApCisgICAgICAgIHJldHVybiAyOworICAgIGlmICgoeCAmIHVpbnQo
MSA8PCAyOCkpICE9IDApCisgICAgICAgIHJldHVybiAzOworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCAyNykpICE9IDApCisgICAgICAgIHJldHVybiA0OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAy
NikpICE9IDApCisgICAgICAgIHJldHVybiA1OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNSkp
ICE9IDApCisgICAgICAgIHJldHVybiA2OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyNCkpICE9
IDApCisgICAgICAgIHJldHVybiA3OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMykpICE9IDAp
CisgICAgICAgIHJldHVybiA4OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMikpICE9IDApCisg
ICAgICAgIHJldHVybiA5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyMSkpICE9IDApCisgICAg
ICAgIHJldHVybiAxMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjApKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMTE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE5KSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDEyOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOCkpICE9IDApCisgICAgICAgIHJl
dHVybiAxMzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTcpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMTQ7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDE1OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNSkpICE9IDApCisgICAgICAgIHJldHVybiAx
NjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTQpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTc7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDEzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE4Owor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMikpICE9IDApCisgICAgICAgIHJldHVybiAxOTsKKyAg
ICBpZiAoKHggJiB1aW50KDEgPDwgMTEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjA7CisgICAg
aWYgKCh4ICYgdWludCgxIDw8IDEwKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIxOworICAgIGlm
ICgoeCAmIHVpbnQoMSA8PCA5KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIyOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCA4KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIzOworICAgIGlmICgoeCAm
IHVpbnQoMSA8PCA3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI0OworICAgIGlmICgoeCAmIHVp
bnQoMSA8PCA2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI1OworICAgIGlmICgoeCAmIHVpbnQo
MSA8PCA1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI2OworICAgIGlmICgoeCAmIHVpbnQoMSA8
PCA0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI3OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAz
KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI4OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAyKSkg
IT0gMCkKKyAgICAgICAgcmV0dXJuIDI5OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxKSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDMwOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAwKSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDMxOworICAgIHJldHVybiAzMjsKK30KK3VpbnQgZmlyc3RiaXRoaWdo
KGludCB4KSB7CisgICAgcmV0dXJuIGZpcnN0Yml0aGlnaCh1aW50KHgpKTsKIH0KLWJvb2w0IG9w
ZXJhdG9yLnl6eXkoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9
IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1
bHQudyA9IHYueTsKK3VpbnQyIGZpcnN0Yml0aGlnaCh1aW50MiB4KSB7CisgICAgdWludDIgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBmaXJzdGJpdGhpZ2goeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJh
dG9yLnl6eXkodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYu
eTsKLSAgICByZXN1bHQueSA9IHYuejsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQu
dyA9IHYueTsKK3VpbnQzIGZpcnN0Yml0aGlnaCh1aW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBm
aXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci55enl5KHVpbnQ0IHYpIHsKK3Vp
bnQ0IGZpcnN0Yml0aGlnaCh1aW50NCB4KSB7CiAgICAgdWludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnl6
eXkoaW50MyB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAg
cmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3BlcmF0b3IueXp5eShpbnQ0IHYpIHsKLSAg
ICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQueSA9IHYuejsK
LSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotZmxvYXQ0IG9wZXJhdG9yLnl6eXkoZmxvYXQzIHYpIHsKLSAgICBmbG9hdDQgcmVz
dWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi56OwotICAgIHJlc3Vs
dC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi55OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1m
bG9hdDQgb3BlcmF0b3IueXp5eShmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lno7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lnk7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBm
aXJzdGJpdGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53d3gg
Ki8KLWJvb2wzIG9wZXJhdG9yLnd3eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54
OwordWludDIgZmlyc3RiaXRoaWdoKGludDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRo
aWdoKHhbMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50MyBvcGVyYXRvci53d3godWlu
dDQgdikgewordWludDMgZmlyc3RiaXRoaWdoKGludDMgeCkgewogICAgIHVpbnQzIHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50MyBvcGVyYXRvci53d3goaW50NCB2KSB7
Ci0gICAgaW50MyByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2
Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0MyBv
cGVyYXRvci53d3goZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDMgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54d3l4ICovCi1i
b29sNCBvcGVyYXRvci54d3l4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVz
dWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0g
ICAgcmVzdWx0LncgPSB2Lng7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJz
dGJpdGhpZ2goeFsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh3
eXgodWludDQgdikgewordWludDQgZmlyc3RiaXRoaWdoKGludDQgeCkgewogICAgIHVpbnQ0IHJl
c3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1
bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
aW50NCBvcGVyYXRvci54d3l4KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3Vs
dC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi55OwotICAg
IHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1mbG9hdDQgb3BlcmF0b3Iu
eHd5eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsy
XSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci53eHggKi8KLWJvb2wzIG9wZXJh
dG9yLnd4eChib29sNCB2KSB7Ci0gICAgYm9vbDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53
OwotICAgIHJlc3VsdC55ID0gdi54OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci11aW50MyBvcGVyYXRvci53eHgodWludDQgdikgewotICAgIHVpbnQzIHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQu
eiA9IHYueDsKLSAgICByZXR1cm4gcmVzdWx0OworLyogRnVuY3Rpb25zIG5hbWVkIHJjcCAqLwor
ZmxvYXQgcmNwKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gMSAvIHg7CiB9Ci1pbnQzIG9wZXJhdG9y
Lnd4eChpbnQ0IHYpIHsKLSAgICBpbnQzIHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAg
ICByZXN1bHQueSA9IHYueDsKLSAgICByZXN1bHQueiA9IHYueDsKK2Zsb2F0MiByY3AoZmxvYXQy
IHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSByY3AoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0MyBv
cGVyYXRvci53eHgoZmxvYXQ0IHYpIHsKK2Zsb2F0MyByY3AoZmxvYXQzIHgpIHsKICAgICBmbG9h
dDMgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi54OwotICAg
IHJlc3VsdC56ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBu
YW1lZCBvcGVyYXRvci54eXl4ICovCi1ib29sNCBvcGVyYXRvci54eXl4KGJvb2wyIHYpIHsKLSAg
ICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7
Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLWJvb2w0IG9wZXJhdG9yLnh5eXgoYm9vbDMgdikgewotICAgIGJvb2w0IHJlc3Vs
dDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQu
eiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYueDsKKyAgICByZXN1bHRbMF0gPSByY3AoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJjcCh4WzJdKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotYm9vbDQgb3BlcmF0b3IueHl5eChib29sNCB2KSB7Ci0g
ICAgYm9vbDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0gdi54OworZmxvYXQ0IHJjcChm
bG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmNwKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHJjcCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByY3AoeFsyXSk7
CisgICAgcmVzdWx0WzNdID0gcmNwKHhbM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci11aW50
NCBvcGVyYXRvci54eXl4KHVpbnQyIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAg
cmVzdWx0LncgPSB2Lng7CitmbG9hdDJ4MiByY3AoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0Mngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnh5eXgodWludDMgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYueDsKK2Zsb2F0M3gyIHJjcChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQz
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3Ao
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci11aW50NCBvcGVyYXRvci54eXl4KHVpbnQ0IHYpIHsKLSAgICB1aW50NCByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0
LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDR4MiByY3AoZmxvYXQ0eDIgeCkg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJj
cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNw
KHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh5eXgoaW50
MiB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDJ4MyByY3AoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3Ao
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJjcCh4WzFdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50NCBvcGVyYXRv
ci54eXl4KGludDMgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi54Owot
ICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJlc3VsdC53ID0g
di54OworZmxvYXQzeDMgcmNwKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSByY3AoeFsyXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iu
eHl5eChpbnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYu
eDsKK2Zsb2F0NHgzIHJjcChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsx
XVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVsw
XSA9IHJjcCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmNwKHhbM11b
Ml0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDIg
dikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9h
dDJ4NCByY3AoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3Ao
eFsxXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1m
bG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDMgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0gICAg
cmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7
Ci0gICAgcmVzdWx0LncgPSB2Lng7CitmbG9hdDN4NCByY3AoZmxvYXQzeDQgeCkgeworICAgIGZs
b2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBy
Y3AoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0IG9w
ZXJhdG9yLnh5eXgoZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi54OworZmxvYXQ0eDQgcmNwKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMl0g
PSByY3AoeFszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzNdID0gcmNwKHhbM11bM10pOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVyYXRvci55d3h4ICovCi1ib29sNCBvcGVyYXRv
ci55d3h4KGJvb2w0IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnk7
Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0Lncg
PSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnl3eHgodWludDQg
dikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueTsKLSAgICByZXN1bHQu
eSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYueDsKLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci55d3h4KGludDQgdikgewotICAgIGludDQg
cmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi55OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJl
c3VsdC56ID0gdi54OwotICAgIHJlc3VsdC53ID0gdi54OwotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci1mbG9hdDQgb3BlcmF0b3IueXd4eChmbG9hdDQgdikgewotICAgIGZsb2F0NCByZXN1bHQ7Ci0g
ICAgcmVzdWx0LnggPSB2Lnk7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2
Lng7Ci0gICAgcmVzdWx0LncgPSB2Lng7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KKy8qIEZ1bmN0
aW9ucyBuYW1lZCBmd2lkdGggKi8KIAotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3eXcg
Ki8KLWJvb2w0IG9wZXJhdG9yLnd3eXcoYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYu
eTsKLSAgICByZXN1bHQudyA9IHYudzsKLSAgICByZXR1cm4gcmVzdWx0OworZmxvYXQgZndpZHRo
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4gYWJzKGRkeCh4KSkgKyBhYnMoZGR5KHgpKTsKIH0KLXVp
bnQ0IG9wZXJhdG9yLnd3eXcodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAg
ICByZXN1bHQudyA9IHYudzsKK2Zsb2F0MiBmd2lkdGgoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZ3aWR0aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBm
d2lkdGgoeFsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDQgb3BlcmF0b3Iud3d5dyhp
bnQ0IHYpIHsKLSAgICBpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1
bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zs
b2F0MyBmd2lkdGgoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGZ3aWR0aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gZndpZHRoKHhbMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3Bl
cmF0b3Iud3d5dyhmbG9hdDQgdikgeworZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkgewogICAgIGZs
b2F0NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVzdWx0LnkgPSB2Lnc7Ci0g
ICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnp3eXg9ICovCi1ib29sNCBvcGVy
YXRvci56d3l4PShib29sNCB2LCBib29sNCBjKSB7Ci0gICAgYm9vbDQgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9IGMu
ejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQgb3Bl
cmF0b3Iuend5eD0odWludDQgdiwgdWludDQgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0g
ICAgcmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBj
Lno7Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWludDQgb3Bl
cmF0b3Iuend5eD0oaW50NCB2LCBpbnQ0IGMpIHsKLSAgICBpbnQ0IHJlc3VsdCA9IHY7Ci0gICAg
cmVzdWx0LnogPSBjLng7Ci0gICAgcmVzdWx0LncgPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7
Ci0gICAgcmVzdWx0LnggPSBjLnc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVy
YXRvci56d3l4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsK
LSAgICByZXN1bHQueiA9IGMueDsKLSAgICByZXN1bHQudyA9IGMueTsKLSAgICByZXN1bHQueSA9
IGMuejsKLSAgICByZXN1bHQueCA9IGMudzsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiBG
dW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHp5PSAqLwotYm9vbDMgb3BlcmF0b3IueHp5PShib29s
MyB2LCBib29sMyBjKSB7Ci0gICAgYm9vbDMgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMu
eDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotYm9vbDQgb3BlcmF0b3IueHp5PShib29sNCB2LCBib29sMyBjKSB7Ci0gICAg
Ym9vbDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMu
eTsKLSAgICByZXN1bHQueSA9IGMuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDMgb3Bl
cmF0b3IueHp5PSh1aW50MyB2LCB1aW50MyBjKSB7Ci0gICAgdWludDMgcmVzdWx0ID0gdjsKLSAg
ICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMu
ejsKKyAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZndpZHRo
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBm
d2lkdGgoeFszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXVpbnQ0IG9wZXJhdG9yLnh6eT0o
dWludDQgdiwgdWludDMgYykgewotICAgIHVpbnQ0IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0Lngg
PSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0gICAgcmVzdWx0LnkgPSBjLno7CitmbG9hdDJ4
MiBmd2lkdGgoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBmd2lkdGgoeFsxXVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWludDMgb3BlcmF0
b3IueHp5PShpbnQzIHYsIGludDMgYykgewotICAgIGludDMgcmVzdWx0ID0gdjsKLSAgICByZXN1
bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zs
b2F0M3gyIGZ3aWR0aChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1pbnQ0IG9wZXJhdG9yLnh6eT0oaW50NCB2LCBpbnQzIGMpIHsKLSAgICBpbnQ0
IHJlc3VsdCA9IHY7Ci0gICAgcmVzdWx0LnggPSBjLng7Ci0gICAgcmVzdWx0LnogPSBjLnk7Ci0g
ICAgcmVzdWx0LnkgPSBjLno7CitmbG9hdDR4MiBmd2lkdGgoZmxvYXQ0eDIgeCkgeworICAgIGZs
b2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0
aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDMg
b3BlcmF0b3IueHp5PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKLSAgICBmbG9hdDMgcmVzdWx0ID0g
djsKLSAgICByZXN1bHQueCA9IGMueDsKLSAgICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQu
eSA9IGMuejsKK2Zsb2F0MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDQgb3BlcmF0b3IueHp5PShmbG9hdDQgdiwgZmxv
YXQzIGMpIHsKLSAgICBmbG9hdDQgcmVzdWx0ID0gdjsKLSAgICByZXN1bHQueCA9IGMueDsKLSAg
ICByZXN1bHQueiA9IGMueTsKLSAgICByZXN1bHQueSA9IGMuejsKK2Zsb2F0M3gzIGZ3aWR0aChm
bG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3
aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLS8qIEZ1
bmN0aW9ucyBuYW1lZCBvcGVyYXRvci54eXl3ICovCi1ib29sNCBvcGVyYXRvci54eXl3KGJvb2w0
IHYpIHsKLSAgICBib29sNCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lng7Ci0gICAgcmVzdWx0
LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lnk7Ci0gICAgcmVzdWx0LncgPSB2Lnc7CitmbG9h
dDR4MyBmd2lkdGgoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhb
MV1bMF0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQotdWludDQgb3BlcmF0b3IueHl5dyh1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAg
IHJlc3VsdC54ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55
OwotICAgIHJlc3VsdC53ID0gdi53OworZmxvYXQyeDQgZndpZHRoKGZsb2F0Mng0IHgpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
d2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lk
dGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotaW50
NCBvcGVyYXRvci54eXl3KGludDQgdikgewotICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi54OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi55OwotICAgIHJl
c3VsdC53ID0gdi53OworZmxvYXQzeDQgZndpZHRoKGZsb2F0M3g0IHgpIHsKKyAgICBmbG9hdDN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsy
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9
IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NCBvcGVyYXRvci54eXl3KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYueDsKLSAgICByZXN1bHQueSA9IHYu
eTsKLSAgICByZXN1bHQueiA9IHYueTsKLSAgICByZXN1bHQudyA9IHYudzsKK2Zsb2F0NHg0IGZ3
aWR0aChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFszXVswXSA9
IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3
aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0
aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gZndpZHRoKHhbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gZndpZHRoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVszXSA9IGZ3aWR0aCh4WzNd
WzNdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0zNzI0MiwxMTcgKzE5NTgzLDExNyBA
QCBmbG9hdDQgbGVycChmbG9hdDQgeCwgZmxvYXQ0IHksIGZsb2F0NCB6CiBmbG9hdDJ4MiBsZXJw
KGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKICAgICBmbG9hdDJ4MiByZXN1
bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
LSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwogICAg
IHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKICAgICByZXN1bHRb
MV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwogICAgIHJldHVybiByZXN1
bHQ7CiB9Ci1mbG9hdDJ4MyBsZXJwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHop
IHsKLSAgICBmbG9hdDJ4MyByZXN1bHQ7CitmbG9hdDN4MiBsZXJwKGZsb2F0M3gyIHgsIGZsb2F0
M3gyIHksIGZsb2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CiAgICAgcmVzdWx0WzBd
WzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0g
PSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxl
cnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CiAgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1b
MF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwg
eVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFd
WzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsy
XVsxXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0Mng0IGxlcnAoZmxvYXQyeDQgeCwg
ZmxvYXQyeDQgeSwgZmxvYXQyeDQgeikgewotICAgIGZsb2F0Mng0IHJlc3VsdDsKK2Zsb2F0NHgy
IGxlcnAoZmxvYXQ0eDIgeCwgZmxvYXQ0eDIgeSwgZmxvYXQ0eDIgeikgeworICAgIGZsb2F0NHgy
IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7
Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKLSAg
ICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOwogICAgIHJl
c3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAgcmVzdWx0WzFdWzFdID0gbGVy
cCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhb
MV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOwotICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVsz
XSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZXJwKHhbM11bMV0sIHlbM11b
MV0sIHpbM11bMV0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4MiBsZXJwKGZsb2F0
M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0M3gyIHopIHsKLSAgICBmbG9hdDN4MiByZXN1bHQ7Citm
bG9hdDJ4MyBsZXJwKGZsb2F0MngzIHgsIGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKKyAgICBm
bG9hdDJ4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBdLCB5WzBdWzBd
LCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpb
MF1bMV0pOwogICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsK
ICAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOwotICAg
IHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Ci0gICAgcmVz
dWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIGZsb2F0M3gzIGxlcnAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSwgZmxvYXQzeDMgeikgewog
ICAgIGZsb2F0M3gzIHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1b
MF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAg
ICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1b
MV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGxlcnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVy
cCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhb
Ml1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1mbG9hdDN4
NCBsZXJwKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKLSAgICBmbG9hdDN4
NCByZXN1bHQ7CitmbG9hdDR4MyBsZXJwKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgz
IHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNd
LCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsK
LSAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwogICAg
IHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CiAgICAgcmVzdWx0WzJdWzFdID0g
bGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZXJw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlb
Ml1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVsz
XSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6
WzNdWzJdKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4
LCBmbG9hdDR4MiB5LCBmbG9hdDR4MiB6KSB7Ci0gICAgZmxvYXQ0eDIgcmVzdWx0OworZmxvYXQy
eDQgbGVycChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQy
eDQgcmVzdWx0OwogICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7Ci0gICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFd
KTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CiAgICAg
cmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKLSAgICByZXN1
bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOwotICAgIHJlc3VsdFsy
XVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Ci0gICAgcmVzdWx0WzNdWzBd
ID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKLSAgICByZXN1bHRbM11bMV0gPSBs
ZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10s
IHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsx
XVszXSwgelsxXVszXSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLWZsb2F0NHgzIGxlcnAoZmxv
YXQ0eDMgeCwgZmxvYXQ0eDMgeSwgZmxvYXQ0eDMgeikgewotICAgIGZsb2F0NHgzIHJlc3VsdDsK
K2Zsb2F0M3g0IGxlcnAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1b
MF0sIHpbMF1bMF0pOwotICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7Ci0gICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Ci0g
ICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICBy
ZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKICAgICByZXN1bHRbMl1bMV0g
PSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxl
cnAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4
WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKICAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1b
Ml0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwg
eVszXVswXSwgelszXVswXSk7Ci0gICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNd
WzFdLCB6WzNdWzFdKTsKLSAgICByZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0s
IHpbM11bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiBmbG9hdDR4NCBsZXJwKGZsb2F0NHg0IHgsIGZsb2F0NHg0
IHksIGZsb2F0NHg0IHopIHsKICAgICBmbG9hdDR4NCByZXN1bHQ7CiAgICAgcmVzdWx0WzBdWzBd
ID0gbGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKLSAgICByZXN1bHRbMF1bMV0gPSBs
ZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOwotICAgIHJlc3VsdFswXVsyXSA9IGxlcnAo
eFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7Ci0gICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBd
WzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKICAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0s
IHlbMV1bMF0sIHpbMV1bMF0pOwotICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7Ci0gICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKLSAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpb
MV1bM10pOwogICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVsw
XSk7Ci0gICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
LSAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwotICAg
IHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CiAgICAgcmVz
dWx0WzNdWzBdID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKICAgICByZXN1bHRbM11bMV0gPSBsZXJw
KHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlb
Ml1bMl0sIHpbMl1bMl0pOwogICAgIHJlc3VsdFszXVsyXSA9IGxlcnAoeFszXVsyXSwgeVszXVsy
XSwgelszXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBdWzNdLCB6
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOworICAgIHJlc3VsdFsyXVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7
CiAgICAgcmVzdWx0WzNdWzNdID0gbGVycCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzczNzAsMTI0ICsxOTcxMSwzIEBAIGZsb2F0IGRpc3Rh
bmNlKGZsb2F0MyB4LCBmbG9hdDMgeSkgewogZmxvYXQgZGlzdGFuY2UoZmxvYXQ0IHgsIGZsb2F0
NCB5KSB7CiAgICAgcmV0dXJuIGxlbmd0aCh4IC0geSk7CiB9Ci0KLQotLyogRnVuY3Rpb25zIG5h
bWVkIG9wZXJhdG9yLnp5enogKi8KLWJvb2w0IG9wZXJhdG9yLnp5enooYm9vbDMgdikgewotICAg
IGJvb2w0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsK
LSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotYm9vbDQgb3BlcmF0b3Iuenl6eihib29sNCB2KSB7Ci0gICAgYm9vbDQgcmVzdWx0
OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56
ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci11aW50
NCBvcGVyYXRvci56eXp6KHVpbnQzIHYpIHsKLSAgICB1aW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0LnogPSB2Lno7Ci0gICAg
cmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLXVpbnQ0IG9wZXJhdG9yLnp5
enoodWludDQgdikgewotICAgIHVpbnQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYuejsKLSAg
ICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAgICByZXN1bHQudyA9IHYu
ejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotaW50NCBvcGVyYXRvci56eXp6KGludDMgdikgewot
ICAgIGludDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56OwotICAgIHJlc3VsdC55ID0gdi55
OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53ID0gdi56OwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnp5enooaW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7
Ci0gICAgcmVzdWx0LnggPSB2Lno7Ci0gICAgcmVzdWx0LnkgPSB2Lnk7Ci0gICAgcmVzdWx0Lnog
PSB2Lno7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0
NCBvcGVyYXRvci56eXp6KGZsb2F0MyB2KSB7Ci0gICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1
bHQueCA9IHYuejsKLSAgICByZXN1bHQueSA9IHYueTsKLSAgICByZXN1bHQueiA9IHYuejsKLSAg
ICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotZmxvYXQ0IG9wZXJhdG9y
Lnp5enooZmxvYXQ0IHYpIHsKLSAgICBmbG9hdDQgcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdi56
OwotICAgIHJlc3VsdC55ID0gdi55OwotICAgIHJlc3VsdC56ID0gdi56OwotICAgIHJlc3VsdC53
ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEZ1bmN0aW9ucyBuYW1lZCBvcGVy
YXRvci53ICovCi1uYXRpdmUgYm9vbCBvcGVyYXRvci53KGJvb2w0KTsKLW5hdGl2ZSB1aW50IG9w
ZXJhdG9yLncodWludDQpOwotbmF0aXZlIGludCBvcGVyYXRvci53KGludDQpOwotbmF0aXZlIGZs
b2F0IG9wZXJhdG9yLncoZmxvYXQ0KTsKLQotLyogRnVuY3Rpb25zIG5hbWVkIG9wZXJhdG9yLnd3
eHogKi8KLWJvb2w0IG9wZXJhdG9yLnd3eHooYm9vbDQgdikgewotICAgIGJvb2w0IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYudzsKLSAgICByZXN1bHQueiA9
IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotdWludDQg
b3BlcmF0b3Iud3d4eih1aW50NCB2KSB7Ci0gICAgdWludDQgcmVzdWx0OwotICAgIHJlc3VsdC54
ID0gdi53OwotICAgIHJlc3VsdC55ID0gdi53OwotICAgIHJlc3VsdC56ID0gdi54OwotICAgIHJl
c3VsdC53ID0gdi56OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci1pbnQ0IG9wZXJhdG9yLnd3eHoo
aW50NCB2KSB7Ci0gICAgaW50NCByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB2Lnc7Ci0gICAgcmVz
dWx0LnkgPSB2Lnc7Ci0gICAgcmVzdWx0LnogPSB2Lng7Ci0gICAgcmVzdWx0LncgPSB2Lno7Ci0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLWZsb2F0NCBvcGVyYXRvci53d3h6KGZsb2F0NCB2KSB7Ci0g
ICAgZmxvYXQ0IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHYudzsKLSAgICByZXN1bHQueSA9IHYu
dzsKLSAgICByZXN1bHQueiA9IHYueDsKLSAgICByZXN1bHQudyA9IHYuejsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0vKiBGdW5jdGlvbnMgbmFtZWQgb3BlcmF0b3IueHkgKi8KLW5hdGl2ZSBi
b29sMiBvcGVyYXRvci54eShib29sMik7Ci1uYXRpdmUgYm9vbDIgb3BlcmF0b3IueHkoYm9vbDMp
OwotbmF0aXZlIGJvb2wyIG9wZXJhdG9yLnh5KGJvb2w0KTsKLW5hdGl2ZSB1aW50MiBvcGVyYXRv
ci54eSh1aW50Mik7Ci1uYXRpdmUgdWludDIgb3BlcmF0b3IueHkodWludDMpOwotbmF0aXZlIHVp
bnQyIG9wZXJhdG9yLnh5KHVpbnQ0KTsKLW5hdGl2ZSBpbnQyIG9wZXJhdG9yLnh5KGludDIpOwot
bmF0aXZlIGludDIgb3BlcmF0b3IueHkoaW50Myk7Ci1uYXRpdmUgaW50MiBvcGVyYXRvci54eShp
bnQ0KTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IueHkoZmxvYXQyKTsKLW5hdGl2ZSBmbG9hdDIg
b3BlcmF0b3IueHkoZmxvYXQzKTsKLW5hdGl2ZSBmbG9hdDIgb3BlcmF0b3IueHkoZmxvYXQ0KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRM
aWJyYXJ5VXRpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHJldmlzaW9u
IDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3Rh
bmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTQgKzY2LDYg
QEAgcHJpdmF0ZToKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoY2FsbEV4cHJlc3Npb24pOwogICAg
IH0KIAotICAgIHZvaWQgdmlzaXQoQVNUOjpQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24mIHByb3Bl
cnR5QWNjZXNzRXhwcmVzc2lvbikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIG1fZnVuY3Rpb25O
YW1lcy5hZGQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmdldHRlckZ1bmN0aW9uTmFtZSgpKTsK
LSAgICAgICAgbV9mdW5jdGlvbk5hbWVzLmFkZChwcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uc2V0
dGVyRnVuY3Rpb25OYW1lKCkpOwotICAgICAgICBtX2Z1bmN0aW9uTmFtZXMuYWRkKHByb3BlcnR5
QWNjZXNzRXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uTmFtZSgpKTsKLSAgICAgICAgVmlzaXRvcjo6
dmlzaXQocHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKTsKLSAgICB9Ci0KICAgICBIYXNoU2V0PFN0
cmluZz4gbV9mdW5jdGlvbk5hbWVzOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50
aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0
b3JMZW5ndGguY3BwCShub25leGlzdGVudCkKQEAgLTEsODMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXSExTTFN5bnRoZXNpemVBcnJheU9wZXJh
dG9yTGVuZ3RoLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xBcnJh
eVR5cGUuaCIKLSNpbmNsdWRlICJXSExTTFByb2dyYW0uaCIKLSNpbmNsdWRlICJXSExTTFR5cGVS
ZWZlcmVuY2UuaCIKLSNpbmNsdWRlICJXSExTTFZpc2l0b3IuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1uYW1lc3BhY2UgV0hMU0wgewotCi1jbGFzcyBGaW5kQXJyYXlUeXBlcyA6IHB1Ymxp
YyBWaXNpdG9yIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5GaW5kQXJyYXlUeXBlcygpID0gZGVm
YXVsdDsKLQotICAgIHZvaWQgdmlzaXQoQVNUOjpBcnJheVR5cGUmIGFycmF5VHlwZSkgb3ZlcnJp
ZGUKLSAgICB7Ci0gICAgICAgIG1fYXJyYXlUeXBlcy5hcHBlbmQoYXJyYXlUeXBlKTsKLSAgICAg
ICAgVmlzaXRvcjo6dmlzaXQoYXJyYXlUeXBlKTsKLSAgICB9Ci0KLSAgICBWZWN0b3I8c3RkOjpy
ZWZlcmVuY2Vfd3JhcHBlcjxBU1Q6OkFycmF5VHlwZT4+IHRha2VBcnJheVR5cGVzKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBXVEZNb3ZlKG1fYXJyYXlUeXBlcyk7Ci0gICAgfQotCi1wcml2YXRl
OgotICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPEFTVDo6QXJyYXlUeXBlPj4gbV9h
cnJheVR5cGVzOwotfTsKLQotRXhwZWN0ZWQ8dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoKFByb2dyYW0mIHByb2dyYW0pCi17Ci0gICAgRmluZEFycmF5VHlwZXMgZmlu
ZEFycmF5VHlwZXM7Ci0gICAgZmluZEFycmF5VHlwZXMuY2hlY2tFcnJvckFuZFZpc2l0KHByb2dy
YW0pOwotICAgIGF1dG8gYXJyYXlUeXBlcyA9IGZpbmRBcnJheVR5cGVzLnRha2VBcnJheVR5cGVz
KCk7Ci0KLSAgICBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwotCi0gICAgZm9yIChhdXRvJiBhcnJh
eVR5cGUgOiBhcnJheVR5cGVzKSB7Ci0gICAgICAgIGF1dG8gbG9jYXRpb24gPSBhcnJheVR5cGUu
Z2V0KCkuY29kZUxvY2F0aW9uKCk7Ci0gICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlvbiwgQVNUOjpR
dWFsaWZpZXJzKCksICZhcnJheVR5cGUuZ2V0KCksIFN0cmluZygpLCBudWxscHRyLCBudWxscHRy
KTsKLSAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAg
ICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAg
ICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2Nr
KCksIFdURjo6bnVsbG9wdCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKGxvY2F0aW9uLCBwcm9n
cmFtLmludHJpbnNpY3MoKS51aW50VHlwZSgpKSwgIm9wZXJhdG9yLmxlbmd0aCJfc3RyLCBXVEZN
b3ZlKHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRh
cmRMaWJyYXJ5KSk7Ci0gICAgICAgIGlmICghcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uKSkpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQo
RXJyb3IoIkNhbm5vdCBzeW50aGVzaXplIG9wZXJhdG9yLmxlbmd0aCBmb3IgYXJyYXkgdHlwZS4i
KSk7Ci0gICAgfQotICAgIHJldHVybiB7IH07Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdITFNMCi0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVu
Z3RoLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguaAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJM
RShXRUJHUFUpCi0KLSNpbmNsdWRlICJXSExTTEVycm9yLmgiCi0jaW5jbHVkZSA8d3RmL0V4cGVj
dGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotY2xh
c3MgUHJvZ3JhbTsKLQotRXhwZWN0ZWQ8dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVBcnJheU9wZXJh
dG9yTGVuZ3RoKFByb2dyYW0mKTsKLQotfQotCi19Ci0KLSNlbmRpZgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXpl
QXJyYXlPcGVyYXRvckxlbmd0aC5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplRW51
bWVyYXRpb25GdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAko
cmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NiwxNSArNTYsNiBAQCBFeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6ZUVudW1lcmF0
CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBtYWtlVW5pcXVlUmVmPEFT
VDo6VmFyaWFibGVEZWNsYXJhdGlvbj4obG9jYXRpb24sIEFTVDo6UXVhbGlmaWVycygpLCBBU1Q6
OlR5cGVSZWZlcmVuY2U6OndyYXAobG9jYXRpb24sIGVudW1lcmF0aW9uRGVmaW5pdGlvbiksIFN0
cmluZygpLCBudWxscHRyLCBudWxscHRyKTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1v
dmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xh
cmF0aW9uKGxvY2F0aW9uLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgZW51
bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3Zl
KHBhcmFtZXRlcnMpLCBudWxscHRyLCBpc09wZXJhdG9yLCBQYXJzaW5nTW9kZTo6U3RhbmRhcmRM
aWJyYXJ5KSk7Ci0gICAgICAgICAgICBpZiAoIXByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbikpKQotICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChFcnJvcigiQ2Fubm90IGNyZWF0ZSBvcGVyYXRvci52YWx1ZSBmb3IgZW51bSB0eXBlLiIp
KTsKLSAgICAgICAgfQotCi0gICAgICAgIHsKLSAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNs
YXJhdGlvbiA9IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihsb2NhdGlv
biwgQVNUOjpRdWFsaWZpZXJzKCksIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChsb2NhdGlvbiwg
ZW51bWVyYXRpb25EZWZpbml0aW9uKSwgU3RyaW5nKCksIG51bGxwdHIsIG51bGxwdHIpOwotICAg
ICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAg
ICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7CiAgICAg
ICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNs
YXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24obG9jYXRpb24sIEFTVDo6QXR0cmlidXRl
QmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24tPnR5cGUoKSwgIm9w
ZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbnVsbHB0ciwgaXNPcGVyYXRv
ciwgUGFyc2luZ01vZGU6OlN0YW5kYXJkTGlicmFyeSkpOwogICAgICAgICAgICAgaWYgKCFwcm9n
cmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXJyb3IoIkNhbm5vdCBjcmVhdGUgY29weSBj
b25zdHJ1Y3RvciBmb3IgZW51bSB0eXBlLiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50
aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNj
ZXNzb3JzLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNj
ZXNzb3JzLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV0hMU0xBZGRyZXNz
U3BhY2UuaCIKLSNpbmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCi0jaW5jbHVkZSAiV0hMU0xQ
cm9ncmFtLmgiCi0jaW5jbHVkZSAiV0hMU0xSZWZlcmVuY2VUeXBlLmgiCi0jaW5jbHVkZSAiV0hM
U0xUeXBlUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSAiV0hMU0xWYXJpYWJsZURlY2xhcmF0aW9uLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotRXhwZWN0ZWQ8
dm9pZCwgRXJyb3I+IHN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMoUHJvZ3JhbSYgcHJvZ3Jh
bSkKLXsKLSAgICBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwotICAgIGZvciAoYXV0byYgc3RydWN0
dXJlRGVmaW5pdGlvbiA6IHByb2dyYW0uc3RydWN0dXJlRGVmaW5pdGlvbnMoKSkgewotICAgICAg
ICBmb3IgKGF1dG8mIHN0cnVjdHVyZUVsZW1lbnQgOiBzdHJ1Y3R1cmVEZWZpbml0aW9uLT5zdHJ1
Y3R1cmVFbGVtZW50cygpKSB7Ci0gICAgICAgICAgICAvLyBUaGUgYW5kZXI6IG9wZXJhdG9yJi5m
aWVsZAotICAgICAgICAgICAgYXV0byBjcmVhdGVBbmRlciA9IFsmXShBU1Q6OkFkZHJlc3NTcGFj
ZSBhZGRyZXNzU3BhY2UpIC0+IEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiB7Ci0gICAg
ICAgICAgICAgICAgYXV0byBhcmd1bWVudFR5cGUgPSBBU1Q6OlBvaW50ZXJUeXBlOjpjcmVhdGUo
c3RydWN0dXJlRWxlbWVudC5jb2RlTG9jYXRpb24oKSwgYWRkcmVzc1NwYWNlLCBBU1Q6OlR5cGVS
ZWZlcmVuY2U6OndyYXAoc3RydWN0dXJlRWxlbWVudC5jb2RlTG9jYXRpb24oKSwgc3RydWN0dXJl
RGVmaW5pdGlvbikpOwotICAgICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVEZWNsYXJhdGlvbiA9
IG1ha2VVbmlxdWVSZWY8QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uPihzdHJ1Y3R1cmVFbGVtZW50
LmNvZGVMb2NhdGlvbigpLCBBU1Q6OlF1YWxpZmllcnMoKSwgV1RGTW92ZShhcmd1bWVudFR5cGUp
LCBTdHJpbmcoKSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgICAgICAgICAgICAgQVNUOjpWYXJp
YWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMu
YXBwZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgICAgIGF1
dG8gcmV0dXJuVHlwZSA9IEFTVDo6UG9pbnRlclR5cGU6OmNyZWF0ZShzdHJ1Y3R1cmVFbGVtZW50
LmNvZGVMb2NhdGlvbigpLCBhZGRyZXNzU3BhY2UsIHN0cnVjdHVyZUVsZW1lbnQudHlwZSgpKTsK
LSAgICAgICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oc3RydWN0dXJlRWxlbWVu
dC5jb2RlTG9jYXRpb24oKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdU
Rk1vdmUocmV0dXJuVHlwZSksIG1ha2VTdHJpbmcoIm9wZXJhdG9yJi4iLCBzdHJ1Y3R1cmVFbGVt
ZW50Lm5hbWUoKSksIFdURk1vdmUocGFyYW1ldGVycyksIG51bGxwdHIsIGlzT3BlcmF0b3IsIFBh
cnNpbmdNb2RlOjpTdGFuZGFyZExpYnJhcnkpKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbjsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpZiAo
IXByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRkcmVzc1NwYWNlOjpDb25zdGFudCkp
Ci0gICAgICAgICAgICAgICAgfHwgIXByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6QWRk
cmVzc1NwYWNlOjpEZXZpY2UpKQotICAgICAgICAgICAgICAgIHx8ICFwcm9ncmFtLmFwcGVuZChj
cmVhdGVBbmRlcihBU1Q6OkFkZHJlc3NTcGFjZTo6VGhyZWFkZ3JvdXApKQotICAgICAgICAgICAg
ICAgIHx8ICFwcm9ncmFtLmFwcGVuZChjcmVhdGVBbmRlcihBU1Q6OkFkZHJlc3NTcGFjZTo6VGhy
ZWFkKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKEVycm9yKCJDYW4g
bm90IGNyZWF0ZSBhbmRlciIpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4geyB9Owot
fQotCi19IC8vIG5hbWVzcGFjZSBXSExTTAotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3Ry
dWN0dXJlQWNjZXNzb3JzLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5oCShu
b25leGlzdGVudCkKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIldITFNMRXJyb3IuaCIKLSNpbmNsdWRl
IDx3dGYvRXhwZWN0ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1uYW1lc3BhY2UgV0hM
U0wgewotCi1jbGFzcyBQcm9ncmFtOwotCi1FeHBlY3RlZDx2b2lkLCBFcnJvcj4gc3ludGhlc2l6
ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJik7Ci0KLX0KLQotfQotCi0jZW5kaWYKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5oCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNp
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTFZpc2l0b3IuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFZpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTIsOCArMTkyLDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkNvbnN0YW50RXhwcmVzcwog
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCk7CiAgICAg
fSwgWyZdKEFTVDo6RmxvYXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpIHsKICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGZsb2F0TGl0ZXJhbCk7Ci0gICAgfSwgWyZdKEFTVDo6TnVsbExpdGVyYWwm
IG51bGxMaXRlcmFsKSB7Ci0gICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbCk7
CiAgICAgfSwgWyZdKEFTVDo6Qm9vbGVhbkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKSB7CiAgICAg
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChib29sZWFuTGl0ZXJhbCk7CiAgICAgfSwgWyZdKEFTVDo6
RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJiBlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwpIHsKQEAg
LTIzOCwxMSArMjM2LDYgQEAgdm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYg
ZgogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChmbG9hdExpdGVyYWwudHlwZSgpKTsKIH0KIAotdm9p
ZCBWaXNpdG9yOjp2aXNpdChBU1Q6Ok51bGxMaXRlcmFsJiBudWxsTGl0ZXJhbCkKLXsKLSAgICBj
aGVja0Vycm9yQW5kVmlzaXQobnVsbExpdGVyYWwudHlwZSgpKTsKLX0KLQogdm9pZCBWaXNpdG9y
Ojp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJikKIHsKIH0KQEAgLTI2OCwxMiArMjYxLDYgQEAg
dm9pZCBWaXNpdG9yOjp2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbFR5cAogICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChmbG9hdExpdGVyYWxUeXBlLnByZWZlcnJlZFR5cGUoKSk7CiB9CiAKLXZvaWQgVmlz
aXRvcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkKLXsKLSAg
ICBpZiAobnVsbExpdGVyYWxUeXBlLm1heWJlUmVzb2x2ZWRUeXBlKCkpCi0gICAgICAgIGNoZWNr
RXJyb3JBbmRWaXNpdChudWxsTGl0ZXJhbFR5cGUucmVzb2x2ZWRUeXBlKCkpOwotfQotCiB2b2lk
IFZpc2l0b3I6OnZpc2l0KEFTVDo6RW51bWVyYXRpb25NZW1iZXJMaXRlcmFsJikKIHsKIH0KQEAg
LTM5OSw5ICszODYsNiBAQCB2b2lkIFZpc2l0b3I6OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhw
CiAgICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246OktpbmQ6Ok1ha2VQb2ludGVyOgogICAgICAgICBj
aGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNUOjpNYWtlUG9pbnRlckV4cHJlc3Npb24+KGV4
cHJlc3Npb24pKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBU1Q6OkV4cHJlc3Npb246Oktp
bmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93bmNhc3Q8QVNU
OjpOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEFT
VDo6RXhwcmVzc2lvbjo6S2luZDo6RG90OgogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG93
bmNhc3Q8QVNUOjpEb3RFeHByZXNzaW9uPihleHByZXNzaW9uKSk7CiAgICAgICAgIGJyZWFrOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNpdG9yLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xW
aXNpdG9yLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMVmlzaXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw2IEBA
IGNsYXNzIFN0YWdlSW5PdXRTZW1hbnRpYzsKIGNsYXNzIEludGVnZXJMaXRlcmFsOwogY2xhc3Mg
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbDsKIGNsYXNzIEZsb2F0TGl0ZXJhbDsKLWNsYXNzIE51bGxM
aXRlcmFsOwogY2xhc3MgQm9vbGVhbkxpdGVyYWw7CiBjbGFzcyBFbnVtZXJhdGlvbk1lbWJlckxp
dGVyYWw7CiBjbGFzcyBOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGU7CkBAIC0xMzgsMTIgKzEz
NywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6SW50ZWdlckxpdGVy
YWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFs
Jik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsJik7Ci0gICAgdmly
dHVhbCB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWwmKTsKICAgICB2aXJ0dWFsIHZvaWQgdmlz
aXQoQVNUOjpCb29sZWFuTGl0ZXJhbCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6Oklu
dGVnZXJMaXRlcmFsVHlwZSYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OlVuc2lnbmVk
SW50ZWdlckxpdGVyYWxUeXBlJik7CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6RmxvYXRM
aXRlcmFsVHlwZSYpOwotICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlw
ZSYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJh
bCYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkZ1bmN0aW9uQXR0cmlidXRlJik7CiAg
ICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6TnVtVGhyZWFkc0Z1bmN0aW9uQXR0cmlidXRlJik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xBU1Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xBU1QuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMQVNULmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDYg
QEAKICNpbmNsdWRlICJXSExTTE5hbWVkVHlwZS5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9u
LmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbC5oIgotI2luY2x1ZGUgIldITFNMTnVsbExp
dGVyYWxUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xOdW1UaHJlYWRzRnVuY3Rpb25BdHRyaWJ1dGUu
aCIKICNpbmNsdWRlICJXSExTTFBvaW50ZXJUeXBlLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9wZXJ0
eUFjY2Vzc0V4cHJlc3Npb24uaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTENvbnN0YW50RXhwcmVzc2lv
bi5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xDb25zdGFudEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEs
NyArMzEsNiBAQAogI2luY2x1ZGUgIldITFNMRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmgiCiAj
aW5jbHVkZSAiV0hMU0xGbG9hdExpdGVyYWwuaCIKICNpbmNsdWRlICJXSExTTEludGVnZXJMaXRl
cmFsLmgiCi0jaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbC5oIgogI2luY2x1ZGUgIldITFNMVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbC5oIgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5j
bHVkZSA8d3RmL1ZhcmlhbnQuaD4KQEAgLTYzLDExICs2Miw2IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgfQogCi0gICAgQ29uc3RhbnRFeHByZXNzaW9uKE51bGxMaXRlcmFsJiYgbnVsbExpdGVyYWwp
Ci0gICAgICAgIDogbV92YXJpYW50KFdURk1vdmUobnVsbExpdGVyYWwpKQotICAgIHsKLSAgICB9
Ci0KICAgICBDb25zdGFudEV4cHJlc3Npb24oQm9vbGVhbkxpdGVyYWwmJiBib29sZWFuTGl0ZXJh
bCkKICAgICAgICAgOiBtX3ZhcmlhbnQoV1RGTW92ZShib29sZWFuTGl0ZXJhbCkpCiAgICAgewpA
QCAtOTAsMTIgKzg0LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEludGVn
ZXJMaXRlcmFsPihtX3ZhcmlhbnQpOwogICAgIH0KIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBW
aXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3ImIHZpc2l0b3IpIC0+IGRlY2x0eXBlKFdU
Rjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNsdmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVu
c2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0TGl0ZXJhbCwgTnVsbExpdGVyYWwsIEJvb2xlYW5M
aXRlcmFsLCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWw+Jj4oKSkpCisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFZpc2l0b3I+IGF1dG8gdmlzaXQoY29uc3QgVmlzaXRvciYgdmlzaXRvcikgLT4gZGVj
bHR5cGUoV1RGOjp2aXNpdCh2aXNpdG9yLCBzdGQ6OmRlY2x2YWw8VmFyaWFudDxJbnRlZ2VyTGl0
ZXJhbCwgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwgRmxvYXRMaXRlcmFsLCBCb29sZWFuTGl0ZXJh
bCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQogICAgIHsKICAgICAgICAgcmV0dXJu
IFdURjo6dmlzaXQodmlzaXRvciwgbV92YXJpYW50KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVmlzaXRvcj4gYXV0byB2aXNpdChjb25zdCBWaXNpdG9yJiB2aXNpdG9yKSBjb25z
dCAtPiBkZWNsdHlwZShXVEY6OnZpc2l0KHZpc2l0b3IsIHN0ZDo6ZGVjbHZhbDxWYXJpYW50PElu
dGVnZXJMaXRlcmFsLCBVbnNpZ25lZEludGVnZXJMaXRlcmFsLCBGbG9hdExpdGVyYWwsIE51bGxM
aXRlcmFsLCBCb29sZWFuTGl0ZXJhbCwgRW51bWVyYXRpb25NZW1iZXJMaXRlcmFsPiY+KCkpKQor
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWaXNpdG9yPiBhdXRvIHZpc2l0KGNvbnN0IFZpc2l0b3Im
IHZpc2l0b3IpIGNvbnN0IC0+IGRlY2x0eXBlKFdURjo6dmlzaXQodmlzaXRvciwgc3RkOjpkZWNs
dmFsPFZhcmlhbnQ8SW50ZWdlckxpdGVyYWwsIFVuc2lnbmVkSW50ZWdlckxpdGVyYWwsIEZsb2F0
TGl0ZXJhbCwgQm9vbGVhbkxpdGVyYWwsIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbD4mPigpKSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBXVEY6OnZpc2l0KHZpc2l0b3IsIG1fdmFyaWFudCk7CiAg
ICAgfQpAQCAtMTA4LDggKzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiB1bnNp
Z25lZEludGVnZXJMaXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExp
dGVyYWwmIGZsb2F0TGl0ZXJhbCkgLT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKICAgICAgICAgICAg
IHJldHVybiBmbG9hdExpdGVyYWwuY2xvbmUoKTsKLSAgICAgICAgfSwgWyZdKGNvbnN0IE51bGxM
aXRlcmFsJiBudWxsTGl0ZXJhbCkgLT4gQ29uc3RhbnRFeHByZXNzaW9uIHsKLSAgICAgICAgICAg
IHJldHVybiBudWxsTGl0ZXJhbC5jbG9uZSgpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVh
bkxpdGVyYWwmIGJvb2xlYW5MaXRlcmFsKSAtPiBDb25zdGFudEV4cHJlc3Npb24gewogICAgICAg
ICAgICAgcmV0dXJuIGJvb2xlYW5MaXRlcmFsLmNsb25lKCk7CiAgICAgICAgIH0sIFsmXShjb25z
dCBFbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwmIGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCkgLT4g
Q29uc3RhbnRFeHByZXNzaW9uIHsKQEAgLTEyNyw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICB2YWx1ZSA9IHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKTsKICAgICAgICAgfSwg
WyZdKGNvbnN0IEZsb2F0TGl0ZXJhbCYgZmxvYXRMaXRlcmFsKSB7CiAgICAgICAgICAgICB2YWx1
ZSA9IGZsb2F0TGl0ZXJhbC52YWx1ZSgpOwotICAgICAgICB9LCBbJl0oY29uc3QgTnVsbExpdGVy
YWwmKSB7Ci0gICAgICAgICAgICByZXN1bHQgPSBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPE51bGxM
aXRlcmFsPihvdGhlci5tX3ZhcmlhbnQpOwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxp
dGVyYWwmIGJvb2xlYW5MaXRlcmFsKSB7CiAgICAgICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxCb29sZWFuTGl0ZXJhbD4ob3RoZXIubV92YXJpYW50KSkgewogICAgICAgICAgICAg
ICAgIGNvbnN0IGF1dG8mIG90aGVyQm9vbGVhbkxpdGVyYWwgPSBXVEY6OmdldDxCb29sZWFuTGl0
ZXJhbD4ob3RoZXIubV92YXJpYW50KTsKQEAgLTE1Miw4ICsxNDIsNiBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXN1bHQgPSB2YWx1ZSA9PSB1bnNpZ25lZEludGVnZXJMaXRlcmFsLnZhbHVlKCk7
CiAgICAgICAgIH0sIFsmXShjb25zdCBGbG9hdExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAg
ICAgICAgICAgcmVzdWx0ID0gdmFsdWUgPT0gZmxvYXRMaXRlcmFsLnZhbHVlKCk7Ci0gICAgICAg
IH0sIFsmXShjb25zdCBOdWxsTGl0ZXJhbCYpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNl
OwogICAgICAgICB9LCBbJl0oY29uc3QgQm9vbGVhbkxpdGVyYWwmKSB7CiAgICAgICAgICAgICBy
ZXN1bHQgPSBmYWxzZTsKICAgICAgICAgfSwgWyZdKGNvbnN0IEVudW1lcmF0aW9uTWVtYmVyTGl0
ZXJhbCYpIHsKQEAgLTE2OSw3ICsxNTcsNiBAQCBwcml2YXRlOgogICAgICAgICBJbnRlZ2VyTGl0
ZXJhbCwKICAgICAgICAgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICAgICAgRmxvYXRMaXRl
cmFsLAotICAgICAgICBOdWxsTGl0ZXJhbCwKICAgICAgICAgQm9vbGVhbkxpdGVyYWwsCiAgICAg
ICAgIEVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbAogICAgICAgICA+IG1fdmFyaWFudDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Np
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xEb3RFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTERvdEV4cHJlc3Npb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogUHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpEb3QsIFdURk1vdmUoYmFzZSkpCiAgICAgICAg
ICwgbV9maWVsZE5hbWUoV1RGTW92ZShmaWVsZE5hbWUpKQogICAgIHsKKyAgICAgICAgVU5VU0VE
X1BBUkFNKG1fcGFkZGluZyk7CiAgICAgfQogCiAgICAgfkRvdEV4cHJlc3Npb24oKSA9IGRlZmF1
bHQ7CkBAIC01MiwyNSArNTMsMTIgQEAgcHVibGljOgogICAgIERvdEV4cHJlc3Npb24oY29uc3Qg
RG90RXhwcmVzc2lvbiYpID0gZGVsZXRlOwogICAgIERvdEV4cHJlc3Npb24oRG90RXhwcmVzc2lv
biYmKSA9IGRlZmF1bHQ7CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJvcGVyYXRvci4iLCBtX2ZpZWxkTmFt
ZSk7Ci0gICAgfQotCi0gICAgU3RyaW5nIHNldHRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAg
ewotICAgICAgICByZXR1cm4gbWFrZVN0cmluZygib3BlcmF0b3IuIiwgbV9maWVsZE5hbWUsICI9
Iik7Ci0gICAgfQotCi0gICAgU3RyaW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJvcGVyYXRvciYuIiwgbV9maWVsZE5hbWUpOwot
ICAgIH0KLQogICAgIFN0cmluZyYgZmllbGROYW1lKCkgeyByZXR1cm4gbV9maWVsZE5hbWU7IH0K
IAogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9maWVsZE5hbWU7CisgICAgLy8gVGhpcyBpcyB1c2Vk
IHRvIGFsbG93IGZvciByZXBsYWNlV2l0aCBpbnRvIGEgYmlnZ2VyIHR5cGUuCisgICAgY2hhciBt
X3BhZGRpbmdbMTJdOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHByZXNzaW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xFeHBy
ZXNzaW9uLmNwcAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMRXhwcmVzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcy
LDkgKzcyLDYgQEAgdm9pZCBFeHByZXNzaW9uOjpkZXN0cm95KEV4cHJlc3Npb24mIGV4cAogICAg
IGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TWFrZVBvaW50ZXI6CiAgICAgICAgIGRlbGV0ZSAmZG93
bmNhc3Q8TWFrZVBvaW50ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgZGVsZXRl
ICZkb3duY2FzdDxOdWxsTGl0ZXJhbD4oZXhwcmVzc2lvbik7Ci0gICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6RG90OgogICAgICAgICBkZWxldGUgJmRvd25jYXN0PERv
dEV4cHJlc3Npb24+KGV4cHJlc3Npb24pOwogICAgICAgICBicmVhazsKQEAgLTEzOCw5ICsxMzUs
NiBAQCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0KEV4cHJlc3Npb24mIGV4CiAgICAgY2FzZSBF
eHByZXNzaW9uOjpLaW5kOjpNYWtlUG9pbnRlcjoKICAgICAgICAgZG93bmNhc3Q8TWFrZVBvaW50
ZXJFeHByZXNzaW9uPihleHByZXNzaW9uKS5+TWFrZVBvaW50ZXJFeHByZXNzaW9uKCk7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgRXhwcmVzc2lvbjo6S2luZDo6TnVsbExpdGVyYWw6Ci0gICAg
ICAgIGRvd25jYXN0PE51bGxMaXRlcmFsPihleHByZXNzaW9uKS5+TnVsbExpdGVyYWwoKTsKLSAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBFeHByZXNzaW9uOjpLaW5kOjpEb3Q6CiAgICAgICAgIGRv
d25jYXN0PERvdEV4cHJlc3Npb24+KGV4cHJlc3Npb24pLn5Eb3RFeHByZXNzaW9uKCk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMTY4LDMzICsxNjIsNiBAQCB2b2lkIEV4cHJlc3Npb246OmRlc3RydWN0
KEV4cHJlc3Npb24mIGV4CiAgICAgfQogfQogCi1TdHJpbmcgUHJvcGVydHlBY2Nlc3NFeHByZXNz
aW9uOjpnZXR0ZXJGdW5jdGlvbk5hbWUoKSBjb25zdAotewotICAgIGlmIChpczxEb3RFeHByZXNz
aW9uPigqdGhpcykpCi0gICAgICAgIHJldHVybiBkb3duY2FzdDxEb3RFeHByZXNzaW9uPigqdGhp
cykuZ2V0dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4oKnRo
aXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcykuZ2V0
dGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0K
LQotU3RyaW5nIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjo6c2V0dGVyRnVuY3Rpb25OYW1lKCkg
Y29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhwcmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1
cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0aW9uTmFtZSgpOwot
ICAgIGlmIChpczxJbmRleEV4cHJlc3Npb24+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEluZGV4RXhwcmVzc2lvbj4oKnRoaXMpLnNldHRlckZ1bmN0aW9uTmFtZSgpOwotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLVN0cmluZyBQcm9wZXJ0eUFjY2Vzc0V4
cHJlc3Npb246OmFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8RG90RXhw
cmVzc2lvbj4oKnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8RG90RXhwcmVzc2lvbj4o
KnRoaXMpLmFuZGVyRnVuY3Rpb25OYW1lKCk7Ci0gICAgaWYgKGlzPEluZGV4RXhwcmVzc2lvbj4o
KnRoaXMpKQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8SW5kZXhFeHByZXNzaW9uPigqdGhpcyku
YW5kZXJGdW5jdGlvbk5hbWUoKTsKLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBBU1QKIAogfSAvLyBuYW1lc3BhY2UgV0hMU0wKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEV4cHJlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAt
NjQsNyArNjQsNiBAQCBwdWJsaWM6CiAgICAgICAgIExvZ2ljYWxOb3QsCiAgICAgICAgIE1ha2VB
cnJheVJlZmVyZW5jZSwKICAgICAgICAgTWFrZVBvaW50ZXIsCi0gICAgICAgIE51bGxMaXRlcmFs
LAogICAgICAgICBSZWFkTW9kaWZ5V3JpdGUsCiAgICAgICAgIFRlcm5hcnksCiAgICAgICAgIFVu
c2lnbmVkSW50ZWdlckxpdGVyYWwsCkBAIC0xMTksOCArMTE4LDYgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgaWYgKGF1dG8qIHJlc29sdmVkVHlwZSA9IGNvbnN0X2Nhc3Q8RXhwcmVzc2lvbio+
KHRoaXMpLT5tYXliZVJlc29sdmVkVHlwZSgpKQogICAgICAgICAgICAgb3RoZXIuc2V0VHlwZSgq
cmVzb2x2ZWRUeXBlKTsKLSAgICAgICAgaWYgKGF1dG8qIHR5cGVBbm5vdGF0aW9uID0gbWF5YmVU
eXBlQW5ub3RhdGlvbigpKQotICAgICAgICAgICAgb3RoZXIuc2V0VHlwZUFubm90YXRpb24oVHlw
ZUFubm90YXRpb24oKnR5cGVBbm5vdGF0aW9uKSk7CiAgICAgfQogCiAgICAgS2luZCBraW5kKCkg
Y29uc3QgIHsgcmV0dXJuIG1fa2luZDsgfQpAQCAtMTM4LDcgKzEzNSw2IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzTG9naWNhbE5vdEV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0g
S2luZDo6TG9naWNhbE5vdDsgfQogICAgIGJvb2wgaXNNYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNz
aW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6Ok1ha2VBcnJheVJlZmVyZW5jZTsg
fQogICAgIGJvb2wgaXNNYWtlUG9pbnRlckV4cHJlc3Npb24oKSBjb25zdCB7IHJldHVybiBraW5k
KCkgPT0gS2luZDo6TWFrZVBvaW50ZXI7IH0KLSAgICBib29sIGlzTnVsbExpdGVyYWwoKSBjb25z
dCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6TnVsbExpdGVyYWw7IH0KICAgICBib29sIGlzUHJv
cGVydHlBY2Nlc3NFeHByZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gaXNEb3RFeHByZXNzaW9uKCkg
fHwgaXNJbmRleEV4cHJlc3Npb24oKTsgfQogICAgIGJvb2wgaXNSZWFkTW9kaWZ5V3JpdGVFeHBy
ZXNzaW9uKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlJlYWRNb2RpZnlXcml0ZTsg
fQogICAgIGJvb2wgaXNUZXJuYXJ5RXhwcmVzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9
PSBLaW5kOjpUZXJuYXJ5OyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJbmRleEV4cHJlc3Npb24uaAkocmV2
aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMSW5kZXhFeHByZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDIxICs1Miw2IEBA
IHB1YmxpYzoKICAgICBJbmRleEV4cHJlc3Npb24oY29uc3QgSW5kZXhFeHByZXNzaW9uJikgPSBk
ZWxldGU7CiAgICAgSW5kZXhFeHByZXNzaW9uKEluZGV4RXhwcmVzc2lvbiYmKSA9IGRlZmF1bHQ7
CiAKLSAgICBTdHJpbmcgZ2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAg
IHJldHVybiAib3BlcmF0b3JbXSJfc3RyOwotICAgIH0KLQotICAgIFN0cmluZyBzZXR0ZXJGdW5j
dGlvbk5hbWUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuICJvcGVyYXRvcltdPSJfc3Ry
OwotICAgIH0KLQotICAgIFN0cmluZyBhbmRlckZ1bmN0aW9uTmFtZSgpIGNvbnN0Ci0gICAgewot
ICAgICAgICByZXR1cm4gIm9wZXJhdG9yJltdIl9zdHI7Ci0gICAgfQotCiAgICAgRXhwcmVzc2lv
biYgaW5kZXhFeHByZXNzaW9uKCkgeyByZXR1cm4gbV9pbmRleDsgfQogICAgIFVuaXF1ZVJlZjxF
eHByZXNzaW9uPiB0YWtlSW5kZXgoKSB7IHJldHVybiBXVEZNb3ZlKG1faW5kZXgpOyB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5
cGVEZWNsYXJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyNDky
MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRp
dmVUeXBlRGVjbGFyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtODYsMTEgKzg2LDI5IEBAIHBy
aXZhdGU6CiBwdWJsaWM6CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZNYXRyaXhSb3dzKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBtYXRyaXhEaW1lbnNpb24oMSk7CisgICAgICAgIHJldHVybiBtYXRy
aXhEaW1lbnNpb24oMik7CiAgICAgfQogICAgIHVuc2lnbmVkIG51bWJlck9mTWF0cml4Q29sdW1u
cygpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0cml4RGltZW5zaW9uKDIpOworICAgICAgICBy
ZXR1cm4gbWF0cml4RGltZW5zaW9uKDEpOworICAgIH0KKworICAgIFR5cGVSZWZlcmVuY2UmIHZl
Y3RvclR5cGVBcmd1bWVudCgpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWZWN0b3IoKSk7Cisg
ICAgICAgIHJldHVybiBXVEY6OmdldDxSZWY8QVNUOjpUeXBlUmVmZXJlbmNlPj4odHlwZUFyZ3Vt
ZW50cygpWzBdKTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCB2ZWN0b3JTaXplKCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChpc1ZlY3RvcigpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6Z2V0PEFTVDo6
Q29uc3RhbnRFeHByZXNzaW9uPih0eXBlQXJndW1lbnRzKClbMV0pLmludGVnZXJMaXRlcmFsKCku
dmFsdWUoKTsKKyAgICB9CisKKyAgICBUeXBlUmVmZXJlbmNlJiBtYXRyaXhUeXBlQXJndW1lbnQo
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzTWF0cml4KCkpOworICAgICAgICByZXR1cm4gV1RG
OjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KHR5cGVBcmd1bWVudHMoKVswXSk7CiAgICAg
fQogCiAgICAgdm9pZCBzZXRJc0ludCgpIHsgbV9pc0ludCA9IHRydWU7IH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
TnVsbExpdGVyYWwuaAkocmV2aXNpb24gMjQ5MjI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWwuaAkobm9uZXhpc3RlbnQpCkBAIC0x
LDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJH
UFUpCi0KLSNpbmNsdWRlICJXSExTTEV4cHJlc3Npb24uaCIKLSNpbmNsdWRlICJXSExTTE51bGxM
aXRlcmFsVHlwZS5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotbmFtZXNwYWNlIFdITFNMIHsKLQotbmFtZXNwYWNlIEFTVCB7Ci0KLWNsYXNz
IE51bGxMaXRlcmFsIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb24gewotICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIE51bGxMaXRlcmFsKENvZGVMb2NhdGlvbiBsb2Nh
dGlvbikKLSAgICAgICAgOiBFeHByZXNzaW9uKGxvY2F0aW9uLCBLaW5kOjpOdWxsTGl0ZXJhbCkK
LSAgICB7Ci0gICAgfQotCi0gICAgfk51bGxMaXRlcmFsKCkgPSBkZWZhdWx0OwotCi0gICAgTnVs
bExpdGVyYWwoY29uc3QgTnVsbExpdGVyYWwmKSA9IGRlbGV0ZTsKLSAgICBOdWxsTGl0ZXJhbChO
dWxsTGl0ZXJhbCYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbCYgb3BlcmF0b3I9KGNv
bnN0IE51bGxMaXRlcmFsJikgPSBkZWxldGU7Ci0gICAgTnVsbExpdGVyYWwmIG9wZXJhdG9yPShO
dWxsTGl0ZXJhbCYmKSA9IGRlZmF1bHQ7Ci0KLSAgICBOdWxsTGl0ZXJhbFR5cGUmIHR5cGUoKSB7
IHJldHVybiBtX3R5cGU7IH0KLQotICAgIE51bGxMaXRlcmFsIGNsb25lKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gTnVsbExpdGVyYWwoY29kZUxvY2F0aW9uKCkpOwotICAg
ICAgICBpZiAoYXV0byogcmVzb2x2ZWRUeXBlID0gbV90eXBlLm1heWJlUmVzb2x2ZWRUeXBlKCkp
Ci0gICAgICAgICAgICByZXN1bHQubV90eXBlLnJlc29sdmUoY29uc3RfY2FzdDxBU1Q6OlVubmFt
ZWRUeXBlJj4oKnJlc29sdmVkVHlwZSkpOwotICAgICAgICBjb3B5VHlwZVRvKHJlc3VsdCk7Ci0g
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIE51bGxMaXRlcmFs
VHlwZSBtX3R5cGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBBU1QKLQotfQotCi19Ci0KLURFRklO
RV9ERUZBVUxUX0RFTEVURShOdWxsTGl0ZXJhbCkKLQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19X
SExTTF9FWFBSRVNTSU9OKE51bGxMaXRlcmFsLCBpc051bGxMaXRlcmFsKCkpCi0KLSNlbmRpZgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMTnVsbExpdGVyYWwuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUK
IyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVs
ZXRlZDogc3ZuOmtleXdvcmRzCiMjIC0xICswLDAgIyMKLUF1dGhvciBEYXRlIElkIFJldiBVUkwK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0
ZXJhbFR5cGUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwCShub25leGlzdGVudCkK
QEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXSExTTE51bGxMaXRlcmFsVHlwZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2lu
Y2x1ZGUgIldITFNMUmVmZXJlbmNlVHlwZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5h
bWVzcGFjZSBXSExTTCB7Ci0KLW5hbWVzcGFjZSBBU1QgewotCi1ib29sIE51bGxMaXRlcmFsVHlw
ZTo6Y2FuUmVzb2x2ZShjb25zdCBUeXBlJiB0eXBlKSBjb25zdAotewotICAgIGlmICghaXM8VW5u
YW1lZFR5cGU+KHR5cGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0byYgdW5uYW1l
ZFR5cGUgPSBkb3duY2FzdDxVbm5hbWVkVHlwZT4odHlwZSk7Ci0gICAgaWYgKCFpczxSZWZlcmVu
Y2VUeXBlPih1bm5hbWVkVHlwZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotdW5zaWduZWQgTnVsbExpdGVyYWxUeXBlOjpjb252ZXJzaW9uQ29zdChjb25z
dCBVbm5hbWVkVHlwZSYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIEFTVAotCi19Ci0KLX0KLQotI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3Bw
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVyYWxUeXBlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTnVsbExpdGVy
YWxUeXBlLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML0FTVC9XSExTTE51bGxMaXRlcmFsVHlwZS5oCShub25leGlzdGVudCkKQEAgLTEs
NzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotI2luY2x1ZGUgIldITFNMUmVzb2x2YWJsZVR5cGUuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dE1hbGxvYy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLW5hbWVzcGFjZSBXSExTTCB7Ci0K
LW5hbWVzcGFjZSBBU1QgewotCi1jbGFzcyBOdWxsTGl0ZXJhbFR5cGUgZmluYWwgOiBwdWJsaWMg
UmVzb2x2YWJsZVR5cGUgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgot
ICAgIE51bGxMaXRlcmFsVHlwZSgpCi0gICAgICAgIDogUmVzb2x2YWJsZVR5cGUoS2luZDo6TnVs
bExpdGVyYWwpCi0gICAgeyB9Ci0KLSAgICB+TnVsbExpdGVyYWxUeXBlKCkgPSBkZWZhdWx0Owot
Ci0gICAgTnVsbExpdGVyYWxUeXBlKGNvbnN0IE51bGxMaXRlcmFsVHlwZSYpID0gZGVsZXRlOwot
ICAgIE51bGxMaXRlcmFsVHlwZShOdWxsTGl0ZXJhbFR5cGUmJikgPSBkZWZhdWx0OwotCi0gICAg
TnVsbExpdGVyYWxUeXBlJiBvcGVyYXRvcj0oY29uc3QgTnVsbExpdGVyYWxUeXBlJikgPSBkZWxl
dGU7Ci0gICAgTnVsbExpdGVyYWxUeXBlJiBvcGVyYXRvcj0oTnVsbExpdGVyYWxUeXBlJiYpID0g
ZGVmYXVsdDsKLQotICAgIGJvb2wgY2FuUmVzb2x2ZShjb25zdCBUeXBlJikgY29uc3Q7Ci0gICAg
dW5zaWduZWQgY29udmVyc2lvbkNvc3QoY29uc3QgVW5uYW1lZFR5cGUmKSBjb25zdDsKLQotcHJp
dmF0ZToKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEFTVAotCi19Ci0KLX0KLQotREVGSU5FX0RFRkFV
TFRfREVMRVRFKE51bGxMaXRlcmFsVHlwZSkKLQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19XSExT
TF9UWVBFKE51bGxMaXRlcmFsVHlwZSwgaXNOdWxsTGl0ZXJhbFR5cGUoKSkKLQotI2VuZGlmCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9B
U1QvV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
RGVsZXRlZDogc3ZuOmtleXdvcmRzCiMjIC0xICswLDAgIyMKLUF1dGhvciBEYXRlIElkIFJldiBV
UkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dI
TFNMUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFByb3BlcnR5QWNjZXNzRXhw
cmVzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw0NSArNTMsMTIgQEAgcHVibGljOgogICAg
IFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihjb25zdCBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24m
KSA9IGRlbGV0ZTsKICAgICBQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oUHJvcGVydHlBY2Nlc3NF
eHByZXNzaW9uJiYpID0gZGVmYXVsdDsKIAotICAgIFN0cmluZyBnZXR0ZXJGdW5jdGlvbk5hbWUo
KSBjb25zdDsKLSAgICBTdHJpbmcgc2V0dGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0gICAgU3Ry
aW5nIGFuZGVyRnVuY3Rpb25OYW1lKCkgY29uc3Q7Ci0KLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9u
KiBnZXR0ZXJGdW5jdGlvbigpIHsgcmV0dXJuIG1fZ2V0dGVyRnVuY3Rpb247IH0KLSAgICBGdW5j
dGlvbkRlY2xhcmF0aW9uKiBhbmRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9hbmRlckZ1bmN0aW9u
OyB9Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiogdGhyZWFkQW5kZXJGdW5jdGlvbigpIHsgcmV0
dXJuIG1fdGhyZWFkQW5kZXJGdW5jdGlvbjsgfQotICAgIEZ1bmN0aW9uRGVjbGFyYXRpb24qIHNl
dHRlckZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zZXR0ZXJGdW5jdGlvbjsgfQotCi0gICAgdm9pZCBz
ZXRHZXR0ZXJGdW5jdGlvbihGdW5jdGlvbkRlY2xhcmF0aW9uKiBnZXR0ZXJGdW5jdGlvbikKLSAg
ICB7Ci0gICAgICAgIG1fZ2V0dGVyRnVuY3Rpb24gPSBnZXR0ZXJGdW5jdGlvbjsKLSAgICB9Ci0K
LSAgICB2b2lkIHNldEFuZGVyRnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogYW5kZXJGdW5j
dGlvbikKLSAgICB7Ci0gICAgICAgIG1fYW5kZXJGdW5jdGlvbiA9IGFuZGVyRnVuY3Rpb247Ci0g
ICAgfQotCi0gICAgdm9pZCBzZXRUaHJlYWRBbmRlckZ1bmN0aW9uKEZ1bmN0aW9uRGVjbGFyYXRp
b24qIHRocmVhZEFuZGVyRnVuY3Rpb24pCi0gICAgewotICAgICAgICBtX3RocmVhZEFuZGVyRnVu
Y3Rpb24gPSB0aHJlYWRBbmRlckZ1bmN0aW9uOwotICAgIH0KLQotICAgIHZvaWQgc2V0U2V0dGVy
RnVuY3Rpb24oRnVuY3Rpb25EZWNsYXJhdGlvbiogc2V0dGVyRnVuY3Rpb24pCi0gICAgewotICAg
ICAgICBtX3NldHRlckZ1bmN0aW9uID0gc2V0dGVyRnVuY3Rpb247Ci0gICAgfQotCiAgICAgRXhw
cmVzc2lvbiYgYmFzZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVuaXF1ZVJlZjxFeHByZXNz
aW9uPiYgYmFzZVJlZmVyZW5jZSgpIHsgcmV0dXJuIG1fYmFzZTsgfQogICAgIFVuaXF1ZVJlZjxF
eHByZXNzaW9uPiB0YWtlQmFzZSgpIHsgcmV0dXJuIFdURk1vdmUobV9iYXNlKTsgfQogCiBwcml2
YXRlOgogICAgIFVuaXF1ZVJlZjxFeHByZXNzaW9uPiBtX2Jhc2U7Ci0gICAgRnVuY3Rpb25EZWNs
YXJhdGlvbiogbV9nZXR0ZXJGdW5jdGlvbiB7IG51bGxwdHIgfTsKLSAgICBGdW5jdGlvbkRlY2xh
cmF0aW9uKiBtX2FuZGVyRnVuY3Rpb24geyBudWxscHRyIH07Ci0gICAgRnVuY3Rpb25EZWNsYXJh
dGlvbiogbV90aHJlYWRBbmRlckZ1bmN0aW9uIHsgbnVsbHB0ciB9OwotICAgIEZ1bmN0aW9uRGVj
bGFyYXRpb24qIG1fc2V0dGVyRnVuY3Rpb24geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBBU1QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML0FTVC9XSExTTFR5cGUuY3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzEsOSArNzEsNiBAQCB2b2lkIFR5cGU6OmRlc3Ryb3koVHlwZSYgdHlwZSkKICAgICBj
YXNlIEtpbmQ6OkludGVnZXJMaXRlcmFsOgogICAgICAgICBkZWxldGUgJmRvd25jYXN0PEludGVn
ZXJMaXRlcmFsVHlwZT4odHlwZSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgS2luZDo6TnVs
bExpdGVyYWw6Ci0gICAgICAgIGRlbGV0ZSAmZG93bmNhc3Q8TnVsbExpdGVyYWxUeXBlPih0eXBl
KTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFs
OgogICAgICAgICBkZWxldGUgJmRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPih0
eXBlKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMTUsOSArMTEyLDYgQEAgdm9pZCBUeXBlOjpkZXN0
cnVjdChUeXBlJiB0eXBlKQogICAgIGNhc2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAg
IGRvd25jYXN0PEludGVnZXJMaXRlcmFsVHlwZT4odHlwZSkufkludGVnZXJMaXRlcmFsVHlwZSgp
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEtpbmQ6Ok51bGxMaXRlcmFsOgotICAgICAgICBk
b3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KHR5cGUpLn5OdWxsTGl0ZXJhbFR5cGUoKTsKLSAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBLaW5kOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsOgogICAgICAg
ICBkb3duY2FzdDxVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZT4odHlwZSkuflVuc2lnbmVkSW50
ZWdlckxpdGVyYWxUeXBlKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTU3LDggKzE1MSw2IEBAIGJv
b2wgUmVzb2x2YWJsZVR5cGU6OmNhblJlc29sdmUoY29uc3QgVHkKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PEZsb2F0TGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGNh
c2UgS2luZDo6SW50ZWdlckxpdGVyYWw6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxJbnRlZ2Vy
TGl0ZXJhbFR5cGU+KCp0aGlzKS5jYW5SZXNvbHZlKHR5cGUpOwotICAgIGNhc2UgS2luZDo6TnVs
bExpdGVyYWw6Ci0gICAgICAgIHJldHVybiBkb3duY2FzdDxOdWxsTGl0ZXJhbFR5cGU+KCp0aGlz
KS5jYW5SZXNvbHZlKHR5cGUpOwogICAgIGNhc2UgS2luZDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJh
bDoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlPigq
dGhpcykuY2FuUmVzb2x2ZSh0eXBlKTsKICAgICBkZWZhdWx0OgpAQCAtMTczLDggKzE2NSw2IEBA
IHVuc2lnbmVkIFJlc29sdmFibGVUeXBlOjpjb252ZXJzaW9uQ29zdCgKICAgICAgICAgcmV0dXJu
IGRvd25jYXN0PEZsb2F0TGl0ZXJhbFR5cGU+KCp0aGlzKS5jb252ZXJzaW9uQ29zdCh0eXBlKTsK
ICAgICBjYXNlIEtpbmQ6OkludGVnZXJMaXRlcmFsOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8
SW50ZWdlckxpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7Ci0gICAgY2Fz
ZSBLaW5kOjpOdWxsTGl0ZXJhbDoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PE51bGxMaXRlcmFs
VHlwZT4oKnRoaXMpLmNvbnZlcnNpb25Db3N0KHR5cGUpOwogICAgIGNhc2UgS2luZDo6VW5zaWdu
ZWRJbnRlZ2VyTGl0ZXJhbDoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFVuc2lnbmVkSW50ZWdl
ckxpdGVyYWxUeXBlPigqdGhpcykuY29udmVyc2lvbkNvc3QodHlwZSk7CiAgICAgZGVmYXVsdDoK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xUeXBlLmgJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTFR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgs
NiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFJlc29sdmFibGVUeXBlcwogICAgICAgICBGbG9hdExp
dGVyYWwsCiAgICAgICAgIEludGVnZXJMaXRlcmFsLAotICAgICAgICBOdWxsTGl0ZXJhbCwKICAg
ICAgICAgVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwKICAgICB9OwogCkBAIC05Myw3ICs5Miw2IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgaXNGbG9hdExpdGVyYWxUeXBlKCkgY29uc3QgeyByZXR1cm4g
a2luZCgpID09IEtpbmQ6OkZsb2F0TGl0ZXJhbDsgfQogICAgIGJvb2wgaXNJbnRlZ2VyTGl0ZXJh
bFR5cGUoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gS2luZDo6SW50ZWdlckxpdGVyYWw7IH0K
LSAgICBib29sIGlzTnVsbExpdGVyYWxUeXBlKCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtp
bmQ6Ok51bGxMaXRlcmFsOyB9CiAgICAgYm9vbCBpc1Vuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBl
KCkgY29uc3QgeyByZXR1cm4ga2luZCgpID09IEtpbmQ6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWw7
IH0KIAogICAgIFR5cGUmIHVuaWZ5Tm9kZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlv
bldyaXRlci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML01ldGFsL1dITFNMRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02Myw3ICs2Myw1NyBAQCBzdGF0aWMgdm9pZCBkZWNsYXJlRnVuY3Rpb24oU3RyaW5nQnVp
bGRlCiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKIH0KIAorc3RydWN0IFZhcmlh
YmxlIHsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIG5hbWU7CisgICAgTWFuZ2xlZFR5cGVOYW1l
IHR5cGU7Cit9OworCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIgOiBwdWJsaWMgVmlz
aXRvciB7CisgICAgY2xhc3MgSG9pc3RlZFZhcmlhYmxlQ29sbGVjdG9yIDogcHVibGljIFZpc2l0
b3IgeworICAgICAgICBwdWJsaWM6CisgICAgICAgIEhvaXN0ZWRWYXJpYWJsZUNvbGxlY3RvcihG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXImIGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcikKKyAgICAg
ICAgICAgIDogZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKGZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCB2aXNpdChBU1Q6OkNhbGxF
eHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAg
ICAgVmVjdG9yPFZhcmlhYmxlPiB2YXJpYWJsZXM7CisgICAgICAgICAgICBzaXplX3Qgc2l6ZSA9
IGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKTsKKyAgICAgICAgICAgIGJvb2wgaXNW
b2lkID0gbWF0Y2hlcyhjYWxsRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSwgZnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyLm1faW50cmluc2ljcy52b2lkVHlwZSgpKTsKKyAgICAgICAgICAgIGlmICgh
aXNWb2lkKQorICAgICAgICAgICAgICAgICsrc2l6ZTsKKyAgICAgICAgICAgIHZhcmlhYmxlcy5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgICAgICAgICBmb3IgKGF1dG8mIGFy
Z3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKKyAgICAgICAgICAgICAgICBh
dXRvIHR5cGUgPSBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKGFyZ3VtZW50LT5yZXNvbHZlZFR5cGUoKSk7CisgICAgICAgICAgICAgICAgYXV0
byBuYW1lID0gZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFt
ZSgpOworICAgICAgICAgICAgICAgIHZhcmlhYmxlcy51bmNoZWNrZWRBcHBlbmQoVmFyaWFibGUg
eyBuYW1lLCB0eXBlIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIWlzVm9p
ZCkKKyAgICAgICAgICAgICAgICB2YXJpYWJsZXMudW5jaGVja2VkQXBwZW5kKFZhcmlhYmxlIHsg
ZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBmdW5j
dGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGNhbGxF
eHByZXNzaW9uLnJlc29sdmVkVHlwZSgpKSB9KTsKKworICAgICAgICAgICAgdG9Ib2lzdC5hZGQo
JmNhbGxFeHByZXNzaW9uLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAgICAgICBWaXNp
dG9yOjp2aXNpdChjYWxsRXhwcmVzc2lvbik7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHZp
c2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKSBvdmVy
cmlkZQorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8VmFyaWFibGU+IHZhcmlhYmxlczsK
KyAgICAgICAgICAgIHZhcmlhYmxlcy5hcHBlbmQoVmFyaWFibGUgeyBmdW5jdGlvbkRlZmluaXRp
b25Xcml0ZXIuZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCksIGZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlci5tX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUoKnJlYWRNb2RpZnlXcml0ZS5vbGRW
YWx1ZSgpLnR5cGUoKSkgfSk7CisgICAgICAgICAgICB2YXJpYWJsZXMuYXBwZW5kKFZhcmlhYmxl
IHsgZnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyLmdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpLCBm
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXIubV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpy
ZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKS50eXBlKCkpIH0pOworCisgICAgICAgICAgICB0b0hv
aXN0LmFkZCgmcmVhZE1vZGlmeVdyaXRlLCBXVEZNb3ZlKHZhcmlhYmxlcykpOworCisgICAgICAg
ICAgICBWaXNpdG9yOjp2aXNpdChyZWFkTW9kaWZ5V3JpdGUpOworICAgICAgICB9CisKKyAgICAg
ICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyJiBmdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI7Cisg
ICAgICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlhYmxlPj4gdG9Ib2lz
dDsKKyAgICB9OworCiBwdWJsaWM6CiAgICAgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyKFN0cmlu
Z0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIEludHJpbnNpY3MmIGludHJpbnNpY3MsIFR5cGVOYW1l
ciYgdHlwZU5hbWVyLCBIYXNoTWFwPEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbiosIE1hbmdsZWRG
dW5jdGlvbk5hbWU+JiBmdW5jdGlvbk1hcHBpbmcsIExheW91dCYgbGF5b3V0KQogICAgICAgICA6
IG1fc3RyaW5nQnVpbGRlcihzdHJpbmdCdWlsZGVyKQpAQCAtMTAwLDE0ICsxNTAsMTIgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0ZXJhbCYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgdmlzaXQoQVNUOjpVbnNpZ25lZEludGVnZXJMaXRlcmFsJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbCYpIG92ZXJyaWRlOwotICAgIHZvaWQgdmlz
aXQoQVNUOjpOdWxsTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpCb29s
ZWFuTGl0ZXJhbCYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQoQVNUOjpFbnVtZXJhdGlvbk1l
bWJlckxpdGVyYWwmKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2l0KEFTVDo6RXhwcmVzc2lvbiYp
IG92ZXJyaWRlOwotICAgIHZvaWQgdmlzaXQoQVNUOjpEb3RFeHByZXNzaW9uJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCB2aXNpdChBU1Q6Okdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlJikgb3ZlcnJpZGU7
CisgICAgdm9pZCB2aXNpdChBU1Q6OkRvdEV4cHJlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lk
IHZpc2l0KEFTVDo6SW5kZXhFeHByZXNzaW9uJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCB2aXNpdChB
U1Q6OlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaXQo
QVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6
OkFzc2lnbm1lbnRFeHByZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB2aXNpdChBU1Q6OkNh
bGxFeHByZXNzaW9uJikgb3ZlcnJpZGU7CkBAIC0xMzEsNjUgKzE3OSw2IEBAIHByb3RlY3RlZDoK
IAogICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCkgeyBy
ZXR1cm4geyBtX3ZhcmlhYmxlQ291bnQrKyB9OyB9CiAKLSAgICBlbnVtIGNsYXNzIE51bGxhYmls
aXR5IDogdWludDhfdCB7Ci0gICAgICAgIE5vdE51bGwsCi0gICAgICAgIENhbkJlTnVsbAotICAg
IH07Ci0KLSAgICBzdHJ1Y3QgU3RhY2tJdGVtIHsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSB2YWx1ZTsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWU7Ci0gICAgICAg
IE51bGxhYmlsaXR5IHZhbHVlTnVsbGFiaWxpdHk7Ci0gICAgICAgIE51bGxhYmlsaXR5IGxlZnRW
YWx1ZU51bGxhYmlsaXR5OwotICAgICAgICBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5h
bWUoKT4gZ2VuZXJhdGVMZWZ0VmFsdWU7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBTdGFja1ZhbHVl
IHsKLSAgICAgICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1ZTsKLSAgICAgICAgTnVsbGFiaWxp
dHkgbnVsbGFiaWxpdHk7Ci0gICAgfTsKLQotICAgIC8vIFRoaXMgaXMgdGhlIGltcG9ydGFudCBk
YXRhIGZsb3cgc3RlcCB3aGVyZSB3ZSBjYW4gdGFrZSB0aGUgbnVsbGFiaWxpdHkgb2YgYW4gbHZh
bHVlCi0gICAgLy8gYW5kIHRyYW5zZmVyIGl0IGludG8gdGhlIG51bGxhYmlsaXR5IG9mIGFuIHJ2
YWx1ZS4gVGhpcyBpcyBjb252ZXllZCBpbiBNYWtlUG9pbnRlckV4cHJlc3Npb24KLSAgICAvLyBh
bmQgRGVyZWZlcmVuY2VFeHByZXNzaW9uLiBNYWtlUG9pbnRlckV4cHJlc3Npb24gd2lsbCB0cnkg
dG8gcHJvZHVjZSBydmFsdWVzIHdoaWNoIGFyZQotICAgIC8vIG5vbi1udWxsLCBhbmQgRGVyZWZl
cmVuY2VFeHByZXNzaW9uIHdpbGwgdGFrZSBhIG5vbi1udWxsIHJ2YWx1ZSBhbmQgdHJ5IHRvIHBy
b2R1Y2UKLSAgICAvLyBhIG5vbi1udWxsIGx2YWx1ZS4KLSAgICB2b2lkIGFwcGVuZFJpZ2h0VmFs
dWVXaXRoTnVsbGFiaWxpdHkoQVNUOjpFeHByZXNzaW9uJiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2
YWx1ZSwgTnVsbGFiaWxpdHkgbnVsbGFiaWxpdHkpCi0gICAgewotICAgICAgICBtX3N0YWNrLmFw
cGVuZCh7IFdURk1vdmUodmFsdWUpLCB7IH0sIG51bGxhYmlsaXR5LCBOdWxsYWJpbGl0eTo6Q2Fu
QmVOdWxsLCB7IH0gfSk7Ci0gICAgfQotCi0gICAgdm9pZCBhcHBlbmRSaWdodFZhbHVlKEFTVDo6
RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFuZ2xlZFZhcmlhYmxlTmFtZSB2YWx1ZSkKLSAgICB7
Ci0gICAgICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRoTnVsbGFiaWxpdHkoZXhwcmVzc2lvbiwgV1RG
TW92ZSh2YWx1ZSksIE51bGxhYmlsaXR5OjpDYW5CZU51bGwpOwotICAgIH0KLQotICAgIHZvaWQg
YXBwZW5kTGVmdFZhbHVlKEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbiwgTWFuZ2xlZFZhcmlh
YmxlTmFtZSB2YWx1ZSwgTWFuZ2xlZFZhcmlhYmxlTmFtZSBsZWZ0VmFsdWUsIE51bGxhYmlsaXR5
IG51bGxhYmlsaXR5LCBzdGQ6OmZ1bmN0aW9uPE1hbmdsZWRWYXJpYWJsZU5hbWUoKT4gZ2VuZXJh
dGVMZWZ0VmFsdWUgPSB7IH0pCi0gICAgewotICAgICAgICBBU1NFUlRfVU5VU0VEKGV4cHJlc3Np
b24sIGV4cHJlc3Npb24udHlwZUFubm90YXRpb24oKS5sZWZ0QWRkcmVzc1NwYWNlKCkpOwotICAg
ICAgICBBU1NFUlQobGVmdFZhbHVlIHx8IGdlbmVyYXRlTGVmdFZhbHVlKTsKLSAgICAgICAgbV9z
dGFjay5hcHBlbmQoeyBXVEZNb3ZlKHZhbHVlKSwgV1RGTW92ZShsZWZ0VmFsdWUpLCBOdWxsYWJp
bGl0eTo6Q2FuQmVOdWxsLCBudWxsYWJpbGl0eSwgV1RGTW92ZShnZW5lcmF0ZUxlZnRWYWx1ZSkg
fSk7Ci0gICAgfQotCi0gICAgTWFuZ2xlZFZhcmlhYmxlTmFtZSB0YWtlTGFzdFZhbHVlKCkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBtX3N0YWNrLnRha2VMYXN0KCkudmFsdWU7Ci0gICAgfQotCi0g
ICAgU3RhY2tWYWx1ZSB0YWtlTGFzdFZhbHVlQW5kTnVsbGFiaWxpdHkoKQotICAgIHsKLSAgICAg
ICAgYXV0byBsYXN0ID0gbV9zdGFjay50YWtlTGFzdCgpOwotICAgICAgICByZXR1cm4geyBsYXN0
LnZhbHVlLCBsYXN0LnZhbHVlTnVsbGFiaWxpdHkgfTsKLSAgICB9Ci0KLSAgICBTdGFja1ZhbHVl
IHRha2VMYXN0TGVmdFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8gbGFzdCA9IG1fc3RhY2su
dGFrZUxhc3QoKTsKLSAgICAgICAgaWYgKCFsYXN0LmxlZnRWYWx1ZSkKLSAgICAgICAgICAgIGxh
c3QubGVmdFZhbHVlID0gbGFzdC5nZW5lcmF0ZUxlZnRWYWx1ZSgpOwotICAgICAgICByZXR1cm4g
eyBsYXN0LmxlZnRWYWx1ZSwgbGFzdC5sZWZ0VmFsdWVOdWxsYWJpbGl0eSB9OwotICAgIH0KLQog
ICAgIGVudW0gY2xhc3MgQnJlYWtDb250ZXh0IHsKICAgICAgICAgTG9vcCwKICAgICAgICAgU3dp
dGNoCkBAIC0yMDMsMTIgKzE5MiwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgSGFzaE1hcDxBU1Q6OkZ1
bmN0aW9uRGVjbGFyYXRpb24qLCBNYW5nbGVkRnVuY3Rpb25OYW1lPiYgbV9mdW5jdGlvbk1hcHBp
bmc7CiAgICAgSGFzaE1hcDxBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24qLCBNYW5nbGVkVmFyaWFi
bGVOYW1lPiBtX3ZhcmlhYmxlTWFwcGluZzsKIAotICAgIFZlY3RvcjxTdGFja0l0ZW0+IG1fc3Rh
Y2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5UG9pbnRTY2FmZm9sZGluZz4gbV9lbnRyeVBv
aW50U2NhZmZvbGRpbmc7CiAgICAgTGF5b3V0JiBtX2xheW91dDsKICAgICB1bnNpZ25lZCBtX3Zh
cmlhYmxlQ291bnQgeyAwIH07CiAgICAgT3B0aW9uYWw8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gbV9i
cmVha091dE9mQ3VycmVudExvb3BFYXJseVZhcmlhYmxlOwogICAgIEluZGVudGF0aW9uPDQ+IG1f
aW5kZW50IHsgMCB9OworICAgIEhhc2hNYXA8QVNUOjpFeHByZXNzaW9uKiwgVmVjdG9yPFZhcmlh
YmxlPj4gbV9ob2lzdGVkVmFyaWFibGVzOwogfTsKIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25X
cml0ZXI6OnZpc2l0KEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYpCkBAIC0yMTgsNiAr
MjA3LDIwIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKIAogdm9p
ZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9u
JiBmdW5jdGlvbkRlZmluaXRpb24pCiB7CisKKyAgICB7CisgICAgICAgIEhvaXN0ZWRWYXJpYWJs
ZUNvbGxlY3RvciBjb2xsZWN0b3IoKnRoaXMpOworICAgICAgICBjb2xsZWN0b3IuVmlzaXRvcjo6
dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsKKyAgICAgICAgbV9ob2lzdGVkVmFyaWFibGVzID0g
V1RGTW92ZShjb2xsZWN0b3IudG9Ib2lzdCk7CisgICAgfQorCisgICAgYXV0byBkZWZpbmVIb2lz
dGVkVmFyaWFibGVzID0gWyZdIHsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiB2ZWN0b3IgOiBt
X2hvaXN0ZWRWYXJpYWJsZXMudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byB2YXJp
YWJsZSA6IHZlY3RvcikKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1f
aW5kZW50LCB2YXJpYWJsZS50eXBlLCAnICcsIHZhcmlhYmxlLm5hbWUsICI7XG4iKTsKKyAgICAg
ICAgfQorICAgIH07CisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9mdW5jdGlvbk1hcHBpbmcuZmlu
ZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlv
bk1hcHBpbmcuZW5kKCkpOwogICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb24uZW50cnlQb2ludFR5
cGUoKSkgewpAQCAtMjM4LDggKzI0MSwxMCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUCiAgICAgICAgICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX3ZhcmlhYmxl
TWFwcGluZy5hZGQoJmZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV0sIG1fZW50cnlQ
b2ludFNjYWZmb2xkaW5nLT5wYXJhbWV0ZXJWYXJpYWJsZXMoKVtpXSk7CiAgICAgICAgICAgICAg
ICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygpOworCiAgICAg
ICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uLmJsb2NrKCkpOwot
ICAgICAgICAgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICAgICAgfQogICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJ9XG5cbiIpOwogCkBAIC0yNDgsMTcgKzI1MywyMiBA
QCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgICAgIEFTU0VS
VChtX2VudHJ5UG9pbnRTY2FmZm9sZGluZyA9PSBudWxscHRyKTsKICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGZ1
bmN0aW9uRGVmaW5pdGlvbi50eXBlKCkpLCAnICcsIGl0ZXJhdG9yLT52YWx1ZSwgJygnKTsKICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmdW5jdGlvbkRlZmluaXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvJiBwYXJhbWV0ZXIgPSBmdW5jdGlv
bkRlZmluaXRpb24ucGFyYW1ldGVycygpW2ldOwogICAgICAgICAgICAgaWYgKGkpCiAgICAgICAg
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAgICAgIGF1dG8m
IHBhcmFtZXRlciA9IGZ1bmN0aW9uRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKClbaV07CiAgICAgICAg
ICAgICBhdXRvIHBhcmFtZXRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAg
ICAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZwYXJhbWV0
ZXIsIHBhcmFtZXRlck5hbWUpOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQs
IGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpwYXJhbWV0ZXItPnR5cGUoKSksICcg
JywgcGFyYW1ldGVyTmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgiKVxuIik7CisKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgie1xuIik7CisK
KyAgICAgICAgZGVmaW5lSG9pc3RlZFZhcmlhYmxlcygpOworCiAgICAgICAgIGNoZWNrRXJyb3JB
bmRWaXNpdChmdW5jdGlvbkRlZmluaXRpb24uYmxvY2soKSk7Ci0gICAgICAgIEFTU0VSVChtX3N0
YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIn1cbiIpOwog
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCdcbicpOwogICAgIH0KIH0KQEAgLTMwOSw4
ICszMTksOSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkVmZmVjdGZ1bEV4cHJlc3Np
b25TdGF0ZW1lbnQmIGVmZmVjdGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQpCiB7CisgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCk7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGVmZmVj
dGZ1bEV4cHJlc3Npb25TdGF0ZW1lbnQuZWZmZWN0ZnVsRXhwcmVzc2lvbigpKTsKLSAgICB0YWtl
TGFzdFZhbHVlKCk7IC8vIFRoZSBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBlZmZlY3RmdWwsIHNvIHdl
IGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgd2l0aCB0aGUgcmVzdWx0LgorICAgIG1fc3RyaW5n
QnVpbGRlci5hcHBlbmQoIjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpGYWxsdGhyb3VnaCYpCkBAIC0zMzAsMTAgKzM0MSwxMiBAQCB2b2lkIEZ1
bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6ZW1pdExvb3AoCiAgICAgICAgIEluZGVudGF0aW9uU2Nv
cGUgd2hpbGVTY29wZShtX2luZGVudCk7CiAKICAgICAgICAgaWYgKGxvb3BDb25kaXRpb25Mb2Nh
dGlvbiA9PSBMb29wQ29uZGl0aW9uTG9jYXRpb246OkJlZm9yZUJvZHkgJiYgY29uZGl0aW9uRXhw
cmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZp
c2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUo
KSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAg
ICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAgICAgICAgICAgIiAgICBicmVhaztcbiIpOwog
ICAgICAgICB9CiAKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgImRv
IHtcbiIpOwpAQCAtMzUwLDE3ICszNjMsMTggQEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0
ZXI6OmVtaXRMb29wKAogICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKIAog
ICAgICAgICBpZiAoaW5jcmVtZW50KSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCIoIik7CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKmluY3JlbWVudCk7Ci0g
ICAgICAgICAgICAvLyBFeHByZXNzaW9uIHJlc3VsdHMgZ2V0IHB1c2hlZCB0byBtX3N0YWNrLiBX
ZSBkb24ndCB1c2UgdGhlIHJlc3VsdAotICAgICAgICAgICAgLy8gb2YgaW5jcmVtZW50LCBzbyB3
ZSBkaXNwZW5zZSBvZiB0aGF0IG5vdy4KLSAgICAgICAgICAgIHRha2VMYXN0VmFsdWUoKTsKKyAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChsb29wQ29uZGl0aW9uTG9jYXRpb24gPT0gTG9vcENvbmRpdGlvbkxvY2F0aW9u
OjpBZnRlckJvZHkgJiYgY29uZGl0aW9uRXhwcmVzc2lvbikgeworICAgICAgICAgICAgbV9zdHJp
bmdCdWlsZGVyLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBtX2luZGVudCwgImlmICghKCIpOwog
ICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KCpjb25kaXRpb25FeHByZXNzaW9uKTsKICAg
ICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgbV9pbmRl
bnQsICJpZiAoISIsIHRha2VMYXN0VmFsdWUoKSwgIilcbiIsCi0gICAgICAgICAgICAgICAgbV9p
bmRlbnQsICIgICAgYnJlYWs7XG4iKTsKKyAgICAgICAgICAgICAgICAiKSlcbiIsCisgICAgICAg
ICAgICAgICAgIiAgICBicmVhaztcbiIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0zOTAsMTIg
KzQwNCwxNSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OklmU3RhdGVtZW50JiBpZlN0
YXRlbWVudCkKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIp
OwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChpZlN0YXRlbWVudC5jb25kaXRpb25hbCgpKTsKLSAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAiaWYgKCIsIHRha2VMYXN0VmFsdWUo
KSwgIikge1xuIik7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSB7XG4iKTsKKwogICAg
IHsKICAgICAgICAgSW5kZW50YXRpb25TY29wZSBpZlNjb3BlKG1faW5kZW50KTsKICAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KGlmU3RhdGVtZW50LmJvZHkoKSk7CiAgICAgfQorCiAgICAgaWYg
KGlmU3RhdGVtZW50LmVsc2VCb2R5KCkpIHsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZChtX2luZGVudCwgIn0gZWxzZSB7XG4iKTsKICAgICAgICAgewpAQCAtNDAzLDI5ICs0MjAsMzQg
QEAgdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVAogICAgICAgICAgICAg
Y2hlY2tFcnJvckFuZFZpc2l0KCppZlN0YXRlbWVudC5lbHNlQm9keSgpKTsKICAgICAgICAgfQog
ICAgIH0KKwogICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJ9XG4iKTsKIH0K
IAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmV0dXJuJiByZXR1
cm5TdGF0ZW1lbnQpCiB7CiAgICAgaWYgKHJldHVyblN0YXRlbWVudC52YWx1ZSgpKSB7CisgICAg
ICAgIGF1dG8gdGVtcFJldHVybk5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsgCisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShyZXR1cm5TdGF0ZW1lbnQudmFsdWUoKS0+cmVzb2x2ZWRUeXBlKCkpLCAn
ICcsIHRlbXBSZXR1cm5OYW1lLCAiID0gIik7IAogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQo
KnJldHVyblN0YXRlbWVudC52YWx1ZSgpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiO1xuIik7CiAKICAgICAgICAgaWYgKG1fZW50cnlQb2ludFNjYWZmb2xkaW5nKSB7CiAgICAg
ICAgICAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwot
ICAgICAgICAgICAgbV9lbnRyeVBvaW50U2NhZmZvbGRpbmctPmVtaXRQYWNrKG1fc3RyaW5nQnVp
bGRlciwgdGFrZUxhc3RWYWx1ZSgpLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKKyAgICAgICAg
ICAgIG1fZW50cnlQb2ludFNjYWZmb2xkaW5nLT5lbWl0UGFjayhtX3N0cmluZ0J1aWxkZXIsIHRl
bXBSZXR1cm5OYW1lLCB2YXJpYWJsZU5hbWUsIG1faW5kZW50KTsKICAgICAgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdmFyaWFibGVOYW1lLCAiO1xu
Iik7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInJldHVybiAiLCB0YWtlTGFzdFZhbHVlKCksICI7XG4iKTsKKyAgICAgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICJyZXR1cm4gIiwgdGVtcFJldHVybk5h
bWUsICI7XG4iKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCht
X2luZGVudCwgInJldHVybjtcbiIpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRl
cjo6dmlzaXQoQVNUOjpTd2l0Y2hTdGF0ZW1lbnQmIHN3aXRjaFN0YXRlbWVudCkKIHsKKyAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAic3dpdGNoICgiKTsKICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoc3dpdGNoU3RhdGVtZW50LnZhbHVlKCkpOworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIikgeyIpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwg
InN3aXRjaCAoIiwgdGFrZUxhc3RWYWx1ZSgpLCAiKSB7Iik7CiAgICAgewogICAgICAgICBJbmRl
bnRhdGlvblNjb3BlIHN3aXRjaFNjb3BlKG1faW5kZW50KTsKICAgICAgICAgZm9yIChhdXRvJiBz
d2l0Y2hDYXNlIDogc3dpdGNoU3RhdGVtZW50LnN3aXRjaENhc2VzKCkpCkBAIC00NTQsNTkgKzQ3
NiwzNCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKIHZvaWQg
RnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsJiBpbnRl
Z2VyTGl0ZXJhbCkKIHsKLSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlh
YmxlTmFtZSgpOwogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xl
ZE5hbWVGb3JUeXBlKGludGVnZXJMaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVO
YW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0
ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW50ZWdlckxpdGVy
YWwsIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgic3RhdGljX2Nh
c3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBpbnRlZ2VyTGl0ZXJhbC52YWx1ZSgpLCAiKSIp
OwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpVbnNpZ25l
ZEludGVnZXJMaXRlcmFsJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsKQogewotICAgIGF1dG8gdmFy
aWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVk
VHlwZU5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUodW5zaWduZWRJbnRlZ2Vy
TGl0ZXJhbC5yZXNvbHZlZFR5cGUoKSk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9IHN0YXRpY19jYXN0
PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgdW5zaWduZWRJbnRlZ2VyTGl0ZXJhbC52YWx1ZSgp
LCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbCwg
dmFyaWFibGVOYW1lKTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwi
LCBtYW5nbGVkVHlwZU5hbWUsICI+KCIsIHVuc2lnbmVkSW50ZWdlckxpdGVyYWwudmFsdWUoKSwg
IikiKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Rmxv
YXRMaXRlcmFsJiBmbG9hdExpdGVyYWwpCiB7Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5l
cmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKICAgICBhdXRvIG1hbmdsZWRUeXBlTmFtZSA9IG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShmbG9hdExpdGVyYWwucmVzb2x2ZWRUeXBlKCkpOwot
ICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAn
LCB2YXJpYWJsZU5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtYW5nbGVkVHlwZU5hbWUsICI+KCIs
IGZsb2F0TGl0ZXJhbC52YWx1ZSgpLCAiKTtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoZmxv
YXRMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOwotfQotCi12b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldy
aXRlcjo6dmlzaXQoQVNUOjpOdWxsTGl0ZXJhbCYgbnVsbExpdGVyYWwpCi17Ci0gICAgYXV0byYg
dW5pZnlOb2RlID0gbnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkudW5pZnlOb2RlKCk7Ci0gICAg
YXV0byYgdW5uYW1lZFR5cGUgPSBkb3duY2FzdDxBU1Q6OlVubmFtZWRUeXBlPih1bmlmeU5vZGUp
OwotICAgIGJvb2wgaXNBcnJheVJlZmVyZW5jZVR5cGUgPSBpczxBU1Q6OkFycmF5UmVmZXJlbmNl
VHlwZT4odW5uYW1lZFR5cGUpOwotCi0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5l
eHRWYXJpYWJsZU5hbWUoKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBt
X3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobnVsbExpdGVyYWwucmVzb2x2ZWRUeXBlKCkp
LCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIpOwotICAgIGlmIChpc0FycmF5UmVmZXJlbmNlVHlw
ZSkKLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgieyBudWxscHRyLCAwIH07XG4iKTsK
LSAgICBlbHNlCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIm51bGxwdHI7XG4iKTsK
LSAgICBhcHBlbmRSaWdodFZhbHVlKG51bGxMaXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1f
c3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4o
IiwgZmxvYXRMaXRlcmFsLnZhbHVlKCksICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkJvb2xlYW5MaXRlcmFsJiBib29sZWFuTGl0ZXJhbCkKIHsK
LSAgICBhdXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAg
IGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKGJv
b2xlYW5MaXRlcmFsLnJlc29sdmVkVHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5k
KG1faW5kZW50LCBtYW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gc3RhdGlj
X2Nhc3Q8IiwgbWFuZ2xlZFR5cGVOYW1lLCAiPigiLCBib29sZWFuTGl0ZXJhbC52YWx1ZSgpID8g
InRydWUiIDogImZhbHNlIiwgIik7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlKGJvb2xlYW5M
aXRlcmFsLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInN0YXRp
Y19jYXN0PCIsIG1hbmdsZWRUeXBlTmFtZSwgIj4oIiwgYm9vbGVhbkxpdGVyYWwudmFsdWUoKSA/
ICJ0cnVlIiA6ICJmYWxzZSIsICIpIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3Jp
dGVyOjp2aXNpdChBU1Q6OkVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCYgZW51bWVyYXRpb25NZW1i
ZXJMaXRlcmFsKQogewogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwuZW51bWVy
YXRpb25EZWZpbml0aW9uKCkpOwogICAgIEFTU0VSVChlbnVtZXJhdGlvbk1lbWJlckxpdGVyYWwu
ZW51bWVyYXRpb25EZWZpbml0aW9uKCkpOwotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CiAgICAgYXV0byBtYW5nbGVkVHlwZU5hbWUgPSBtX3R5cGVO
YW1lci5tYW5nbGVkTmFtZUZvclR5cGUoZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLnJlc29sdmVk
VHlwZSgpKTsKLSAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5nbGVkVHlw
ZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0gIiwgbWFuZ2xlZFR5cGVOYW1lLCAiOjoiLCBt
X3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvckVudW1lcmF0aW9uTWVtYmVyKCplbnVtZXJhdGlvbk1l
bWJlckxpdGVyYWwuZW51bWVyYXRpb25NZW1iZXIoKSksICI7XG4iKTsKLSAgICBhcHBlbmRSaWdo
dFZhbHVlKGVudW1lcmF0aW9uTWVtYmVyTGl0ZXJhbCwgdmFyaWFibGVOYW1lKTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIjo6IiwgbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JFbnVtZXJhdGlvbk1lbWJlcigqZW51bWVyYXRpb25NZW1iZXJMaXRlcmFsLmVu
dW1lcmF0aW9uTWVtYmVyKCkpKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6
OnZpc2l0KEFTVDo6RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikKQEAgLTUxNCw1MCArNTExLDk0IEBA
IHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBWaXNpdG9yOjp2
aXNpdChleHByZXNzaW9uKTsKIH0KIAotdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhwcmVzc2lvbikKLXsKLSAgICAvLyBUaGlzIHNo
b3VsZCBiZSBsb3dlcmVkIGFscmVhZHkuCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3ODggUmVwbGFjZSB0aGlzIHdpdGggQVNTRVJUX05P
VF9SRUFDSEVEKCkuCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBhcHBlbmRSaWdodFZhbHVl
KGRvdEV4cHJlc3Npb24sIGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpKTsKLX0KLQogdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6R2xvYmFsVmFyaWFibGVSZWZlcmVu
Y2UmIGdsb2JhbFZhcmlhYmxlUmVmZXJlbmNlKQogewotICAgIGF1dG8gdmFsdWVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgTWFuZ2xlZFR5cGVOYW1lIG1hbmdsZWRUeXBl
TmFtZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShnbG9iYWxWYXJpYWJsZVJlZmVy
ZW5jZS5yZXNvbHZlZFR5cGUoKSk7Ci0KLSAgICBjaGVja0Vycm9yQW5kVmlzaXQoZ2xvYmFsVmFy
aWFibGVSZWZlcmVuY2UuYmFzZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHN0cnVjdFZh
cmlhYmxlID0gdGFrZUxhc3RWYWx1ZSgpOwotCiAgICAgTWFuZ2xlZFN0cnVjdHVyZUVsZW1lbnRO
YW1lIG1hbmdsZWRGaWVsZE5hbWUgPSBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclN0cnVjdHVy
ZUVsZW1lbnQoZ2xvYmFsVmFyaWFibGVSZWZlcmVuY2Uuc3RydWN0RmllbGQoKSk7CisgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGNoZWNrRXJyb3JBbmRWaXNpdChnbG9iYWxW
YXJpYWJsZVJlZmVyZW5jZS5iYXNlKCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikt
PiIsIG1hbmdsZWRGaWVsZE5hbWUpOworfQogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YWx1ZU5hbWUsICIgPSAi
LCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIpOwordm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6RG90RXhwcmVzc2lvbiYgZG90RXhw
cmVzc2lvbikKK3sKKyAgICBhdXRvJiB0eXBlID0gZG90RXhwcmVzc2lvbi5iYXNlKCkucmVzb2x2
ZWRUeXBlKCkudW5pZnlOb2RlKCk7CiAKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xvYmFsVmFyaWFi
bGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVsbCwKLSAgICAg
ICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmdsZWRGaWVsZE5h
bWVdIHsKLSAgICAgICAgICAgIGF1dG8gcG9pbnRlck5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJs
ZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgbV9pbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5cGVOYW1lLCAiKiAiLCBwb2ludGVy
TmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+IiwgbWFuZ2xlZEZpZWxkTmFtZSwgIjtc
biIpOwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBp
ZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0eXBlKSkgeworICAgICAgICBhdXRvJiBz
dHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPih0
eXBlKTsKKyAgICAgICAgYXV0byogc3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRp
b24uZmluZChkb3RFeHByZXNzaW9uLmZpZWxkTmFtZSgpKTsKKyAgICAgICAgQVNTRVJUKHN0cnVj
dHVyZUVsZW1lbnQpOworICAgICAgICBhdXRvIGVsZW1lbnROYW1lID0gbV90eXBlTmFtZXIubWFu
Z2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1Y3R1cmVFbGVtZW50KTsKKworICAgICAg
ICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChkb3RFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikuIiwgZWxlbWVudE5hbWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIFN0cmluZyBlbGVtZW50
TmFtZSA9IGRvdEV4cHJlc3Npb24uZmllbGROYW1lKCk7CisgICAgICAgIGlmIChlbGVtZW50TmFt
ZSA9PSAibGVuZ3RoIiAmJiAoaXM8QVNUOjpBcnJheVJlZmVyZW5jZVR5cGU+KHR5cGUpIHx8IGlz
PEFTVDo6QXJyYXlUeXBlPih0eXBlKSB8fCAoaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+
KHR5cGUpICYmIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPih0eXBlKS5pc1Zl
Y3RvcigpKSkpIHsKKyAgICAgICAgICAgIGlmIChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4o
dHlwZSkpIHsKKyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7Cisg
ICAgICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsK
KyAgICAgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLmxlbmd0aCIpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChpczxBU1Q6OkFycmF5VHlwZT4odHlwZSkpIHsKKyAgICAgICAg
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICBt
X3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6QXJyYXlUeXBlPih0eXBl
KS5udW1FbGVtZW50cygpLCAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAgICAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKyAgICAgICAgICAgICAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPih0eXBlKS52ZWN0b3JTaXplKCksICIpIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgICAg
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZG90RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICAg
ICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKS4iLCBlbGVtZW50TmFtZSk7CisgICAgICAgIH0K
KyAgICB9CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6Oklu
ZGV4RXhwcmVzc2lvbiYgaW5kZXhFeHByZXNzaW9uKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJl
IGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9UX1JFQUNI
RUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoaW5kZXhF
eHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Ci19CisgICAgLy8gRklYTUU6
IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGluZGV4IGFuZCBiYXNlIHR3aWNlIGRvZXNuJ3Qg
ZXhlY3V0ZSBlZmZlY3RzIHR3aWNlOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDEyNTEKKworICAgIGF1dG8mIHR5cGUgPSBpbmRleEV4cHJlc3Npb24u
YmFzZSgpLnJlc29sdmVkVHlwZSgpLnVuaWZ5Tm9kZSgpOworICAgIGlmIChpczxBU1Q6OkFycmF5
UmVmZXJlbmNlVHlwZT4odHlwZSkpIHsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KCcpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7
CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikucG9pbnRlclsoIik7CisgICAgICAg
IGNoZWNrRXJyb3JBbmRWaXNpdChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIpIDwgKCIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQoaW5kZXhFeHByZXNzaW9uLmJhc2UoKSk7CisgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoIikubGVuZ3RoID8gIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChp
bmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIgOiAwXSIpOworICAgIH0gZWxzZSBpZiAoaXM8QVNUOjpBcnJheVR5cGU+KHR5
cGUpKSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hl
Y2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKCIpLmRhdGEoKVsoIik7CisgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNp
dChpbmRleEV4cHJlc3Npb24uaW5kZXhFeHByZXNzaW9uKCkpOworICAgICAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpIDwgIiwgZG93bmNhc3Q8QVNUOjpBcnJheVR5cGU+KHR5cGUpLm51bUVs
ZW1lbnRzKCksICIgPyAiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVz
c2lvbi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiA6IDBdIik7CisgICAgfSBlbHNlIGlmIChpczxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
dHlwZSkpIHsKKyAgICAgICAgYXV0byYgbmF0aXZlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZl
VHlwZURlY2xhcmF0aW9uPih0eXBlKTsKKyAgICAgICAgdW5zaWduZWQgc2l6ZTsKKyAgICAgICAg
aWYgKG5hdGl2ZVR5cGUuaXNNYXRyaXgoKSkKKyAgICAgICAgICAgIHNpemUgPSBuYXRpdmVUeXBl
Lm51bWJlck9mTWF0cml4Q29sdW1ucygpOworICAgICAgICBlbHNlIGlmIChuYXRpdmVUeXBlLmlz
VmVjdG9yKCkpCisgICAgICAgICAgICBzaXplID0gbmF0aXZlVHlwZS52ZWN0b3JTaXplKCk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAK
LXZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlByb3BlcnR5QWNjZXNz
RXhwcmVzc2lvbiYgcHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKQotewotICAgIC8vIFRoaXMgc2hv
dWxkIGJlIGxvd2VyZWQgYWxyZWFkeS4KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4OCBSZXBsYWNlIHRoaXMgd2l0aCBBU1NFUlRfTk9U
X1JFQUNIRUQoKS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUo
cHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLCBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGluZGV4RXhwcmVzc2lvbi5iYXNlKCkpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpWygiKTsKKyAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGluZGV4RXhwcmVzc2lv
bi5pbmRleEV4cHJlc3Npb24oKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA8
ICIsIHNpemUsICIpID8gKCIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoaW5kZXhFeHBy
ZXNzaW9uLmluZGV4RXhwcmVzc2lvbigpKTsKKyAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgiKSA6IDBdIik7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7IAogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9uJiB2YXJpYWJsZURlY2xhcmF0aW9uKQpAQCAtNTY4LDE4MSArNjA5
LDE4NSBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODE2MCBJbXBsZW1l
bnQgcXVhbGlmaWVycy4KICAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbi5pbml0aWFsaXplcigp
KSB7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsIG1fdHlwZU5hbWVy
Lm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKCkpLCAnICcsIHZh
cmlhYmxlTmFtZSwgIiA9ICIpOwogICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoKnZhcmlhYmxl
RGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIoKSk7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBl
bmQobV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqdmFyaWFibGVEZWNs
YXJhdGlvbi50eXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIHRha2VMYXN0VmFsdWUo
KSwgIjtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4iKTsKICAgICB9
IGVsc2UKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFt
ZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCp2YXJpYWJsZURlY2xhcmF0aW9uLnR5cGUoKSksICcgJywg
dmFyaWFibGVOYW1lLCAiID0geyB9O1xuIik7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9u
V3JpdGVyOjp2aXNpdChBU1Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uJiBhc3NpZ25tZW50RXhwcmVz
c2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGFzc2lnbm1lbnRFeHByZXNzaW9uLmxlZnQoKSk7Ci0gICAgYXV0byBbcG9pbnRl
ck5hbWUsIG51bGxhYmlsaXR5XSA9IHRha2VMYXN0TGVmdFZhbHVlKCk7CisgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKScpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICgiKTsK
ICAgICBjaGVja0Vycm9yQW5kVmlzaXQoYXNzaWdubWVudEV4cHJlc3Npb24ucmlnaHQoKSk7Ci0g
ICAgYXV0byBbcmlnaHROYW1lLCByaWdodE51bGxhYmlsaXR5XSA9IHRha2VMYXN0VmFsdWVBbmRO
dWxsYWJpbGl0eSgpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5C
ZU51bGwpCi0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBtX2lu
ZGVudCwgImlmICgiLCBwb2ludGVyTmFtZSwgIilcbiIsCi0gICAgICAgICAgICBtX2luZGVudCwg
IiAgICAqIiwgcG9pbnRlck5hbWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBlbHNl
Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobV9pbmRlbnQsICIqIiwgcG9pbnRlck5h
bWUsICIgPSAiLCByaWdodE5hbWUsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZhbHVlV2l0aE51
bGxhYmlsaXR5KGFzc2lnbm1lbnRFeHByZXNzaW9uLCByaWdodE5hbWUsIHJpZ2h0TnVsbGFiaWxp
dHkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlv
bkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNz
aW9uKQogeworICAgIGF1dG8gaXRlciA9IG1faG9pc3RlZFZhcmlhYmxlcy5maW5kKCZjYWxsRXhw
cmVzc2lvbik7CisgICAgUkVMRUFTRV9BU1NFUlQoaXRlciAhPSBtX2hvaXN0ZWRWYXJpYWJsZXMu
ZW5kKCkpOworICAgIGF1dG8mIHZhcmlhYmxlcyA9IGl0ZXItPnZhbHVlOworICAgIFJFTEVBU0Vf
QVNTRVJUKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cygpLnNpemUoKSA8PSB2YXJpYWJsZXMuc2l6
ZSgpKTsKICAgICBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxlTmFtZT4gYXJndW1lbnROYW1lczsKLSAg
ICBmb3IgKGF1dG8mIGFyZ3VtZW50IDogY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKCkpIHsKLSAg
ICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGFyZ3VtZW50KTsKLSAgICAgICAgYXJndW1lbnROYW1l
cy5hcHBlbmQodGFrZUxhc3RWYWx1ZSgpKTsKLSAgICB9CiAKLSAgICBib29sIGlzVm9pZCA9IG1h
dGNoZXMoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCksIG1faW50cmluc2ljcy52b2lkVHlw
ZSgpKTsKLSAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWU7Ci0gICAgaWYgKCFpc1Zv
aWQpIHsKLSAgICAgICAgcmV0dXJuTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwot
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5n
bGVkTmFtZUZvclR5cGUoY2FsbEV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHJldHVy
bk5hbWUsICI7XG4iKTsKKyAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWU7CisgICAg
aWYgKCFtYXRjaGVzKGNhbGxFeHByZXNzaW9uLnJlc29sdmVkVHlwZSgpLCBtX2ludHJpbnNpY3Mu
dm9pZFR5cGUoKSkpCisgICAgICAgIHJlc3VsdE5hbWUgPSB2YXJpYWJsZXMubGFzdCgpLm5hbWU7
CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKS5zaXplKCk7ICsraSkgeworICAgICAg
ICBhcmd1bWVudE5hbWVzLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQodmFyaWFibGVzW2ldLm5hbWUsICIgPSAoIik7CisgICAgICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMoKVtpXSk7CisgICAgICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiksICIpOwogICAgIH0KIAogICAgIGlmIChpczxBU1Q6
Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpKSB7
Ci0gICAgICAgIGF1dG8gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lID0gW3RoaXNdKCkgLT4gTWFu
Z2xlZFZhcmlhYmxlTmFtZSB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy0+Z2VuZXJhdGVOZXh0
VmFyaWFibGVOYW1lKCk7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZCgnXG4nKTsKLSAgICAgICAgaW5saW5lTmF0aXZlRnVuY3Rpb24obV9zdHJpbmdCdWlsZGVy
LCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9u
LmZ1bmN0aW9uKCkpLCByZXR1cm5OYW1lLCBhcmd1bWVudE5hbWVzLCBtX2ludHJpbnNpY3MsIG1f
dHlwZU5hbWVyLCBXVEZNb3ZlKGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSksIG1faW5kZW50KTsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnXG4nKTsKKyAgICAgICAgaW5saW5lTmF0
aXZlRnVuY3Rpb24obV9zdHJpbmdCdWlsZGVyLCBkb3duY2FzdDxBU1Q6Ok5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpLCBhcmd1bWVudE5hbWVzLCBy
ZXN1bHROYW1lLCBtX3R5cGVOYW1lcik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZChtX2luZGVudCk7Ci0KICAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fZnVu
Y3Rpb25NYXBwaW5nLmZpbmQoJmNhbGxFeHByZXNzaW9uLmZ1bmN0aW9uKCkpOwogICAgICAgICBB
U1NFUlQoaXRlcmF0b3IgIT0gbV9mdW5jdGlvbk1hcHBpbmcuZW5kKCkpOwotICAgICAgICBpZiAo
IWlzVm9pZCkKLSAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQocmV0dXJuTmFtZSwg
IiA9ICIpOwogICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKGl0ZXJhdG9yLT52YWx1ZSwg
JygnKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudE5hbWVzLnNpemUo
KTsgKytpKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbEV4cHJlc3Npb24u
YXJndW1lbnRzKCkuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7Ci0gICAgICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKGFyZ3VtZW50TmFtZXNbaV0pOworICAgICAgICAgICAgbV9zdHJpbmdC
dWlsZGVyLmFwcGVuZCh2YXJpYWJsZXNbaV0ubmFtZSk7CiAgICAgICAgIH0KLSAgICAgICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgiKTtcbiIpOworICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBw
ZW5kKCcpJyk7CiAgICAgfQogCi0gICAgYXBwZW5kUmlnaHRWYWx1ZShjYWxsRXhwcmVzc2lvbiwg
cmV0dXJuTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwogfQogCiB2b2lk
IEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpDb21tYUV4cHJlc3Npb24mIGNv
bW1hRXhwcmVzc2lvbikKIHsKLSAgICBPcHRpb25hbDxNYW5nbGVkVmFyaWFibGVOYW1lPiByZXN1
bHQ7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgIGJvb2wgcmFuT25jZSA9
IGZhbHNlOwogICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IGNvbW1hRXhwcmVzc2lvbi5saXN0
KCkpIHsKKyAgICAgICAgaWYgKHJhbk9uY2UpCisgICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIsICIpOworICAgICAgICByYW5PbmNlID0gdHJ1ZTsKICAgICAgICAgY2hlY2tFcnJv
ckFuZFZpc2l0KGV4cHJlc3Npb24pOwotICAgICAgICByZXN1bHQgPSB0YWtlTGFzdFZhbHVlKCk7
CiAgICAgfQotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUoY29tbWFF
eHByZXNzaW9uLCAqcmVzdWx0KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkRlcmVmZXJlbmNl
RXhwcmVzc2lvbiYgZGVyZWZlcmVuY2VFeHByZXNzaW9uKQogeworICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiooIik7CiAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRlcmVmZXJlbmNlRXhwcmVz
c2lvbi5wb2ludGVyKCkpOwotICAgIGF1dG8gW2lucHV0UG9pbnRlciwgbnVsbGFiaWxpdHldID0g
dGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7Ci0gICAgYXV0byByZXN1bHRWYWx1ZSA9IGdl
bmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1dG8gcmVzdWx0VHlwZSA9IG1fdHlwZU5h
bWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBl
KCkpOwotCi0gICAgaWYgKG51bGxhYmlsaXR5ID09IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsK
LSAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCBy
ZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwgIiA9ICIsIGlucHV0UG9pbnRlciwgIiA/ICIs
ICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVzdWx0VHlwZSwgInsgfTtcbiIpOwotICAgIH0g
ZWxzZQotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCByZXN1bHRWYWx1
ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4iKTsKLQotICAgIGFwcGVuZExlZnRWYWx1ZShk
ZXJlZmVyZW5jZUV4cHJlc3Npb24sIHJlc3VsdFZhbHVlLCBpbnB1dFBvaW50ZXIsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKIHZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uJiBsb2dpY2Fs
RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIoKCIpOwogICAgIGNo
ZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsRXhwcmVzc2lvbi5sZWZ0KCkpOwotICAgIGF1dG8gbGVm
dCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobG9naWNhbEV4cHJl
c3Npb24ucmlnaHQoKSk7Ci0gICAgYXV0byByaWdodCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAotICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgIG1faW5kZW50LCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobG9naWNhbEV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGxlZnQp
OwogICAgIHN3aXRjaCAobG9naWNhbEV4cHJlc3Npb24udHlwZSgpKSB7CiAgICAgY2FzZSBBU1Q6
OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpBbmQ6CiAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiAmJiAiKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNT
RVJUKGxvZ2ljYWxFeHByZXNzaW9uLnR5cGUoKSA9PSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpU
eXBlOjpPcik7CisgICAgY2FzZSBBU1Q6OkxvZ2ljYWxFeHByZXNzaW9uOjpUeXBlOjpPcjoKICAg
ICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOwogICAgICAgICBicmVhazsKICAg
ICB9Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChyaWdodCwgIjtcbiIpOwotICAgIGFwcGVu
ZFJpZ2h0VmFsdWUobG9naWNhbEV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGxvZ2ljYWxF
eHByZXNzaW9uLnJpZ2h0KCkpOworICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIikpIik7CiB9
CiAKIHZvaWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OkxvZ2ljYWxOb3RF
eHByZXNzaW9uJiBsb2dpY2FsTm90RXhwcmVzc2lvbikKIHsKKyAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKCIhKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdChsb2dpY2FsTm90RXhwcmVzc2lv
bi5vcGVyYW5kKCkpOwotICAgIGF1dG8gb3BlcmFuZCA9IHRha2VMYXN0VmFsdWUoKTsKLSAgICBh
dXRvIHZhcmlhYmxlTmFtZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotCi0gICAgbV9z
dHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmds
ZWROYW1lRm9yVHlwZShsb2dpY2FsTm90RXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywg
dmFyaWFibGVOYW1lLCAiID0gISIsIG9wZXJhbmQsICI7XG4iKTsKLSAgICBhcHBlbmRSaWdodFZh
bHVlKGxvZ2ljYWxOb3RFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUpOworICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoJyknKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZp
c2l0KEFTVDo6TWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbiYgbWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbikKIHsKLSAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNl
RXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUg
bWFkZSB0byB3b3JrLiBJdCBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcgdGhlIGxhc3QgbGVmdFZh
bHVlIHRvby4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4ODM4Ci0gICAgYXV0byB2YXJpYWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUo
KTsKLQogICAgIGF1dG8gbWFuZ2xlZFR5cGVOYW1lID0gbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwogICAg
IGlmIChpczxBU1Q6OlBvaW50ZXJUeXBlPihtYWtlQXJyYXlSZWZlcmVuY2VFeHByZXNzaW9uLmxl
ZnRWYWx1ZSgpLnJlc29sdmVkVHlwZSgpKSkgewotICAgICAgICBhdXRvIHB0clZhbHVlID0gdGFr
ZUxhc3RWYWx1ZSgpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBw
dHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUsICIsIDEgfSA6
ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CisgICAgICAgIG1fc3Ry
aW5nQnVpbGRlci5hcHBlbmQobWFuZ2xlZFR5cGVOYW1lLCAieyAiKTsKKyAgICAgICAgY2hlY2tF
cnJvckFuZFZpc2l0KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkpOwor
ICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDEgfSIpOwogICAgIH0gZWxzZSBpZiAo
aXM8QVNUOjpBcnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVl
KCkucmVzb2x2ZWRUeXBlKCkpKSB7Ci0gICAgICAgIGF1dG8gbFZhbHVlID0gdGFrZUxhc3RMZWZ0
VmFsdWUoKS52YWx1ZTsKICAgICAgICAgYXV0byYgYXJyYXlUeXBlID0gZG93bmNhc3Q8QVNUOjpB
cnJheVR5cGU+KG1ha2VBcnJheVJlZmVyZW5jZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2
ZWRUeXBlKCkpOwotICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCBtYW5n
bGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiID0geyAiLCBsVmFsdWUsICItPmRhdGEo
KSwgIiwgYXJyYXlUeXBlLm51bUVsZW1lbnRzKCksICIgfTtcbiIpOworICAgICAgICBtX3N0cmlu
Z0J1aWxkZXIuYXBwZW5kKG1hbmdsZWRUeXBlTmFtZSwgIiB7ICIpOworICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQobWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7Cisg
ICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIi5kYXRhKCksICIsIGFycmF5VHlwZS5udW1F
bGVtZW50cygpLCAiIH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGxWYWx1ZSA9IHRh
a2VMYXN0TGVmdFZhbHVlKCkudmFsdWU7Ci0gICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQo
bV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSB7ICIsIGxW
YWx1ZSwgIiwgMSB9O1xuIik7CisgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQobWFuZ2xl
ZFR5cGVOYW1lLCAiIHsgJiIpOworICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgMSB9Iik7CiAgICAgfQotICAgIGFwcGVuZFJpZ2h0VmFsdWUobWFrZUFycmF5
UmVmZXJlbmNlRXhwcmVzc2lvbiwgdmFyaWFibGVOYW1lKTsKIH0KIAogdm9pZCBGdW5jdGlvbkRl
ZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6TWFrZVBvaW50ZXJFeHByZXNzaW9uJiBtYWtlUG9p
bnRlckV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiJigiKTsKICAg
ICBjaGVja0Vycm9yQW5kVmlzaXQobWFrZVBvaW50ZXJFeHByZXNzaW9uLmxlZnRWYWx1ZSgpKTsK
LSAgICBhdXRvIFtwb2ludGVyLCBudWxsYWJpbGl0eV0gPSB0YWtlTGFzdExlZnRWYWx1ZSgpOwot
ICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAg
bV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2luZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVG
b3JUeXBlKG1ha2VQb2ludGVyRXhwcmVzc2lvbi5yZXNvbHZlZFR5cGUoKSksICcgJywgdmFyaWFi
bGVOYW1lLCAiID0gIiwgcG9pbnRlciwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWVXaXRo
TnVsbGFiaWxpdHkobWFrZVBvaW50ZXJFeHByZXNzaW9uLCB2YXJpYWJsZU5hbWUsIG51bGxhYmls
aXR5KTsKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiB9CiAKLXZvaWQgRnVuY3Rp
b25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1Q6OlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24m
KQordm9pZCBGdW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdy
aXRlRXhwcmVzc2lvbiYgcmVhZE1vZGlmeVdyaXRlKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJl
IGxvd2VyZWQgYWxyZWFkeS4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAvKgorICAg
ICAqICAxLiBFdmFsdWF0ZSBtX2xlZnRWYWx1ZQorICAgICAqICAyLiBBc3NpZ24gdGhlIHJlc3Vs
dCB0byBtX29sZFZhbHVlCisgICAgICogIDMuIEV2YWx1YXRlIG1fbmV3VmFsdWVFeHByZXNzaW9u
CisgICAgICogIDQuIEFzc2lnbiB0aGUgcmVzdWx0IHRvIG1fbmV3VmFsdWUKKyAgICAgKiAgNS4g
QXNzaWduIHRoZSByZXN1bHQgdG8gbV9sZWZ0VmFsdWUKKyAgICAgKiAgNi4gRXZhbHVhdGUgbV9y
ZXN1bHRFeHByZXNzaW9uCisgICAgICogIDcuIFJldHVybiB0aGUgcmVzdWx0CisgICAgICovCisK
KyAgICBhdXRvIGl0ZXIgPSBtX2hvaXN0ZWRWYXJpYWJsZXMuZmluZCgmcmVhZE1vZGlmeVdyaXRl
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChpdGVyICE9IG1faG9pc3RlZFZhcmlhYmxlcy5lbmQoKSk7
CisgICAgYXV0byYgdmFyaWFibGVzID0gaXRlci0+dmFsdWU7CisgICAgUkVMRUFTRV9BU1NFUlQo
dmFyaWFibGVzLnNpemUoKSA9PSAyKTsKKworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUgb2xkVmFs
dWVWYXJpYWJsZSA9IHZhcmlhYmxlc1swXS5uYW1lOworICAgIE1hbmdsZWRWYXJpYWJsZU5hbWUg
bmV3VmFsdWVWYXJpYWJsZSA9IHZhcmlhYmxlc1sxXS5uYW1lOworCisgICAgbV92YXJpYWJsZU1h
cHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUub2xkVmFsdWUoKSwgb2xkVmFsdWVWYXJpYWJsZSk7
CisgICAgbV92YXJpYWJsZU1hcHBpbmcuYWRkKCZyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWUoKSwg
bmV3VmFsdWVWYXJpYWJsZSk7CisKKyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisK
KyAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG9sZFZhbHVlVmFyaWFibGUsICIgPSAiKTsKKyAg
ICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlLmxlZnRWYWx1ZSgpKTsKKworICAg
IG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIiwgbmV3VmFsdWVWYXJpYWJsZSwgIiA9ICIpOwor
ICAgIGNoZWNrRXJyb3JBbmRWaXNpdChyZWFkTW9kaWZ5V3JpdGUubmV3VmFsdWVFeHByZXNzaW9u
KCkpOworCisgICAgLy8gRklYTUU6IE1ha2UgaXQgc28gdGhhdCBldmFsdWF0aW5nIGxlZnQgdmFs
dWUgdHdpY2UgZG9lc24ndCBleGVjdXRlIGVmZmVjdHMgdHdpY2U6CisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI1MQorICAgIG1fc3RyaW5nQnVpbGRl
ci5hcHBlbmQoIiwgIik7CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KHJlYWRNb2RpZnlXcml0ZS5s
ZWZ0VmFsdWUoKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiID0gIiwgbmV3VmFsdWVW
YXJpYWJsZSwgIiwgIik7CisKKyAgICBjaGVja0Vycm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRl
LnJlc3VsdEV4cHJlc3Npb24oKSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwog
fQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpUZXJuYXJ5RXhw
cmVzc2lvbiYgdGVybmFyeUV4cHJlc3Npb24pCiB7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKCcpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhwcmVzc2lvbi5wcmVkaWNh
dGUoKSk7Ci0gICAgYXV0byBjaGVjayA9IHRha2VMYXN0VmFsdWUoKTsKKyAgICBtX3N0cmluZ0J1
aWxkZXIuYXBwZW5kKCIpID8gKCIpOwogICAgIGNoZWNrRXJyb3JBbmRWaXNpdCh0ZXJuYXJ5RXhw
cmVzc2lvbi5ib2R5RXhwcmVzc2lvbigpKTsKLSAgICBhdXRvIGJvZHkgPSB0YWtlTGFzdFZhbHVl
KCk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgiKSA6ICgiKTsKICAgICBjaGVja0Vycm9y
QW5kVmlzaXQodGVybmFyeUV4cHJlc3Npb24uZWxzZUV4cHJlc3Npb24oKSk7Ci0gICAgYXV0byBl
bHNlQm9keSA9IHRha2VMYXN0VmFsdWUoKTsKLQotICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2Vu
ZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7Ci0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZChtX2lu
ZGVudCwgbV90eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHRlcm5hcnlFeHByZXNzaW9uLnJl
c29sdmVkVHlwZSgpKSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAiLCBjaGVjaywgIiA/ICIsIGJv
ZHksICIgOiAiLCBlbHNlQm9keSwgIjtcbiIpOwotICAgIGFwcGVuZFJpZ2h0VmFsdWUodGVybmFy
eUV4cHJlc3Npb24sIHZhcmlhYmxlTmFtZSk7CisgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgn
KScpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpWYXJp
YWJsZVJlZmVyZW5jZSYgdmFyaWFibGVSZWZlcmVuY2UpCkBAIC03NTIsMTMgKzc5Nyw3IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBBU1NFUlQoaXRlcmF0
b3IgIT0gbV92YXJpYWJsZU1hcHBpbmcuZW5kKCkpOwogCiAgICAgTWFuZ2xlZFZhcmlhYmxlTmFt
ZSB2YXJpYWJsZU5hbWUgPSBpdGVyYXRvci0+dmFsdWU7Ci0KLSAgICBhcHBlbmRMZWZ0VmFsdWUo
dmFyaWFibGVSZWZlcmVuY2UsIHZhcmlhYmxlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVs
bCwKLSAgICAgICAgW3RoaXMsICZ2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVOYW1lXSB7Ci0g
ICAgICAgICAgICBhdXRvIHBvaW50ZXJOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lKCk7
Ci0gICAgICAgICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKG1faW5kZW50LCAidGhyZWFkICIs
IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZl
ZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1lLCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtcbiIp
OwotICAgICAgICAgICAgcmV0dXJuIHBvaW50ZXJOYW1lOwotICAgICAgICB9KTsKKyAgICBtX3N0
cmluZ0J1aWxkZXIuYXBwZW5kKHZhcmlhYmxlTmFtZSk7CiB9CiAKIHZvaWQgRnVuY3Rpb25EZWZp
bml0aW9uV3JpdGVyOjplbWl0Q29uc3RhbnRFeHByZXNzaW9uU3RyaW5nKEFTVDo6Q29uc3RhbnRF
eHByZXNzaW9uJiBjb25zdGFudEV4cHJlc3Npb24pCkBAIC03NzMsOSArODEyLDYgQEAgdm9pZCBG
dW5jdGlvbkRlZmluaXRpb25Xcml0ZXI6OmVtaXRDb25zdAogICAgICAgICBbJl0oQVNUOjpGbG9h
dExpdGVyYWwmIGZsb2F0TGl0ZXJhbCkgewogICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFw
cGVuZChmbG9hdExpdGVyYWwudmFsdWUoKSk7CiAgICAgICAgIH0sCi0gICAgICAgIFsmXShBU1Q6
Ok51bGxMaXRlcmFsJikgewotICAgICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgibnVs
bHB0ciIpOwotICAgICAgICB9LAogICAgICAgICBbJl0oQVNUOjpCb29sZWFuTGl0ZXJhbCYgYm9v
bGVhbkxpdGVyYWwpIHsKICAgICAgICAgICAgIGlmIChib29sZWFuTGl0ZXJhbC52YWx1ZSgpKQog
ICAgICAgICAgICAgICAgIG1fc3RyaW5nQnVpbGRlci5hcHBlbmQoInRydWUiKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxDb2RlR2Vu
ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE1ldGFsQ29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0OTIyNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMTWV0YWxD
b2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgTWV0YWwgewogCiBzdGF0aWMgY29uc3RleHByIGJvb2wgZHVtcE1ldGFsQ29kZSA9IGZhbHNl
OwogCi1zdGF0aWMgU3RyaW5nVmlldyBtZXRhbENvZGVQcm9sb2coKQorc3RhdGljIFN0cmluZ1Zp
ZXcgbWV0YWxDb2RlUHJvbG9ndWUoKQogewogICAgIHJldHVybiBTdHJpbmdWaWV3IHsKICAgICAg
ICAgIiNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+XG4iCkBAIC01Myw3ICs1MywxNzEgQEAgc3RhdGlj
IFN0cmluZ1ZpZXcgbWV0YWxDb2RlUHJvbG9nKCkKICAgICAgICAgIlxuIgogICAgICAgICAidXNp
bmcgbmFtZXNwYWNlIG1ldGFsO1xuIgogICAgICAgICAiXG4iCisgICAgICAgICJ0ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgaW50IENvbHMsIGludCBSb3dzPlxuIgorICAgICAgICAic3RydWN0IFdTTE1h
dHJpeFxuIgorICAgICAgICAie1xuIgorICAgICAgICAiICAgIHZlYzxULCBSb3dzPiBjb2x1bW5z
W0NvbHNdO1xuIgorICAgICAgICAiICAgIHByaXZhdGU6XG4iCisgICAgICAgICIgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFUsIGludC4uLiBSPlxuIgorICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwg
Um93cz4gYnVpbGRfY29sKGluaXRpYWxpemVyX2xpc3Q8VT4gY29sLCBfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFIuLi4+KVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0
dXJuIHsoUiA8IGNvbC5zaXplKCkgPyAqKGNvbC5iZWdpbigpICsgUikgOiBVKCkpLi4ufTtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBSPlxuIgor
ICAgICAgICAiICAgIHN0YXRpYyB2ZWM8VCwgUm93cz4gYnVpbGRfZnVsbF9jb2woaW50IGMsIGlu
aXRpYWxpemVyX2xpc3Q8VD4gZWxlbXMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgUi4uLj4pXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4geyooZWxlbXMuYmVn
aW4oKSArIGMgKiBSb3dzICsgUikuLi59O1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBzdHJ1Y3QgY29sc19pbml0X3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGNv
bHNfYWxsX3RhZyB7IH07XG4iCisgICAgICAgICIgICAgc3RydWN0IGVsZW1zX2FsbF90YWcgeyB9
O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDxpbnQuLi4gQz5cbiIKKyAgICAgICAgIiAgICBp
bmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbHNfaW5pdF90YWcsIGluaXRpYWxpemVyX2xpc3Q8
dmVjPFQsIFJvd3M+PiBjb2xzLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBjb2x1bW5zeyhDIDwgY29scy5zaXplKCkgPyAqKGNvbHMu
YmVnaW4oKSArIEMpIDogdmVjPFQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFU+
XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb2xzX2FsbF90YWcs
IFUuLi4gY29scykgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29scy4u
LiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGlj
aXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIHRocmVhZFxuIgorICAgICAg
ICAiICAgICAgICA6IFdTTE1hdHJpeCh7VChlbGVtcykuLi59LCBfbWFrZV9pbnRlZ2VyX3NlcXVl
bmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICAgICAge1xuIgorICAgICAgICAiICAg
ICAgICB9XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAi
ICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoaW5pdGlhbGl6ZXJfbGlzdDxUPiBlbGVtcywg
X2ludGVnZXJfc2VxdWVuY2U8aW50LCBDLi4uPikgdGhyZWFkXG4iCisgICAgICAgICIgICAgICAg
IDogY29sdW1uc3tidWlsZF9mdWxsX2NvbChDLCBlbGVtcywgX21ha2VfaW50ZWdlcl9zZXF1ZW5j
ZTxpbnQsIFJvd3M+KCkpLi4ufVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9
XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPGludC4uLiBDPlxuIgorICAgICAgICAiICAgIGlu
bGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19pbml0X3RhZywgaW5pdGlhbGl6ZXJfbGlzdDx2
ZWM8VCwgUm93cz4+IGNvbHMsIF9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQy4uLj4pIGNvbnN0YW50
XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3soQyA8IGNvbHMuc2l6ZSgpID8gKihjb2xz
LmJlZ2luKCkgKyBDKSA6IHZlYzxULCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29sc19hbGxfdGFn
LCBVLi4uIGNvbHMpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogY29sdW1uc3sgY29s
cy4uLiB9XG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhw
bGljaXQgV1NMTWF0cml4KGVsZW1zX2FsbF90YWcsIFUuLi4gZWxlbXMpIGNvbnN0YW50XG4iCisg
ICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHtUKGVsZW1zKS4uLn0sIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgICAgICB7XG4iCisgICAgICAg
ICIgICAgICAgIH1cbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8aW50Li4uIEM+XG4iCisgICAg
ICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChpbml0aWFsaXplcl9saXN0PFQ+IGVs
ZW1zLCBfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIEMuLi4+KSBjb25zdGFudFxuIgorICAgICAgICAi
ICAgICAgICA6IGNvbHVtbnN7YnVpbGRfZnVsbF9jb2woQywgZWxlbXMsIF9tYWtlX2ludGVnZXJf
c2VxdWVuY2U8aW50LCBSb3dzPigpKS4uLn1cbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NM
TWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSB0aHJlYWRcbiIKKyAg
ICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29sc19pbml0X3RhZygpLCBjb2xzLCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBVPlxuIgor
ICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSB0aHJlYWRc
biIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgoY29uZGl0aW9uYWxfdDxzaXplb2YuLi4o
VSkgPT0gQ29scywgY29sc19hbGxfdGFnLCBlbGVtc19hbGxfdGFnPigpLCB2YWxzLi4uKVxuIgor
ICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5l
IFdTTE1hdHJpeCgpIGNvbnN0YW50ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICBpbmxpbmUg
V1NMTWF0cml4KGluaXRpYWxpemVyX2xpc3Q8dmVjPFQsIFJvd3M+PiBjb2xzKSBjb25zdGFudFxu
IgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb2xzX2luaXRfdGFnKCksIGNvbHMsIF9t
YWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIK
KyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJp
eChUIHZhbCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodmFsLCBf
bWFrZV9pbnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4i
CisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBV
PlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoVS4uLiB2YWxzKSBj
b25zdGFudFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeChjb25kaXRpb25hbF90PHNp
emVvZi4uLihVKSA9PSBDb2xzLCBjb2xzX2FsbF90YWcsIGVsZW1zX2FsbF90YWc+KCksIHZhbHMu
Li4pXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4g
JnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25zdCB0
aHJlYWQgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAgICAg
IiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENv
bHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAg
IiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93
cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0IFdTTE1hdHJpeChjb25z
dCBkZXZpY2UgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSB0aHJlYWRcbiIKKyAgICAg
ICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQs
IENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAg
ICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxULCBDb2xz
LCBSb3dzPiAmdGhhdCkgdGhyZWFkID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4
KGNvbnN0IGNvbnN0YW50IFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgdGhyZWFkXG4i
CisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVu
Y2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRy
aXg8VCwgQ29scywgUm93cz4gJnRoYXQpIHRocmVhZCA9IGRlZmF1bHQ7XG4iCisgICAgICAgICIg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+XG4iCisgICAgICAgICIgICAgaW5saW5lIGV4cGxpY2l0
IFdTTE1hdHJpeChjb25zdCB0aHJlYWRncm91cCBXU0xNYXRyaXg8VSwgQ29scywgUm93cz4gJnRo
YXQpIHRocmVhZFxuIgorICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9p
bnRlZ2VyX3NlcXVlbmNlPGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAg
ICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBXU0xNYXRyaXgoY29uc3QgdGhyZWFk
IFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgor
ICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGlu
ZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3QgdGhyZWFkIFdTTE1hdHJpeDxVLCBDb2xzLCBSb3dz
PiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAgOiBXU0xNYXRyaXgodGhhdCwg
X21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4iCisgICAgICAgICIgICAge1xu
IgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxpbmUgV1NMTWF0cml4KGNvbnN0
IGRldmljZSBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50ID0gZGVmYXVs
dDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAgICAgICAgIiAg
ICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGRldmljZSBXU0xNYXRyaXg8VSwgQ29s
cywgUm93cz4gJnRoYXQpIGNvbnN0YW50XG4iCisgICAgICAgICIgICAgICAgIDogV1NMTWF0cml4
KHRoYXQsIF9tYWtlX2ludGVnZXJfc2VxdWVuY2U8aW50LCBDb2xzPigpKVxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIFdTTE1hdHJp
eChjb25zdCBjb25zdGFudCBXU0xNYXRyaXg8VCwgQ29scywgUm93cz4gJnRoYXQpIGNvbnN0YW50
ID0gZGVmYXVsdDtcbiIKKyAgICAgICAgIiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT5cbiIKKyAg
ICAgICAgIiAgICBpbmxpbmUgZXhwbGljaXQgV1NMTWF0cml4KGNvbnN0IGNvbnN0YW50IFdTTE1h
dHJpeDxVLCBDb2xzLCBSb3dzPiAmdGhhdCkgY29uc3RhbnRcbiIKKyAgICAgICAgIiAgICAgICAg
OiBXU0xNYXRyaXgodGhhdCwgX21ha2VfaW50ZWdlcl9zZXF1ZW5jZTxpbnQsIENvbHM+KCkpXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgIH1cbiIKKyAgICAgICAgIiAgICBpbmxp
bmUgV1NMTWF0cml4KGNvbnN0IHRocmVhZGdyb3VwIFdTTE1hdHJpeDxULCBDb2xzLCBSb3dzPiAm
dGhhdCkgY29uc3RhbnQgPSBkZWZhdWx0O1xuIgorICAgICAgICAiICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBVPlxuIgorICAgICAgICAiICAgIGlubGluZSBleHBsaWNpdCBXU0xNYXRyaXgoY29uc3Qg
dGhyZWFkZ3JvdXAgV1NMTWF0cml4PFUsIENvbHMsIFJvd3M+ICZ0aGF0KSBjb25zdGFudFxuIgor
ICAgICAgICAiICAgICAgICA6IFdTTE1hdHJpeCh0aGF0LCBfbWFrZV9pbnRlZ2VyX3NlcXVlbmNl
PGludCwgQ29scz4oKSlcbiIKKyAgICAgICAgIiAgICB7XG4iCisgICAgICAgICIgICAgfVxuIgor
ICAgICAgICAiICAgIHB1YmxpYzpcbiIKKyAgICAgICAgIiAgICBpbmxpbmUgdGhyZWFkIHZlYzxU
LCBSb3dzPiAmb3BlcmF0b3JbXShpbnQgcikgdGhyZWFkXG4iCisgICAgICAgICIgICAge1xuIgor
ICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4i
CisgICAgICAgICIgICAgaW5saW5lIGRldmljZSB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50
IHIpIGRldmljZVxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJu
IGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSB0
aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIHRocmVhZGdyb3VwXG4i
CisgICAgICAgICIgICAge1xuIgorICAgICAgICAiICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtc
biIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAgICIgICAgaW5saW5lIGNvbnN0IHRocmVhZCB2
ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10oaW50IHIpIGNvbnN0IHRocmVhZFxuIgorICAgICAgICAi
ICAgIHtcbiIKKyAgICAgICAgIiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAg
ICIgICAgfVxuIgorICAgICAgICAiICAgIGlubGluZSBjb25zdCBkZXZpY2UgdmVjPFQsIFJvd3M+
ICZvcGVyYXRvcltdKGludCByKSBjb25zdCBkZXZpY2VcbiIKKyAgICAgICAgIiAgICB7XG4iCisg
ICAgICAgICIgICAgICAgIHJldHVybiBjb2x1bW5zW3JdO1xuIgorICAgICAgICAiICAgIH1cbiIK
KyAgICAgICAgIiAgICBpbmxpbmUgY29uc3QgY29uc3RhbnQgdmVjPFQsIFJvd3M+ICZvcGVyYXRv
cltdKGludCByKSBjb25zdCBjb25zdGFudFxuIgorICAgICAgICAiICAgIHtcbiIKKyAgICAgICAg
IiAgICAgICAgcmV0dXJuIGNvbHVtbnNbcl07XG4iCisgICAgICAgICIgICAgfVxuIgorICAgICAg
ICAiICAgIGlubGluZSBjb25zdCB0aHJlYWRncm91cCB2ZWM8VCwgUm93cz4gJm9wZXJhdG9yW10o
aW50IHIpIGNvbnN0IHRocmVhZGdyb3VwXG4iCisgICAgICAgICIgICAge1xuIgorICAgICAgICAi
ICAgICAgICByZXR1cm4gY29sdW1uc1tyXTtcbiIKKyAgICAgICAgIiAgICB9XG4iCisgICAgICAg
ICJ9O1xuIgorCisKICAgICB9OworCiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBNZXRhbENvZGVJZk5l
ZWRlZChTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyKQpAQCAtNjcsNyArMjMxLDcgQEAgc3Rh
dGljIHZvaWQgZHVtcE1ldGFsQ29kZUlmTmVlZGVkKFN0cmluZwogUmVuZGVyTWV0YWxDb2RlIGdl
bmVyYXRlTWV0YWxDb2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRSZW5kZXJTZW1hbnRpY3Mm
JiBtYXRjaGVkU2VtYW50aWNzLCBMYXlvdXQmIGxheW91dCkKIHsKICAgICBTdHJpbmdCdWlsZGVy
IHN0cmluZ0J1aWxkZXI7Ci0gICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxDb2RlUHJvbG9n
KCkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZ3VlKCkpOwogCiAg
ICAgVHlwZU5hbWVyIHR5cGVOYW1lcihwcm9ncmFtKTsKICAgICB0eXBlTmFtZXIuZW1pdE1ldGFs
VHlwZXMoc3RyaW5nQnVpbGRlcik7CkBAIC04Miw3ICsyNDYsNyBAQCBSZW5kZXJNZXRhbENvZGUg
Z2VuZXJhdGVNZXRhbENvZGUoUHJvZ3JhCiBDb21wdXRlTWV0YWxDb2RlIGdlbmVyYXRlTWV0YWxD
b2RlKFByb2dyYW0mIHByb2dyYW0sIE1hdGNoZWRDb21wdXRlU2VtYW50aWNzJiYgbWF0Y2hlZFNl
bWFudGljcywgTGF5b3V0JiBsYXlvdXQpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzdHJpbmdCdWls
ZGVyOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG1ldGFsQ29kZVByb2xvZygpKTsKKyAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChtZXRhbENvZGVQcm9sb2d1ZSgpKTsKIAogICAgIFR5cGVOYW1l
ciB0eXBlTmFtZXIocHJvZ3JhbSk7CiAgICAgdHlwZU5hbWVyLmVtaXRNZXRhbFR5cGVzKHN0cmlu
Z0J1aWxkZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0
YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5jcHAJKHJldmlzaW9uIDI0OTIyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML01ldGFsL1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NSwxNiArOTUsNiBAQCBzdGF0aWMgaW50IHZlY3Rvckxlbmd0aChBU1Q6Ok5hdGl2ZVR5
cGVECiAgICAgcmV0dXJuIHZlY3Rvckxlbmd0aDsKIH0KIAotc3RhdGljIEFTVDo6TmFtZWRUeXBl
JiB2ZWN0b3JJbm5lclR5cGUoQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24mIG5hdGl2ZVR5cGVE
ZWNsYXJhdGlvbikKLXsKLSAgICBpZiAobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVu
dHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBuYXRpdmVUeXBlRGVjbGFyYXRpb247Ci0K
LSAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKS5zaXplKCkg
PT0gMik7Ci0gICAgQVNTRVJUKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPEFTVDo6VHlwZVJl
ZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pKTsKLSAg
ICByZXR1cm4gV1RGOjpnZXQ8UmVmPEFTVDo6VHlwZVJlZmVyZW5jZT4+KG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbi50eXBlQXJndW1lbnRzKClbMF0pLT5yZXNvbHZlZFR5cGUoKTsKLX0KLQogc3RhdGlj
IGNvbnN0IGNoYXIqIHZlY3RvclN1ZmZpeChpbnQgdmVjdG9yTGVuZ3RoKQogewogICAgIHN3aXRj
aCAodmVjdG9yTGVuZ3RoKSB7CkBAIC0xMjAsNyArMTEwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIq
IHZlY3RvclN1ZmZpeChpbnQgdmVjdAogICAgIH0KIH0KIAotdm9pZCBpbmxpbmVOYXRpdmVGdW5j
dGlvbihTdHJpbmdCdWlsZGVyJiBzdHJpbmdCdWlsZGVyLCBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24mIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24sIE1hbmdsZWRWYXJpYWJsZU5hbWUg
cmV0dXJuTmFtZSwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdzLCBJbnRy
aW5zaWNzJiBpbnRyaW5zaWNzLCBUeXBlTmFtZXImIHR5cGVOYW1lciwgc3RkOjpmdW5jdGlvbjxN
YW5nbGVkVmFyaWFibGVOYW1lKCk+JiYgZ2VuZXJhdGVOZXh0VmFyaWFibGVOYW1lLCBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQpCit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXIm
IHN0cmluZ0J1aWxkZXIsIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiYgbmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgY29uc3QgVmVjdG9yPE1hbmdsZWRWYXJpYWJsZU5hbWU+JiBhcmdz
LCBNYW5nbGVkVmFyaWFibGVOYW1lIHJlc3VsdE5hbWUsIFR5cGVOYW1lciYgdHlwZU5hbWVyKQog
ewogICAgIGF1dG8gYXNNYXRyaXhUeXBlID0gWyZdIChBU1Q6OlVubmFtZWRUeXBlJiB1bm5hbWVk
VHlwZSkgLT4gQVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24qIHsKICAgICAgICAgYXV0byYgcmVh
bFR5cGUgPSB1bm5hbWVkVHlwZS51bmlmeU5vZGUoKTsKQEAgLTEzOSwzMzMgKzEyOSw3NiBAQCB2
b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIGF1dG8gbWV0
YWxSZXR1cm5UeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUocmV0dXJuVHlw
ZSk7CiAKICAgICAgICAgaWYgKCFuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkpIHsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgcmV0
dXJuTmFtZSwgIiA9IHsgfTtcbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
bWV0YWxSZXR1cm5UeXBlTmFtZSwgIiB7IH0iKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMo
KS5zaXplKCkgPT0gMSkgewogICAgICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlwZSA9ICpuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgpOwotICAgICAgICAg
ICAgYXV0byBtZXRhbFBhcmFtZXRlclR5cGVOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZShwYXJhbWV0ZXJUeXBlKTsKIAogICAgICAgICAgICAgYXV0byBpc0VudW1lcmF0aW9uRGVm
aW5pdGlvbiA9IFtdIChhdXRvJiB0eXBlKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGlzPEFT
VDo6TmFtZWRUeXBlPih0eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93
bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHR5cGUpKTsKICAgICAgICAgICAgIH07CiAgICAgICAgICAg
ICBhdXRvJiB1bmlmaWVkUmV0dXJuVHlwZSA9IHJldHVyblR5cGUudW5pZnlOb2RlKCk7CiAgICAg
ICAgICAgICBpZiAoaXNFbnVtZXJhdGlvbkRlZmluaXRpb24odW5pZmllZFJldHVyblR5cGUpICYm
ICFpc0VudW1lcmF0aW9uRGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBlLnVuaWZ5Tm9kZSgpKSkgewot
ICAgICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJhdGVOZXh0VmFyaWFibGVO
YW1lKCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRh
bFBhcmFtZXRlclR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7
XG4iKTsKICAgICAgICAgICAgICAgICBhdXRvJiBlbnVtZXJhdGlvbkRlZmluaXRpb24gPSBkb3du
Y2FzdDxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+
KHVuaWZpZWRSZXR1cm5UeXBlKSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCAic3dpdGNoICgiLCB2YXJpYWJsZU5hbWUsICIpIHtcbiIpOwotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzd2l0Y2hTY29w
ZShpbmRlbnQpOwotICAgICAgICAgICAgICAgICAgICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbWVtYmVyIDogZW51bWVyYXRpb25EZWZp
bml0aW9uLmVudW1lcmF0aW9uTWVtYmVycygpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBo
YXNaZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJjYXNlICIsIG1lbWJlci5nZXQoKS52YWx1ZSgpLCAiOlxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGhhc1plcm9DYXNlLCBo
YXNaZXJvQ2FzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZGVmYXVsdDpcbiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgdmFyaWFibGVOYW1lLCAiID0gMDtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoInN0YXRpY19jYXN0PCIsIG1ldGFsUmV0dXJuVHlwZU5hbWUsICI+KCgiKTsK
KyAgICAgICAgICAgICAgICBib29sIGxvb3BlZE9uY2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBib29sIGhhc1plcm9DYXNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBt
ZW1iZXIgOiBlbnVtZXJhdGlvbkRlZmluaXRpb24uZW51bWVyYXRpb25NZW1iZXJzKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGxvb3BlZE9uY2UpCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiIHx8ICIpOworICAgICAgICAgICAgICAgICAgICBoYXNa
ZXJvQ2FzZSB8PSAhbWVtYmVyLmdldCgpLnZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3NbMF0sICIgPT0gIiwgbWVtYmVyLmdldCgpLnZhbHVlKCkp
OworICAgICAgICAgICAgICAgICAgICBsb29wZWRPbmNlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gc3RhdGljX2Nhc3Q8IiwgbWV0YWxSZXR1cm5UeXBlTmFtZSwgIj4oIiwgdmFyaWFi
bGVOYW1lLCAiKTtcbiIpOworICAgICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoaGFzWmVyb0Nh
c2UsIGhhc1plcm9DYXNlKTsKKworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCIpID8gIiwgYXJnc1swXSwgIiA6IDApIik7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0
aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKTtcbiIpOwor
ICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJzdGF0aWNfY2FzdDwiLCBtZXRh
bFJldHVyblR5cGVOYW1lLCAiPigiLCBhcmdzWzBdLCAiKSIpOwogCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXV0byogbWF0cml4VHlwZSA9IGFzTWF0cml4
VHlwZShyZXR1cm5UeXBlKSkgewotICAgICAgICAgICAgdW5zaWduZWQgbnVtUm93cyA9IG1hdHJp
eFR5cGUtPm51bWJlck9mTWF0cml4Um93cygpOwotICAgICAgICAgICAgdW5zaWduZWQgbnVtQ29s
dW1ucyA9IG1hdHJpeFR5cGUtPm51bWJlck9mTWF0cml4Q29sdW1ucygpOwotICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6
ZSgpID09IG51bVJvd3MgfHwgbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCku
c2l6ZSgpID09IG51bVJvd3MgKiBudW1Db2x1bW5zKTsKLQotICAgICAgICAgICAgYXV0byB2YXJp
YWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFJldHVyblR5cGVOYW1lLCAnICcsIHZhcmlh
YmxlTmFtZSwgIjtcbiIpOwotCi0gICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFiaWRlIGJ5IHRo
ZSBtZW1vcnkgbGF5b3V0IHdlIHVzZSBmb3IgbWF0cmljZXMgaGVyZS4KLSAgICAgICAgICAgIGlm
IChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gbnVtUm93
cykgewotICAgICAgICAgICAgICAgIC8vIG9wZXJhdG9yIG1hdHJpeE14TiAodmVjdG9yTiwgLi4u
LCB2ZWN0b3JOKQotICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1S
b3dzOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8
IG51bUNvbHVtbnM7ICsraikKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgdmFyaWFibGVOYW1lLCAiWyIsIGogKiBudW1Sb3dzICsgaSwgIl0gPSAi
LCBhcmdzW2ldLCAiWyIsIGosICJdO1xuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBvcGVyYXRvciBtYXRyaXhNeE4gKHNjYWxh
ciwgLi4uLCBzY2FsYXIpCi0gICAgICAgICAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOwotICAg
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1Sb3dzOyArK2kpIHsKLSAg
ICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG51bUNvbHVtbnM7ICsr
aikgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCB2YXJpYWJsZU5hbWUsICdbJywgaiAqIG51bVJvd3MgKyBpLCAiXSA9ICIsIGFyZ3NbaW5kZXhd
LCAiO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICArK2luZGV4OwotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQobWV0YWxSZXR1cm5UeXBlTmFtZSwgJygnKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgYXJncy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpKQor
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiKTsKKyAgICAgICAg
ICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzW2ldKTsKICAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0g
IiwgdmFyaWFibGVOYW1lLCAiO1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZCgnKScpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5UeXBl
TmFtZSwgIigiKTsKKyAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWV0YWxSZXR1cm5UeXBl
TmFtZSwgJygnKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBp
ZiAoaSA+IDApCisgICAgICAgICAgICBpZiAoaSkKICAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFyZ3Nb
aV0pOwogICAgICAgICB9Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpO1xuIik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODA3NyBBdXRob3JzIGNhbiBtYWtlIGEgc3RydWN0IGZp
ZWxkIG5hbWVkICJsZW5ndGgiIHRvby4gQXV0b2dlbmVyYXRlZCBnZXR0ZXJzIGZvciB0aG9zZSBz
aG91bGRuJ3QgdGFrZSB0aGlzIGNvZGVwYXRoLgotICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3IubGVuZ3RoIikgewotICAgICAgICBBU1NFUlRfVU5V
U0VEKGludHJpbnNpY3MsIG1hdGNoZXMobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCks
IGludHJpbnNpY3MudWludFR5cGUoKSkpOwotICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDEpOwotICAgICAgICBhdXRvJiBwYXJh
bWV0ZXJUeXBlID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5
cGUoKS0+dW5pZnlOb2RlKCk7Ci0gICAgICAgIGF1dG8mIHVubmFtZWRQYXJhbWV0ZXJUeXBlID0g
ZG93bmNhc3Q8QVNUOjpVbm5hbWVkVHlwZT4ocGFyYW1ldGVyVHlwZSk7Ci0gICAgICAgIGlmIChp
czxBU1Q6OkFycmF5VHlwZT4odW5uYW1lZFBhcmFtZXRlclR5cGUpKSB7Ci0gICAgICAgICAgICBh
dXRvJiBhcnJheVBhcmFtZXRlclR5cGUgPSBkb3duY2FzdDxBU1Q6OkFycmF5VHlwZT4odW5uYW1l
ZFBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJyYXlQYXJhbWV0ZXJUeXBl
Lm51bUVsZW1lbnRzKCksICI7XG4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4odW5uYW1lZFBhcmFt
ZXRlclR5cGUpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBp
bmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAiLmxlbmd0aDtcbiIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpLnN0YXJ0c1dpdGgoIm9wZXJhdG9yLiJfc3RyKSkgewotICAgICAgICBhdXRvIGFwcGVuZE1h
bmdsZWRGaWVsZE5hbWUgPSBbJl0gKGNvbnN0IFN0cmluZyYgZmllbGROYW1lKSB7Ci0gICAgICAg
ICAgICBhdXRvJiB1bmlmeU5vZGUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpLT51bmlmeU5vZGUoKTsKLSAgICAgICAgICAgIGF1dG8mIG5hbWVkVHlw
ZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlmeU5vZGUpOwotICAgICAgICAgICAgaWYg
KGlzPEFTVDo6U3RydWN0dXJlRGVmaW5pdGlvbj4obmFtZWRUeXBlKSkgewotICAgICAgICAgICAg
ICAgIGF1dG8mIHN0cnVjdHVyZURlZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OlN0cnVjdHVyZURl
ZmluaXRpb24+KG5hbWVkVHlwZSk7Ci0gICAgICAgICAgICAgICAgYXV0byogc3RydWN0dXJlRWxl
bWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwotICAgICAgICAgICAg
ICAgIEFTU0VSVChzdHJ1Y3R1cmVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWls
ZGVyLmFwcGVuZCh0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JTdHJ1Y3R1cmVFbGVtZW50KCpzdHJ1
Y3R1cmVFbGVtZW50KSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgQVNTRVJUKGlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5
cGUpKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0gICAg
ICAgIH07Ci0KLSAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLmVu
ZHNXaXRoKCI9IikpIHsKLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMik7Ci0gICAgICAgICAgICBhdXRvIGZpZWxkTmFt
ZSA9IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpLnN1YnN0cmluZygib3BlcmF0b3Iu
Il9zdHIubGVuZ3RoKCkpOwotICAgICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnN1YnN0
cmluZygwLCBmaWVsZE5hbWUubGVuZ3RoKCkgLSAxKTsKLQotICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwg
YXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAnLicp
OwotICAgICAgICAgICAgYXBwZW5kTWFuZ2xlZEZpZWxkTmFtZShmaWVsZE5hbWUpOwotICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiA9ICIsIGFyZ3NbMV0sICI7XG4iKTsKLQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKTsKLSAgICAgICAgYXV0byBm
aWVsZE5hbWUgPSBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJzdHJpbmcoIm9w
ZXJhdG9yLiJfc3RyLmxlbmd0aCgpKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0g
ICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSAiLCBhcmdzWzBdLCAnLicpOwotICAg
ICAgICBhcHBlbmRNYW5nbGVkRmllbGROYW1lKGZpZWxkTmFtZSk7Ci0gICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCI7XG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdGFydHNXaXRoKCJvcGVyYXRvciYuIl9z
dHIpKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMSk7Ci0gICAgICAgIGF1dG8gZmllbGROYW1lID0gbmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciYuIl9zdHIubGVuZ3RoKCkp
OwotCi0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCBy
ZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIiA/ICYoIiwgYXJnc1swXSwgIi0+Iik7Ci0KLSAg
ICAgICAgYXV0byYgdW5uYW1lZFR5cGUgPSAqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKClbMF0tPnR5cGUoKTsKLSAgICAgICAgYXV0byYgdW5pZnlOb2RlID0gZG93bmNhc3Q8
QVNUOjpQb2ludGVyVHlwZT4odW5uYW1lZFR5cGUpLmVsZW1lbnRUeXBlKCkudW5pZnlOb2RlKCk7
Ci0gICAgICAgIGF1dG8mIG5hbWVkVHlwZSA9IGRvd25jYXN0PEFTVDo6TmFtZWRUeXBlPih1bmlm
eU5vZGUpOwotICAgICAgICBpZiAoaXM8QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5
cGUpKSB7Ci0gICAgICAgICAgICBhdXRvJiBzdHJ1Y3R1cmVEZWZpbml0aW9uID0gZG93bmNhc3Q8
QVNUOjpTdHJ1Y3R1cmVEZWZpbml0aW9uPihuYW1lZFR5cGUpOwotICAgICAgICAgICAgYXV0byog
c3RydWN0dXJlRWxlbWVudCA9IHN0cnVjdHVyZURlZmluaXRpb24uZmluZChmaWVsZE5hbWUpOwot
ICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZUVsZW1lbnQpOwotICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQodHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yU3RydWN0dXJlRWxlbWVudCgq
c3RydWN0dXJlRWxlbWVudCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKGZpZWxkTmFtZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IikgOiBudWxscHRyO1xuIik7Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChu
YXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3ImW10iKSB7Ci0gICAg
ICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkg
PT0gMik7Ci0gICAgICAgIEFTU0VSVChpczxBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZT4oKm5hdGl2
ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBlKCkpKTsKLQotICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9ICgiLCBhcmdzWzFdLCAiIDwgIiwgYXJnc1swXSwgIi5sZW5ndGgpID8gIiwgIiAmKCIsIGFy
Z3NbMF0sICIucG9pbnRlclsiLCBhcmdzWzFdLCAiXSkgOiBudWxscHRyO1xuIik7Ci0gICAgICAg
ICAgICAKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gdmVjdG9yU2l6ZSA9IFsm
XSAoKSAtPiB1bnNpZ25lZCB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2Fz
dDxBU1Q6OlR5cGVSZWZlcmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKVswXS0+dHlwZSgpKTsKLSAgICAgICAgYXV0byYgdmVjdG9yVHlwZSA9IGRvd25jYXN0PEFT
VDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVuY2U+KGRv
d25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkp
LnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS5uYW1l
KCkgPT0gInZlY3RvciIpOwotICAgICAgICBBU1NFUlQodmVjdG9yVHlwZS50eXBlQXJndW1lbnRz
KCkuc2l6ZSgpID09IDIpOwotICAgICAgICByZXR1cm4gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4
cHJlc3Npb24+KHZlY3RvclR5cGUudHlwZUFyZ3VtZW50cygpWzFdKS5pbnRlZ2VyTGl0ZXJhbCgp
LnZhbHVlKCk7Ci0gICAgfTsKLQotICAgIGF1dG8gZ2V0TWF0cml4VHlwZSA9IFsmXSAoKSAtPiBB
U1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbiYgewotICAgICAgICBhdXRvJiB0eXBlUmVmZXJlbmNl
ID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSk7Ci0gICAgICAgIGF1dG8mIHJlc3VsdCA9IGRvd25j
YXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KGRvd25jYXN0PEFTVDo6VHlwZURlZmluaXRpb24+KHR5cGVSZWZlcmVuY2UucmVzb2x2ZWRU
eXBlKCkpLnR5cGUoKSkucmVzb2x2ZWRUeXBlKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0Lmlz
TWF0cml4KCkpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH07Ci0KLSAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIm9wZXJhdG9yW10iKSB7Ci0gICAgICAg
IEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0g
Mik7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZl
cmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgp
KTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxB
U1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkp
LnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVt
VHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9
IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50
eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhU
eXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBudW1iZXJP
ZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtc
biIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0aW9uU2NvcGUgc2Nv
cGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1i
ZXJPZlJvd3MsICIpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCBy
ZXR1cm5OYW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAicmVzdWx0WzBdID0gIiwg
YXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiXTtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgInJlc3VsdFsxXSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9m
Um93cywgIl07XG4iKTsKLQotICAgICAgICAgICAgICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0g
MykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAicmVz
dWx0WzJdID0gIiwgYXJnc1swXSwgJ1snLCBhcmdzWzFdLCAiICsgIiwgbnVtYmVyT2ZSb3dzICog
MiwgIl07XG4iKTsKLSAgICAgICAgICAgICAgICBpZiAobnVtYmVyT2ZDb2x1bW5zID49IDQpCi0g
ICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgInJlc3VsdFsz
XSA9ICIsIGFyZ3NbMF0sICdbJywgYXJnc1sxXSwgIiArICIsIG51bWJlck9mUm93cyAqIDMsICJd
O1xuIik7Ci0gICAgCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgifSB3aGlsZSAoMCk7XG4iKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBudW1FbGVtZW50cyA9IHZlY3RvclNpemUoKTsKLQotICAgICAg
ICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBl
KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKLQotICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAiZG8ge1xuIik7Ci0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFs
UmV0dXJuTmFtZSwgIiByZXN1bHQ7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJp
ZiAoIiwgYXJnc1sxXSwgIiA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAg
ICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5h
bWUsICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iLAotICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICJyZXN1bHQgPSAiLCBhcmdzWzBdLCAiWyIsIGFyZ3NbMV0sICJdO1xuIiwKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gcmVzdWx0O1xuIik7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9
IHdoaWxlICgwKTtcbiIpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAib3BlcmF0b3JbXT0i
KSB7Ci0gICAgICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZl
cmVuY2U+KCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVswXS0+dHlwZSgp
KTsKLSAgICAgICAgc2l6ZV90IG51bVR5cGVBcmd1bWVudHMgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2
ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPihkb3duY2FzdDxB
U1Q6OlR5cGVEZWZpbml0aW9uPih0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKS50eXBlKCkp
LnJlc29sdmVkVHlwZSgpKS50eXBlQXJndW1lbnRzKCkuc2l6ZSgpOwotICAgICAgICBpZiAobnVt
VHlwZUFyZ3VtZW50cyA9PSAzKSB7Ci0gICAgICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDMpOwotICAgICAgICAgICAgYXV0byBt
ZXRhbFBhcmFtZXRlcjJOYW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZSgqbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMV0tPnR5cGUoKSk7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGFsUmV0dXJuTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotCi0gICAgICAgICAgICB1bnNpZ25lZCBu
dW1iZXJPZlJvd3MgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVyT2ZNYXRyaXhSb3dzKCk7Ci0gICAg
ICAgICAgICB1bnNpZ25lZCBudW1iZXJPZkNvbHVtbnMgPSBnZXRNYXRyaXhUeXBlKCkubnVtYmVy
T2ZNYXRyaXhDb2x1bW5zKCk7Ci0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGlu
ZGVudCwgImRvIHtcbiIpOwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluZGVudGF0
aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuTmFtZSwgIiBt
ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxQ
YXJhbWV0ZXIyTmFtZSwgIiBpID0gIiwgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAg
ICAgIGluZGVudCwgImlmIChpID49ICIsIG51bWJlck9mUm93cywgIikge1xuIiwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSBtO1xuIiwKLSAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAifVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAibVtpXSA9ICIs
IGFyZ3NbMl0sICJbMF07XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJtW2kgKyAi
LCBudW1iZXJPZlJvd3MsICJdID0gIiwgYXJnc1syXSwgIlsxXTtcbiIpOwotICAgICAgICAgICAg
ICAgIGlmIChudW1iZXJPZkNvbHVtbnMgPj0gMykKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoaW5kZW50LCAibVtpICsgIiwgbnVtYmVyT2ZSb3dzICogMiwgIl0gPSAi
LCBhcmdzWzJdLCAiWzJdO1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKG51bWJlck9mQ29sdW1u
cyA+PSA0KQotICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJtW2kgKyAiLCBudW1iZXJPZlJvd3MgKiAzLCAiXSA9ICIsIGFyZ3NbMl0sICJbM107XG4iKTsK
LSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUs
ICIgPSBtO1xuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn0gd2hpbGUoMCk7XG4iKTsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG51bVR5cGVBcmd1bWVudHMgPT0gMik7
Ci0KLSAgICAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyMk5hbWUg
PSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKCpuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
LnBhcmFtZXRlcnMoKVsxXS0+dHlwZSgpKTsKLSAgICAgICAgICAgIGF1dG8gbWV0YWxSZXR1cm5O
YW1lID0gdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnR5cGUoKSk7Ci0KLSAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1lbnRzID0gdmVjdG9y
U2l6ZSgpOwotCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJkbyB7
XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNj
b3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVybk5hbWUsICIgdiA9ICIsIGFyZ3Nb
MF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUGFyYW1ldGVyMk5h
bWUsICIgaSA9ICIsIGFyZ3NbMV0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQs
ICJpZiAoaSA+PSAiLCBudW1FbGVtZW50cywgIikge1xuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSB2O1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAi
fVxuIiwKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAidltpXSA9ICIsIGFyZ3NbMl0sICI7
XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB2O1xuIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ9IHdoaWxlKDApO1xuIik7Ci0gICAgICAgIH0KLQorICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZCgnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24uaXNPcGVyYXRvcigpKSB7CiAgICAgICAgIGF1dG8gb3BlcmF0b3JOYW1l
ID0gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkuc3Vic3RyaW5nKCJvcGVyYXRvciJf
c3RyLmxlbmd0aCgpKTsKLSAgICAgICAgYXV0byBtZXRhbFJldHVyblR5cGUgPSB0eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpKTsKKwog
ICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgp
ID09IDEpIHsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgb2sgdG8gZG8gc2luY2UgdGhlIGFyZ3Mg
dG8gdGhpcyBmdW5jdGlvbiBhcmUgYWxsIHRlbXBzLgorICAgICAgICAgICAgLy8gU28gdGhpbmdz
IGxpa2UgKysgYW5kIC0tIGFyZSBvayB0byBkby4KKwogICAgICAgICAgICAgaWYgKGF1dG8qIG1h
dHJpeFR5cGUgPSBhc01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkp
KSB7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeCA9
ICIsIGFyZ3NbMF0sICI7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgb3BlcmF0b3JOYW1lLCAieFtpXTtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7Cisg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlwZS0+bnVtYmVyT2ZNYXRyaXhDb2x1
bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgb3BlcmF0
b3JOYW1lLCBhcmdzWzBdLCAnWycsIGksICddJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQs
ICJ7XG4iKTsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluZGVudGF0
aW9uU2NvcGUgc2NvcGUoaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIG1ldGFsUmV0dXJuVHlw
ZSwgIiB4ID0gIiwgYXJnc1swXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsIHJldHVybk5hbWUsICIgPSAiLCBvcGVyYXRvck5hbWUsICJ4O1xuIik7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1c
biIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChvcGVyYXRvck5hbWUsIGFyZ3NbMF0pOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTQ3Myw0OSArMjA2LDQwIEBAIHZvaWQgaW5s
aW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgaWYgKGF1dG8qIGxlZnRN
YXRyaXggPSBhc01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpWzBdLT50eXBlKCkpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBh
c01hdHJpeFR5cGUoKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50
eXBlKCkpKSB7CiAgICAgICAgICAgICAgICAgLy8gbWF0cml4IDxvcD4gbWF0cml4Ci0gICAgICAg
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAie1xuIik7Ci0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVu
dCk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kZW50LCBtZXRhbFJldHVyblR5cGUsICIgeDtcbiIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgp
OyArK2kpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIHhbaV0gPSAi
LCBhcmdzWzBdLCAiW2ldICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAiW2ldO1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9IHg7XG4iKTsK
KyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZWZ0TWF0cml4LT5udW1iZXJPZk1hdHJpeENv
bHVtbnMoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdbJywgaSwgIl0gPSAiLCBhcmdz
WzBdLCAnWycsIGksICJdICIsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAnWycsIGksICdd
Jyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIC8vIG1hdHJpeCA8b3A+IHNjYWxhcgotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKGluZGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgSW5kZW50YXRpb25TY29wZSBzY29wZShpbmRlbnQpOwotICAgICAgICAgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVu
dCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiZm9yIChzaXplX3QgaSA9IDA7IGkgPCB4LnNpemUoKTsgKytpKVxuIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICB4W2ldID0gIiwgYXJnc1swXSwgIltpXSAiLCBv
cGVyYXRvck5hbWUsICcgJywgYXJnc1sxXSwgIjtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVmdE1hdHJpeC0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIsICIpOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChyZXN1bHROYW1lLCAnWycsIGksICJdID0gIiwgYXJnc1swXSwgJ1snLCBpLCAiXSAiLCBvcGVy
YXRvck5hbWUsICcgJywgYXJnc1sxXSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgICAg
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogcmlnaHRNYXRyaXggPSBhc01hdHJpeFR5cGUo
Km5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCkpKSB7CiAg
ICAgICAgICAgICBBU1NFUlQoIWFzTWF0cml4VHlwZSgqbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKSkpOwogICAgICAgICAgICAgLy8gc2NhbGFyIDxvcD4g
bWF0cml4Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGlu
ZGVudCk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICAgICAgICAgIGluZGVudCwgbWV0YWxSZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAg
ICAgICAgICBpbmRlbnQsICJmb3IgKHNpemVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpXG4i
LAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgeFtpXSA9ICIsIGFyZ3NbMF0sICcg
Jywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICJbaV07XG4iLAotICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsIHJldHVybk5hbWUsICIgPSB4O1xuIik7CisgICAgICAgICAgICBzdHJpbmdC
dWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHJpZ2h0TWF0cml4LT5udW1iZXJPZk1hdHJpeENvbHVtbnMoKTsgKytpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHJlc3VsdE5hbWUsICdb
JywgaSwgIl0gPSAiLCBhcmdzWzBdLCAnICcsIG9wZXJhdG9yTmFtZSwgJyAnLCBhcmdzWzFdLCAn
WycsIGksICddJyk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZChpbmRlbnQsICJ9XG4iKTsKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIs
ICIsIHJlc3VsdE5hbWUsICcpJyk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBz
Y2FsYXIgPG9wPiBzY2FsYXIKICAgICAgICAgICAgIC8vIHZlY3RvciA8b3A+IHZlY3RvcgogICAg
ICAgICAgICAgLy8gdmVjdG9yIDxvcD4gc2NhbGFyCiAgICAgICAgICAgICAvLyBzY2FsYXIgPG9w
PiB2ZWN0b3IKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGluZGVudCwgcmV0dXJuTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICcgJywgb3BlcmF0b3JOYW1l
LCAnICcsIGFyZ3NbMV0sICI7XG4iKTsKKyAgICAgICAgICAgICAgICAnKCcsIGFyZ3NbMF0sICcg
Jywgb3BlcmF0b3JOYW1lLCAnICcsIGFyZ3NbMV0sICcpJyk7CiAgICAgICAgIH0KIAogICAgICAg
ICByZXR1cm47CkBAIC01NDgsMzUgKzI3MiwzNiBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9u
KFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHx8IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFt
ZSgpID09ICJsZW5ndGgiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgbWFwRnVuY3Rpb25O
YW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAiKTtc
biIpOworICAgICAgICAgICAgbWFwRnVuY3Rpb25OYW1lKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ubmFtZSgpKSwgJygnLCBhcmdzWzBdLCAnKScpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJwb3ciIHx8IG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ubmFtZSgpID09ICJhdGFuMiIpIHsKICAgICAgICAgQVNT
RVJUKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAyKTsK
ICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsIHJldHVy
bk5hbWUsICIgPSAiLCBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSwgIigiLCBhcmdz
WzBdLCAiLCAiLCBhcmdzWzFdLCAiKTtcbiIpOworICAgICAgICAgICAgbmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbi5uYW1lKCksICcoJywgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgJyknKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9u
Lm5hbWUoKSA9PSAiY2xhbXAiKSB7CiAgICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIGlmIChhc01hdHJpeFR5
cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7Ci0gICAgICAgICAgICBhdXRv
IG1ldGFsUmV0dXJuVHlwZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFtZUZvclR5cGUobmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0gICAgICAgICAgICAgICAg
c3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCwgbWV0YWxS
ZXR1cm5UeXBlLCAiIHg7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHguc2l6ZSgpOyArK2kpIFxuIiwKLSAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgIHhbaV0gPSBjbGFtcCgiLCBhcmdzWzBdLCAiW2ldLCAiLCBhcmdzWzFdLCAi
W2ldLCAiLCBhcmdzWzJdLCAiW2ldKTsiLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsIHJl
dHVybk5hbWUsICIgPSB4O1xuIik7CisKKyAgICAgICAgaWYgKGF1dG8qIG1hdHJpeFR5cGUgPSBh
c01hdHJpeFR5cGUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi50eXBlKCkpKSB7CisgICAgICAg
ICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcpOworICAgICAgICAgICAgYm9vbCByYW5PbmNl
ID0gZmFsc2U7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF0cml4VHlw
ZS0+bnVtYmVyT2ZNYXRyaXhDb2x1bW5zKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaiA9IDA7IGogPCBtYXRyaXhUeXBlLT5udW1iZXJPZk1hdHJpeFJvd3MoKTsgKytq
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChyYW5PbmNlKQorICAgICAgICAgICAgICAgICAg
ICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgICAgIHJh
bk9uY2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdE5hbWUsICdbJywgaSwgIl1bIiwgaiwgIl0g
PSBjbGFtcCgiLCBhcmdzWzBdLCAnWycsIGksICJdWyIsIGosICJdLCAiLCBhcmdzWzFdLCAnWycs
IGksICJdWyIsIGosICJdLCAiLCBhcmdzWzJdLCAnWycsIGksICJdWyIsIGosICJdKSIpOworICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKGluZGVudCwgIn1cbiIpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
IiwgIiwgcmVzdWx0TmFtZSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgcmV0dXJuTmFtZSwg
IiA9IGNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsICIsIGFyZ3NbMl0sICIpO1xu
Iik7CisgICAgICAgICAgICAgICAgImNsYW1wKCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIs
ICIsIGFyZ3NbMl0sICcpJyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTU4NCwyMyArMzA5LDIxIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRl
ciYKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkFsbE1lbW9y
eUJhcnJpZXJXaXRoR3JvdXBTeW5jIikgewogICAgICAgICBBU1NFUlQoIW5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCAidGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxh
Z3M6Om1lbV9kZXZpY2UpO1xuIiwKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2Jh
cnJpZXIobWVtX2ZsYWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIiwKLSAgICAgICAgICAgIGluZGVu
dCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2ZsYWdzOjptZW1fdGV4dHVyZSk7XG4iKTsKKyAg
ICAgICAgICAgICIodGhyZWFkZ3JvdXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV9kZXZpY2UpLCB0
aHJlYWRncm91cF9iYXJyaWVyKG1lbV9mbGFnczo6bWVtX3RocmVhZGdyb3VwKSwgdGhyZWFkZ3Jv
dXBfYmFycmllcihtZW1fZmxhZ3M6Om1lbV90ZXh0dXJlKSkiKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiRGV2
aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiKSB7CiAgICAgICAgIEFTU0VSVCghbmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpKTsKICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWRncm91cF9iYXJyaWVy
KG1lbV9mbGFnczo6bWVtX2RldmljZSk7XG4iKTsKKyAgICAgICAgICAgICJ0aHJlYWRncm91cF9i
YXJyaWVyKG1lbV9mbGFnczo6bWVtX2RldmljZSkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR3JvdXBNZW1v
cnlCYXJyaWVyV2l0aEdyb3VwU3luYyIpIHsKICAgICAgICAgQVNTRVJUKCFuYXRpdmVGdW5jdGlv
bkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkpOwogICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgKLSAgICAgICAgICAgIGluZGVudCwgInRocmVhZGdyb3VwX2JhcnJpZXIobWVtX2Zs
YWdzOjptZW1fdGhyZWFkZ3JvdXApO1xuIik7CisgICAgICAgICAgICAidGhyZWFkZ3JvdXBfYmFy
cmllcihtZW1fZmxhZ3M6Om1lbV90aHJlYWRncm91cCkiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtNjA4LDE1ICszMzEsMTUgQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJp
bmdCdWlsZGVyJgogICAgICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkg
PT0gIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlIikgewogICAgICAgICAgICAgQVNTRVJUKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSA0KTsKICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgImF0
b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgJiIsIGFy
Z3NbMV0sICIsICIsIGFyZ3NbMl0sICIsIG1lbW9yeV9vcmRlcl9yZWxheGVkLCBtZW1vcnlfb3Jk
ZXJfcmVsYXhlZCk7XG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgJyonLCBhcmdzWzNdLCAi
ID0gIiwgYXJnc1sxXSwgIjtcbiIpOworICAgICAgICAgICAgICAgICIoYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAmIiwgYXJnc1sxXSwgIiwgIiwg
YXJnc1syXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSwg
IiwKKyAgICAgICAgICAgICAgICAnKicsIGFyZ3NbM10sICIgPSAiLCBhcmdzWzFdLCAnKScpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgQVNTRVJUKG5hdGl2ZUZ1
bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAzKTsKICAgICAgICAgYXV0
byBuYW1lID0gYXRvbWljTmFtZShuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKS5zdWJz
dHJpbmcoIkludGVybG9ja2VkIl9zdHIubGVuZ3RoKCkpKTsKICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoCi0gICAgICAgICAgICBpbmRlbnQsICcqJywgYXJnc1syXSwgIiA9IGF0b21pY18i
LCBuYW1lLCAiX2V4cGxpY2l0KCIsIGFyZ3NbMF0sICIsICIsIGFyZ3NbMV0sICIsIG1lbW9yeV9v
cmRlcl9yZWxheGVkKTtcbiIpOworICAgICAgICAgICAgJyonLCBhcmdzWzJdLCAiID0gYXRvbWlj
XyIsIG5hbWUsICJfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5
X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTYzMCw3ICsz
NTMsNyBAQCB2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAg
IGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKHJldHVyblR5cGUpOwogCiAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50LCByZXR1cm5O
YW1lLCAiID0gIiwgYXJnc1swXSwgIi5zYW1wbGUoIiwgYXJnc1sxXSwgIiwgIik7CisgICAgICAg
ICAgICBhcmdzWzBdLCAiLnNhbXBsZSgiLCBhcmdzWzFdLCAiLCAiKTsKIAogICAgICAgICBpZiAo
dGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgewogICAgICAgICAgICAgQVNTRVJUKGxvY2F0
aW9uVmVjdG9yTGVuZ3RoID4gMSk7CkBAIC02NDIsODEgKzM2NSw2NiBAQCB2b2lkIGlubGluZU5h
dGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImCiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KCIpIik7CiAgICAgICAgIGlmICghdGV4dHVyZVR5cGUuaXNEZXB0aFRleHR1cmUoKSkKICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIuIiwgInh5enciX3N0ci5zdWJzdHJpbmcoMCwg
cmV0dXJuVmVjdG9yTGVuZ3RoKSk7Ci0gICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCI7XG4i
KTsKIAogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ubmFtZSgpID09ICJMb2FkIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKCkuc2l6ZSgpID09IDIpOwotICAgICAgICAKKwogICAg
ICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0
aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVkVHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5w
YXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+dW5pZnlOb2RlKCkpKTsKICAgICAgICAgYXV0byYgbG9j
YXRpb25UeXBlID0gZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KGRvd25jYXN0
PEFTVDo6TmFtZWRUeXBlPihuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKVsx
XS0+dHlwZSgpLT51bmlmeU5vZGUoKSkpOwogICAgICAgICBhdXRvIGxvY2F0aW9uVmVjdG9yTGVu
Z3RoID0gdmVjdG9yTGVuZ3RoKGxvY2F0aW9uVHlwZSk7CiAgICAgICAgIGF1dG8mIHJldHVyblR5
cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24udHlwZSgpLnVuaWZ5Tm9kZSgpKSk7
CiAgICAgICAgIGF1dG8gcmV0dXJuVmVjdG9yTGVuZ3RoID0gdmVjdG9yTGVuZ3RoKHJldHVyblR5
cGUpOworICAgICAgICBhdXRvIGxvY2F0aW9uVHlwZU5hbWUgPSB0eXBlTmFtZXIubWFuZ2xlZE5h
bWVGb3JUeXBlKGxvY2F0aW9uVHlwZSk7CiAKLSAgICAgICAgYXV0byBtZXRhbFJldHVybk5hbWUg
PSB0eXBlTmFtZXIubWFuZ2xlZE5hbWVGb3JUeXBlKHJldHVyblR5cGUpOwotCi0gICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKGluZGVudCwgImRvIHtcbiIpOwotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbmRlbnRhdGlvblNjb3BlIHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0
ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxv
Y2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGRpbWVuc2lv
bnNbXSA9IHsgIndpZHRoIl9zdHIsICJoZWlnaHQiX3N0ciwgImRlcHRoIl9zdHIgfTsKLSAgICAg
ICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gc3VmZml4ID0gInh5enciX3N0ci5zdWJz
dHJpbmcoaSwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICcuJywgc3Vm
Zml4LCAiIDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgJy4nLCBzdWZm
aXgsICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSkge1xuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5OYW1lLCAiID0g
IiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9
XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXV0byBzdWZmaXggPSAi
eHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpOworICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKCcsIGFyZ3NbMV0sICIgPSAiKTsKKyAgICAgICAgaWYg
KHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChsb2Nh
dGlvblZlY3Rvckxlbmd0aCA+IDEpOworICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQo
ImNsYW1wKCIsIGFyZ3NbMV0sICIsICIsIGxvY2F0aW9uVHlwZU5hbWUsICcoJyk7CisgICAgICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJzAnKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLCAiLCBs
b2NhdGlvblR5cGVOYW1lLCAnKCcpOworCisgICAgICAgICAgICBTdHJpbmcgZGltZW5zaW9uc1td
ID0geyAid2lkdGgiX3N0ciwgImhlaWdodCJfc3RyLCAiZGVwdGgiX3N0ciB9OworICAgICAgICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDE7ICsraSkgewor
ICAgICAgICAgICAgICAgIGlmIChpKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVy
LmFwcGVuZCgiLCAiKTsKICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMV0sICcuJywgc3VmZml4LCAi
IDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgJy4nLCBzdWZmaXgsICIp
ID49ICIsIGFyZ3NbMF0sICIuZ2V0X2FycmF5X3NpemUoKSkge1xuIiwKLSAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUs
ICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgYnJlYWs7XG4iLAot
ICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID09IDEpIHsKLSAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAg
ICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIiA8IDAgfHwgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KCIsIGFyZ3NbMV0sICIpID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpIHtcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgIiwgcmV0dXJuTmFtZSwgIiA9ICIs
IG1ldGFsUmV0dXJuTmFtZSwgIigwKTtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRl
bnQsICIgICAgYnJlYWs7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxu
Iik7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwg
YXJnc1sxXSwgIi54IDwgMCB8fCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIi54
KSA+PSAiLCBhcmdzWzBdLCAiLmdldF93aWR0aCgpKSB7XG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUs
ICIoMCk7XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xu
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1cbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1sxXSwgIi55IDwgMCB8fCBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4oIiwgYXJnc1sxXSwgIi55KSA+PSAiLCBhcmdzWzBdLCAiLmdldF9oZWlnaHQo
KSkge1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAiLCByZXR1cm5O
YW1lLCAiID0gIiwgbWV0YWxSZXR1cm5OYW1lLCAiKDApO1xuIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bmRlbnQsICJ9XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVu
Z3RoID49IDMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCBhcmdzWzFdLCAi
LnogPCAwIHx8IHN0YXRpY19jYXN0PHVpbnQzMl90PigiLCBhcmdzWzFdLCAiLnopID49ICIsIGFy
Z3NbMF0sICIuZ2V0X2RlcHRoKCkpIHtcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZW50LCAiICAgICIsIHJldHVybk5hbWUsICIgPSAiLCBtZXRhbFJldHVybk5hbWUsICIoMCk7
XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICBicmVhaztcbiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAifVxuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGFyZ3Nb
MF0sICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSAtIDEiKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAorICAgICAgICAgICAgICAgIGFyZ3NbMF0s
ICIuZ2V0X2FycmF5X3NpemUoKSAtIDEpKSIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgaWYgKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID09IDEpCisgICAgICAgICAgICAgICAgc3RyaW5n
QnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsIDAsICIsIGFyZ3NbMF0sICIuZ2V0
X3dpZHRoKCkgLSAxKSIpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoImNsYW1wKCIsIGFyZ3NbMV0sICIsICIsIGxvY2F0aW9uVHlwZU5h
bWUsICIoMCwgMCIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA+
PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAwIik7Cisg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIiksICIsIGxvY2F0aW9uVHlwZU5h
bWUsICcoJywgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSAtIDEsICIsIGFyZ3NbMF0sICIuZ2V0X2hl
aWdodCgpIC0gMSIpOworICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA+
PSAzKQorICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiLCAiLCBhcmdz
WzBdLCAiLmdldF9kZXB0aCgpIC0gMSIpOworICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCIpKSIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoaW5kZW50LCByZXR1cm5OYW1lLCAiID0gIiwgYXJnc1swXSwgIi5yZWFkKCIpOwotICAg
ICAgICAgICAgaWYgKHRleHR1cmVUeXBlLmlzVGV4dHVyZUFycmF5KCkpIHsKLSAgICAgICAgICAg
ICAgICBBU1NFUlQobG9jYXRpb25WZWN0b3JMZW5ndGggPiAxKTsKLSAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxl
bmd0aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgbG9j
YXRpb25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sxXSwgJy4nLCAieHl6dyJf
c3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAnKScpOwotICAgICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInVpbnQi
LCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGgpLCAnKCcsIGFyZ3NbMV0sICcpJyk7
Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOwotICAgICAgICAgICAgaWYg
KCF0ZXh0dXJlVHlwZS5pc0RlcHRoVGV4dHVyZSgpKQotICAgICAgICAgICAgICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgcmV0dXJuVmVjdG9yTGVu
Z3RoKSk7Ci0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiO1xuIik7CiAgICAgICAg
IH0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAifSB3aGlsZSgwKTtcbiIp
OworCisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsICIsIGFyZ3NbMF0sICIucmVhZCgi
KTsKKworICAgICAgICBpZiAodGV4dHVyZVR5cGUuaXNUZXh0dXJlQXJyYXkoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7CisgICAgICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgidWludCIsIHZlY3RvclN1ZmZpeChsb2NhdGlvblZlY3Rvckxlbmd0
aCAtIDEpLCAnKCcsIGFyZ3NbMV0sICcuJywgInh5enciX3N0ci5zdWJzdHJpbmcoMCwgbG9jYXRp
b25WZWN0b3JMZW5ndGggLSAxKSwgIiksIHVpbnQoIiwgYXJnc1sxXSwgJy4nLCAieHl6dyJfc3Ry
LnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxlbmd0aCAtIDEsIDEpLCAnKScpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3Vm
Zml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzFdLCAnKScpOworICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgnKScpOworICAgICAgICBpZiAoIXRleHR1cmVUeXBlLmlzRGVw
dGhUZXh0dXJlKCkpCisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnLicsICJ4eXp3
Il9zdHIuc3Vic3RyaW5nKDAsIHJldHVyblZlY3Rvckxlbmd0aCkpOworCisgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTcyNCwx
OCArNDMyLDIwIEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAg
ICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gImxvYWQiKSB7CiAgICAg
ICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRlcnMoKS5zaXplKCkg
PT0gMSk7CiAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgaW5kZW50
LCByZXR1cm5OYW1lLCAiID0gYXRvbWljX2xvYWRfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgbWVt
b3J5X29yZGVyX3JlbGF4ZWQpO1xuIik7CisgICAgICAgICAgICAiYXRvbWljX2xvYWRfZXhwbGlj
aXQoIiwgYXJnc1swXSwgIiwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBpZiAobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0g
InN0b3JlIikgewogICAgICAgICBBU1NFUlQobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJh
bWV0ZXJzKCkuc2l6ZSgpID09IDIpOwogICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAg
ICAgICAgICAgIGluZGVudCwgImF0b21pY19zdG9yZV9leHBsaWNpdCgiLCBhcmdzWzBdLCAiLCAi
LCBhcmdzWzFdLCAiLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7XG4iKTsKKyAgICAgICAgICAgICJh
dG9taWNfc3RvcmVfZXhwbGljaXQoIiwgYXJnc1swXSwgIiwgIiwgYXJnc1sxXSwgIiwgbWVtb3J5
X29yZGVyX3JlbGF4ZWQpIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5uYW1lKCkgPT0gIkdldERpbWVuc2lvbnMiKSB7CisgICAg
ICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcoJyk7CisKICAgICAgICAgYXV0byYgdGV4dHVyZVR5
cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpO
YW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCktPnVuaWZ5Tm9kZSgpKSk7CiAKICAgICAgICAgc2l6ZV90IGluZGV4ID0gMTsKQEAgLTc2Nywz
OCArNDc3LDM1IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVuY3Rpb24oU3RyaW5nQnVpbGRlciYKICAg
ICAgICAgQVNTRVJUKGluZGV4ID09IG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVy
cygpLnNpemUoKSk7CiAKICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAg
ICBpbmRlbnQsICJpZiAoIiwgd2lkdGhOYW1lLCAiKVxuIiwKLSAgICAgICAgICAgIGluZGVudCwg
IiAgICAqIiwgd2lkdGhOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoIik7CisgICAg
ICAgICAgICAnKicsIHdpZHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCIpOwog
ICAgICAgICBpZiAoaGFzTWlwTGV2ZWwpCiAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChhcmdzWzFdKTsKLSAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoJyknKTsKIAogICAgICAgICBpZiAoaGVpZ2h0TmFtZSkg
ewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5k
ZW50LCAiaWYgKCIsICpoZWlnaHROYW1lLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQs
ICIgICAgKiIsICpoZWlnaHROYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCIpOwor
ICAgICAgICAgICAgICAgICIsICoiLCAqaGVpZ2h0TmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0
X2hlaWdodCgiKTsKICAgICAgICAgICAgIGlmIChoYXNNaXBMZXZlbCkKICAgICAgICAgICAgICAg
ICBzdHJpbmdCdWlsZGVyLmFwcGVuZChhcmdzWzFdKTsKLSAgICAgICAgICAgIHN0cmluZ0J1aWxk
ZXIuYXBwZW5kKCIpO1xuIik7CisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnKScp
OwogICAgICAgICB9CiAgICAgICAgIGlmIChkZXB0aE5hbWUpIHsKICAgICAgICAgICAgIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgIGluZGVudCwgImlmICgiLCAqZGVwdGhO
YW1lLCAiKVxuIiwKLSAgICAgICAgICAgICAgICBpbmRlbnQsICIgICAgKiIsICpkZXB0aE5hbWUs
ICIgPSAiLCBhcmdzWzBdLCAiLmdldF9kZXB0aCgiKTsKKyAgICAgICAgICAgICAgICAiLCAqIiwg
KmRlcHRoTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X2RlcHRoKCIpOwogICAgICAgICAgICAg
aWYgKGhhc01pcExldmVsKQogICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGFy
Z3NbMV0pOwotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKKyAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIH0KICAgICAgICAgaWYg
KGVsZW1lbnRzTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoCi0gICAg
ICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICplbGVtZW50c05hbWUsICIpXG4iLAotICAgICAg
ICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKmVsZW1lbnRzTmFtZSwgIiA9ICIsIGFyZ3NbMF0s
ICIuZ2V0X2FycmF5X3NpemUoKTtcbiIpOworICAgICAgICAgICAgICAgICIsICoiLCAqZWxlbWVu
dHNOYW1lLCAiID0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpIik7CiAgICAgICAgIH0K
ICAgICAgICAgaWYgKG51bWJlck9mTGV2ZWxzTmFtZSkgewogICAgICAgICAgICAgc3RyaW5nQnVp
bGRlci5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaW5kZW50LCAiaWYgKCIsICpudW1iZXJPZkxl
dmVsc05hbWUsICIpXG4iLAotICAgICAgICAgICAgICAgIGluZGVudCwgIiAgICAqIiwgKm51bWJl
ck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICIuZ2V0X251bV9taXBfbGV2ZWxzKCk7XG4i
KTsKKyAgICAgICAgICAgICAgICAiLCAqIiwgKm51bWJlck9mTGV2ZWxzTmFtZSwgIiA9ICIsIGFy
Z3NbMF0sICIuZ2V0X251bV9taXBfbGV2ZWxzKCkiKTsKICAgICAgICAgfQorCisgICAgICAgIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCcpJyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgz
OCw2NiArNTQ1LDggQEAgdm9pZCBpbmxpbmVOYXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgog
ICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiU3Rv
cmUiKSB7Ci0gICAgICAgIEFTU0VSVChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLnBhcmFtZXRl
cnMoKS5zaXplKCkgPT0gMyk7Ci0gICAgICAgIAotICAgICAgICBhdXRvJiB0ZXh0dXJlVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihkb3duY2FzdDxBU1Q6Ok5hbWVk
VHlwZT4obmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbi5wYXJhbWV0ZXJzKClbMF0tPnR5cGUoKS0+
dW5pZnlOb2RlKCkpKTsKLSAgICAgICAgYXV0byYgaXRlbVR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5h
dGl2ZVR5cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzFdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7Ci0g
ICAgICAgIGF1dG8mIGl0ZW1WZWN0b3JJbm5lclR5cGUgPSB2ZWN0b3JJbm5lclR5cGUoaXRlbVR5
cGUpOwotICAgICAgICBhdXRvIGl0ZW1WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgoaXRlbVR5
cGUpOwotICAgICAgICBhdXRvJiBsb2NhdGlvblR5cGUgPSBkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5
cGVEZWNsYXJhdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KG5hdGl2ZUZ1bmN0aW9uRGVj
bGFyYXRpb24ucGFyYW1ldGVycygpWzJdLT50eXBlKCktPnVuaWZ5Tm9kZSgpKSk7Ci0gICAgICAg
IGF1dG8gbG9jYXRpb25WZWN0b3JMZW5ndGggPSB2ZWN0b3JMZW5ndGgobG9jYXRpb25UeXBlKTsK
LQotICAgICAgICBhdXRvIG1ldGFsSW5uZXJUeXBlTmFtZSA9IHR5cGVOYW1lci5tYW5nbGVkTmFt
ZUZvclR5cGUoaXRlbVZlY3RvcklubmVyVHlwZSk7Ci0KLSAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoImRvIHtcbiIpOwotICAgICAgICB7Ci0gICAgICAgICAgICBJbmRlbnRhdGlvblNjb3Bl
IHNjb3BlKGluZGVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVB
cnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4g
MSk7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIGRpbWVuc2lvbnNbXSA9IHsgIndpZHRoIl9zdHIs
ICJoZWlnaHQiX3N0ciwgImRlcHRoIl9zdHIgfTsKLSAgICAgICAgICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGxvY2F0aW9uVmVjdG9yTGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGF1dG8gc3VmZml4ID0gInh5enciX3N0ci5zdWJzdHJpbmcoaSwgMSk7Ci0gICAgICAg
ICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIuIiwgc3VmZml4LCAiID49ICIsIGFyZ3NbMF0s
ICIuZ2V0XyIsIGRpbWVuc2lvbnNbaV0sICIoKSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbmRlbnQsICIgICAgYnJlYWs7XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgYXV0byBzdWZmaXggPSAieHl6dyJfc3RyLnN1YnN0cmluZyhsb2NhdGlvblZlY3Rvckxl
bmd0aCAtIDEsIDEpOwotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAg
ICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgJy4nLCBzdWZmaXgsICIg
Pj0gIiwgYXJnc1swXSwgIi5nZXRfYXJyYXlfc2l6ZSgpKVxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA9PSAxKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiaWYgKCIsIGFyZ3NbMl0sICIgPj0gIiwgYXJnc1swXSwgIi5nZXRfd2lkdGgoKSkgXG4i
LAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0gICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwg
Ii54ID49ICIsIGFyZ3NbMF0sICIuZ2V0X3dpZHRoKCkpXG4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
ZGVudCwgImlmICgiLCBhcmdzWzJdLCAiLnkgPj0gIiwgYXJnc1swXSwgIi5nZXRfaGVpZ2h0KCkp
XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LCAiICAgIGJyZWFrO1xuIik7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblZlY3Rvckxlbmd0aCA+PSAzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbmRlbnQsICJpZiAoIiwgYXJnc1syXSwgIi56ID49ICIsIGFyZ3NbMF0s
ICIuZ2V0X2RlcHRoKCkpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwg
IiAgICBicmVhaztcbiIpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoaW5kZW50
LCBhcmdzWzBdLCAiLndyaXRlKHZlYzwiLCBtZXRhbElubmVyVHlwZU5hbWUsICIsIDQ+KCIsIGFy
Z3NbMV0pOwotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0IC0gaXRlbVZlY3Rvckxl
bmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIsIDAiKTsK
LSAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCIpLCAiKTsKLSAgICAgICAgICAgIGlm
ICh0ZXh0dXJlVHlwZS5pc1RleHR1cmVBcnJheSgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJU
KGxvY2F0aW9uVmVjdG9yTGVuZ3RoID4gMSk7Ci0gICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRl
ci5hcHBlbmQoInVpbnQiLCB2ZWN0b3JTdWZmaXgobG9jYXRpb25WZWN0b3JMZW5ndGggLSAxKSwg
JygnLCBhcmdzWzJdLCAnLicsICJ4eXp3Il9zdHIuc3Vic3RyaW5nKDAsIGxvY2F0aW9uVmVjdG9y
TGVuZ3RoIC0gMSksICIpLCB1aW50KCIsIGFyZ3NbMl0sICIuIiwgInh5enciX3N0ci5zdWJzdHJp
bmcobG9jYXRpb25WZWN0b3JMZW5ndGggLSAxLCAxKSwgJyknKTsKLSAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJ1aW50IiwgdmVjdG9yU3Vm
Zml4KGxvY2F0aW9uVmVjdG9yTGVuZ3RoKSwgJygnLCBhcmdzWzJdLCAnKScpOwotICAgICAgICAg
ICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIik7XG4iKTsKLSAgICAgICAgfQotICAgICAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsICJ9IHdoaWxlKDApO1xuIik7Ci0KLSAgICAgICAgcmV0
dXJuOworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTgxMyBJbXBsZW1lbnQgdGhpcworICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwog
ICAgIH0KIAogICAgIGlmIChuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLm5hbWUoKSA9PSAiR2F0
aGVyQWxwaGEiKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9N
ZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRl
ci5oCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIE1ldGFsIHsKIAogY2xhc3MgVHlwZU5hbWVyOwogCi12
b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBBU1Q6Ok5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24mLCBNYW5nbGVkVmFyaWFibGVOYW1lIHJldHVybk5hbWUsIGNvbnN0IFZl
Y3RvcjxNYW5nbGVkVmFyaWFibGVOYW1lPiYgYXJndW1lbnROYW1lcywgSW50cmluc2ljcyYsIFR5
cGVOYW1lciYsIHN0ZDo6ZnVuY3Rpb248TWFuZ2xlZFZhcmlhYmxlTmFtZSgpPiYmLCBJbmRlbnRh
dGlvbjw0Pik7Cit2b2lkIGlubGluZU5hdGl2ZUZ1bmN0aW9uKFN0cmluZ0J1aWxkZXImLCBBU1Q6
Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24mLCBjb25zdCBWZWN0b3I8TWFuZ2xlZFZhcmlhYmxl
TmFtZT4mIGFyZ3VtZW50TmFtZXMsIE1hbmdsZWRWYXJpYWJsZU5hbWUgcmVzdWx0TmFtZSwgVHlw
ZU5hbWVyJik7CiAKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xOYXRpdmVUeXBlV3JpdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIu
Y3BwCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbC9XSExTTE5hdGl2ZVR5cGVXcml0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCwxMSArMzgsNiBAQCBuYW1lc3BhY2UgV0hMU0wgewogCiBuYW1lc3BhY2UgTWV0YWwgewogCi1l
bnVtIGNsYXNzIE1hdHJpeFR5cGUgOiB1aW50OF90IHsKLSAgICBGbG9hdCwKLSAgICBCb29sCi19
OwotCiBTdHJpbmcgd3JpdGVOYXRpdmVUeXBlKEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uJiBu
YXRpdmVUeXBlRGVjbGFyYXRpb24pCiB7CiAgICAgaWYgKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5u
YW1lKCkgPT0gInZvaWQiKQpAQCAtMTAxLDM1ICs5NiwxNCBAQCBTdHJpbmcgd3JpdGVOYXRpdmVU
eXBlKEFTVDo6TmF0aXZlVHlwZURlCiAgICAgICAgIGF1dG8mIHVuaWZ5Tm9kZSA9IHR5cGVSZWZl
cmVuY2UtPnVuaWZ5Tm9kZSgpOwogICAgICAgICBhdXRvJiBuYW1lZFR5cGUgPSBkb3duY2FzdDxB
U1Q6Ok5hbWVkVHlwZT4odW5pZnlOb2RlKTsKICAgICAgICAgYXV0byYgcGFyYW1ldGVyVHlwZSA9
IGRvd25jYXN0PEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPihuYW1lZFR5cGUpOwotICAgICAg
ICBhdXRvIG1hdHJpeFR5cGUgPSAoWyZdKCkgLT4gTWF0cml4VHlwZSB7CisgICAgICAgIGF1dG8g
cHJlZml4ID0gKFsmXSB7CiAgICAgICAgICAgICBpZiAocGFyYW1ldGVyVHlwZS5uYW1lKCkgPT0g
ImJvb2wiKQotICAgICAgICAgICAgICAgIHJldHVybiBNYXRyaXhUeXBlOjpCb29sOworICAgICAg
ICAgICAgICAgIHJldHVybiAiYm9vbCI7CiAgICAgICAgICAgICBBU1NFUlQocGFyYW1ldGVyVHlw
ZS5uYW1lKCkgPT0gImZsb2F0Iik7Ci0gICAgICAgICAgICByZXR1cm4gTWF0cml4VHlwZTo6Rmxv
YXQ7CisgICAgICAgICAgICByZXR1cm4gImZsb2F0IjsKICAgICAgICAgfSkoKTsKIAotICAgICAg
ICBBU1NFUlQoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4o
bmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsxXSkpOwotICAgICAgICBhdXRv
JiBjb25zdGFudEV4cHJlc3Npb24xID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMV0pOwotICAgICAgICBhdXRv
JiBpbnRlZ2VyTGl0ZXJhbDEgPSBjb25zdGFudEV4cHJlc3Npb24xLmludGVnZXJMaXRlcmFsKCk7
Ci0gICAgICAgIHVuc2lnbmVkIHJvd3MgPSBpbnRlZ2VyTGl0ZXJhbDEudmFsdWUoKTsKLSAgICAg
ICAgQVNTRVJUKHJvd3MgPT0gMiB8fCByb3dzID09IDMgfHwgcm93cyA9PSA0KTsKLQotICAgICAg
ICBBU1NFUlQoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxBU1Q6OkNvbnN0YW50RXhwcmVzc2lvbj4o
bmF0aXZlVHlwZURlY2xhcmF0aW9uLnR5cGVBcmd1bWVudHMoKVsyXSkpOwotICAgICAgICBhdXRv
JiBjb25zdGFudEV4cHJlc3Npb24yID0gV1RGOjpnZXQ8QVNUOjpDb25zdGFudEV4cHJlc3Npb24+
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBlQXJndW1lbnRzKClbMl0pOwotICAgICAgICBhdXRv
JiBpbnRlZ2VyTGl0ZXJhbDIgPSBjb25zdGFudEV4cHJlc3Npb24yLmludGVnZXJMaXRlcmFsKCk7
Ci0gICAgICAgIHVuc2lnbmVkIGNvbHVtbnMgPSBpbnRlZ2VyTGl0ZXJhbDIudmFsdWUoKTsKLSAg
ICAgICAgQVNTRVJUKGNvbHVtbnMgPT0gMiB8fCBjb2x1bW5zID09IDMgfHwgY29sdW1ucyA9PSA0
KTsKLQotICAgICAgICBzd2l0Y2ggKG1hdHJpeFR5cGUpIHsKLSAgICAgICAgY2FzZSBNYXRyaXhU
eXBlOjpGbG9hdDogewotICAgICAgICAgICAgdW5zaWduZWQgYWxpZ25tZW50ID0gY29sdW1ucyA9
PSAyID8gOCA6IDE2OwotICAgICAgICAgICAgaWYgKGNvbHVtbnMgPT0gMykKLSAgICAgICAgICAg
ICAgICBjb2x1bW5zID0gNDsKLSAgICAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJhcnJheTxm
bG9hdCwgIiwgY29sdW1ucyAqIHJvd3MsICI+IF9fYXR0cmlidXRlX18oKGFsaWduZWQoIiwgYWxp
Z25tZW50LCAiKSkpIik7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBNYXRyaXhUeXBlOjpCb29s
OgotICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoImFycmF5PGJvb2wsICIsIGNvbHVtbnMg
KiByb3dzLCAiPiIpOwotICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCJXU0xN
YXRyaXg8IiwgcHJlZml4LCAiLCAiLCBuYXRpdmVUeXBlRGVjbGFyYXRpb24ubnVtYmVyT2ZNYXRy
aXhDb2x1bW5zKCksICIsICIsIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi5udW1iZXJPZk1hdHJpeFJv
d3MoKSwgIj4iKTsKICAgICB9CiAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi50eXBl
QXJndW1lbnRzKCkuc2l6ZSgpID09IDEpOwogICAgIEFTU0VSVChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFJlZjxBU1Q6OlR5cGVSZWZlcmVuY2U+PihuYXRpdmVUeXBlRGVjbGFyYXRpb24udHlwZUFy
Z3VtZW50cygpWzBdKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNDkyMjcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYz
NzksMTEgKzYzNzksOSBAQAogCQkxQ0I2OUIzMjIxREVENDBCMDA2RTg0NkEgLyogV0hMU0xSZXNv
bHZhYmxlVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFJlc29sdmFibGVUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQjY5QjM0MjFERUQ2M0EwMDZFODQ2QSAvKiBXSExT
TEZsb2F0TGl0ZXJhbFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xGbG9hdExpdGVyYWxUeXBl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQjY5QjM1MjFERUQ2NDkwMDZFODQ2
QSAvKiBXSExTTEludGVnZXJMaXRlcmFsVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEludGVn
ZXJMaXRlcmFsVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQ0I2OUIzNjIx
REVENjU3MDA2RTg0NkEgLyogV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0hMU0xOdWxsTGl0ZXJhbFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNC
NjlCMzcyMURFRDY2QjAwNkU4NDZBIC8qIFdITFNMVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0I2OUIzODIxREYwM0UxMDA2RTg0NkEgLyogV0hM
U0xGbG9hdExpdGVyYWxUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMRmxvYXRMaXRl
cmFsVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQjY5QjM5MjFERjAz
RjMwMDZFODQ2QSAvKiBXSExTTEludGVnZXJMaXRlcmFsVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXSExTTEludGVnZXJMaXRlcmFsVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTFDQjY5QjNBMjFERjA0MDMwMDZFODQ2QSAvKiBXSExTTE51bGxMaXRlcmFsVHlwZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTE51bGxMaXRlcmFsVHlwZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQjY5QjNCMjFERjA0MUUwMDZFODQ2QSAvKiBXSExTTFVu
c2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0I2QjRGODIxN0I4MzkzMDA5M0I5Q0QgLyogVGV4dERlY29yYXRpb25UaGlja25lc3MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVGV4dERlY29yYXRpb25UaGlja25lc3MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNCNkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxpbmVP
ZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dFVuZGVybGluZU9mZnNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODMxMyw2ICs4MzExLDcgQEAKIAkJNTFGQjY3REExQUU2QjVF
NDAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMxRTVBMUM0RjE1NjEwMDMzRjgwMiAvKiBWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUyMTU4NjJDMjI5Mzc3QjcwMDU5MjVFRiAvKiBXSExTTEFTVC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXSExTTEFTVC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjI1
NkNBQTIzMEYxNEFEMDA0M0UxMkYgLyogV0hMU0xOYW1lU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V0hMU0xOYW1lU3BhY2UuaDsgcGF0aCA9IEFTVC9XSExTTE5hbWVTcGFjZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjJCQUI5NjIyRTZBMzYyMDBDNTRDRTkgLyogV0hMU0xDb2Rl
TG9jYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xDb2RlTG9jYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIyRDA3QTMyMkZCQUI0MzAwQjkwNUJFIC8qIFdITFNMRXhw
cmVzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTEV4cHJlc3Npb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjJEQTNEMzIyOUUxRDM5MDA0MkQxNTEgLyogV0hM
U0xHbG9iYWxWYXJpYWJsZVJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEdsb2JhbFZh
cmlhYmxlUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzI2OSw3
ICsxMzI2OCw2IEBACiAJCUMyMUJGNzA0MjFDRDg5QzYwMDIyNzk3OSAvKiBXSExTTFdoaWxlTG9v
cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFdoaWxlTG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMjFCRjcwNTIxQ0Q4OUM3MDAyMjc5NzkgLyogV0hMU0xGdW5jdGlvbkF0dHJp
YnV0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEZ1bmN0aW9uQXR0cmlidXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMUJGNzA2MjFDRDg5QzcwMDIyNzk3OSAvKiBXSExTTENv
bW1hRXhwcmVzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTENvbW1hRXhwcmVzc2lvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDMjFCRjcwNzIxQ0Q4OUM4MDAyMjc5NzkgLyog
V0hMU0xOdWxsTGl0ZXJhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTE51bGxMaXRlcmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMUJGNzA4MjFDRDg5QzkwMDIyNzk3OSAvKiBX
SExTTFJlc291cmNlU2VtYW50aWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xSZXNvdXJjZVNlbWFu
dGljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMUJGNzA5MjFDRDg5Q0EwMDIy
Nzk3OSAvKiBXSExTTEFycmF5VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTEFycmF5VHlwZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjFCRjcwQTIxQ0Q4OUNCMDAyMjc5Nzkg
LyogV0hMU0xCYXNlRnVuY3Rpb25BdHRyaWJ1dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xCYXNl
RnVuY3Rpb25BdHRyaWJ1dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzMy
LDE4ICsxMzMzMCwxNCBAQAogCQlDMjM0QTk5QTIxRTkwRjU2MDAzQzk4NEQgLyogV0hMU0xJbmZl
clR5cGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMSW5mZXJUeXBlcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzRBOTlCMjFFOTBGNTcwMDNDOTg0RCAvKiBXSExT
TEluZmVyVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xJbmZlclR5cGVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzRBOTlEMjFFOTEwQkQwMDNDOTg0RCAvKiBXSExTTFJl
c29sdmluZ1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xSZXNvbHZpbmdUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMyMzRBOUE5MjFFOTJDMTcwMDNDOTg0RCAvKiBXSExT
TFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdI
TFNMU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDMjM0QTlBQjIxRTkyQzE4MDAzQzk4NEQgLyogV0hMU0xSZWN1cnNpdmVUeXBl
Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFJlY3Vyc2l2ZVR5cGVDaGVja2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzRBOUFDMjFFOTJDMTkwMDNDOTg0RCAvKiBX
SExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExT
TFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMjM0QTlBRDIxRTkyQzE5MDAzQzk4NEQgLyogV0hMU0xSZWN1cnNpdmVUeXBlQ2hl
Y2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTFJlY3Vyc2l2ZVR5cGVDaGVja2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIzNEE5QUUyMUU5MkMxQTAwM0M5ODRE
IC8qIFdITFNMQ2hlY2tEdXBsaWNhdGVGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xD
aGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlD
MjM0QTlBRjIxRTkyQzFCMDAzQzk4NEQgLyogV0hMU0xTeW50aGVzaXplQXJyYXlPcGVyYXRvckxl
bmd0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3Ro
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMzRBOUIwMjFFOTJDMUMwMDNDOTg0
RCAvKiBXSExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0hMU0xTeW50aGVzaXplQ29uc3RydWN0b3JzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzIzNEE5QjEyMUU5MkMxRDAwM0M5ODREIC8qIFdITFNMU3ludGhlc2l6ZUNvbnN0cnVj
dG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIzNEE5QjIyMUU5MkMxRjAwM0M5ODREIC8qIFdI
TFNMQ2hlY2tEdXBsaWNhdGVGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xD
aGVja0R1cGxpY2F0ZUZ1bmN0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMyMzRBOUIzMjFFOTJDMjEwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1
bmN0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTFN5bnRoZXNpemVFbnVtZXJhdGlv
bkZ1bmN0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMyMzRBOUI0MjFF
OTJDMjIwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQzIzNEE5QjUyMUU5MkMyMzAwM0M5ODREIC8q
IFdITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExT
TFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzIzNEE5QjYyMUU5MkNDMDAwM0M5ODREIC8qIFdITFNMSW50cmluc2ljcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXSExTTEludHJpbnNpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzIzNEE5QjcyMUU5MkNDMTAwM0M5ODREIC8qIFdITFNMSW50cmluc2ljcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXSExTTEludHJpbnNpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMjM5OEVCRDIzMEExQjc2MDA2NDE1MDcgLyogV0hMU0xOYW1lU3BhY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0hMU0xOYW1lU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE3MTE4LDkgKzE3MTEyLDYgQEAKIAkJCQlDMjM5OEVCRDIzMEExQjc2MDA2NDE1MDcgLyog
V0hMU0xOYW1lU3BhY2UuaCAqLywKIAkJCQlDMjFCRjcyMzIxQ0Q4OUUxMDAyMjc5NzkgLyogV0hM
U0xOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLmggKi8sCiAJCQkJQzIxQkY3MkEyMUNEODlFNzAw
MjI3OTc5IC8qIFdITFNMTmF0aXZlVHlwZURlY2xhcmF0aW9uLmggKi8sCi0JCQkJQzIxQkY3MDcy
MUNEODlDODAwMjI3OTc5IC8qIFdITFNMTnVsbExpdGVyYWwuaCAqLywKLQkJCQkxQ0I2OUIzQTIx
REYwNDAzMDA2RTg0NkEgLyogV0hMU0xOdWxsTGl0ZXJhbFR5cGUuY3BwICovLAotCQkJCTFDQjY5
QjM2MjFERUQ2NTcwMDZFODQ2QSAvKiBXSExTTE51bGxMaXRlcmFsVHlwZS5oICovLAogCQkJCUMy
MUJGNzIxMjFDRDg5REUwMDIyNzk3OSAvKiBXSExTTE51bVRocmVhZHNGdW5jdGlvbkF0dHJpYnV0
ZS5oICovLAogCQkJCUMyMUJGNzJGMjFDRDg5RUMwMDIyNzk3OSAvKiBXSExTTFBvaW50ZXJUeXBl
LmggKi8sCiAJCQkJQzIxQkY3MkUyMUNEODlFQTAwMjI3OTc5IC8qIFdITFNMUHJvcGVydHlBY2Nl
c3NFeHByZXNzaW9uLmggKi8sCkBAIC0yNTU0OCw2ICsyNTUzOSw3IEBACiAJCQkJQzIxMEU5MTIy
MUI0QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIuaCAqLywKIAkJCQkxQ0EwQzJFQzIxRUVENkY2
MDBBMTE4NjAgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAogCQkJCTFDQTBDMkVB
MjFFRUQ2RjUwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAorCQkJCTUy
MjU2Q0FBMjMwRjE0QUQwMDQzRTEyRiAvKiBXSExTTE5hbWVTcGFjZS5oICovLAogCQkJCUMyMzRB
OThEMjFFODg4ODQwMDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0
QTk4RTIxRTg4ODg1MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRB
OThBMjFFODg4M0UwMDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCkBAIC0yNTU4
MSwxNCArMjU1NzMsMTAgQEAKIAkJCQkxQzhEMjZDOTIyQzA5NDUzMDBEMTI1RjMgLyogV0hMU0xT
dGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuaCAqLywKIAkJCQkxQ0VDQjNBOTIxRjJCNjczMDBGNDQ1
NDIgLyogV0hMU0xTdGF0ZW1lbnRCZWhhdmlvckNoZWNrZXIuY3BwICovLAogCQkJCTFDRUNCM0E4
MjFGMkI2NzMwMEY0NDU0MiAvKiBXSExTTFN0YXRlbWVudEJlaGF2aW9yQ2hlY2tlci5oICovLAot
CQkJCUMyMzRBOUE5MjFFOTJDMTcwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVBcnJheU9wZXJh
dG9yTGVuZ3RoLmNwcCAqLywKLQkJCQlDMjM0QTlBRjIxRTkyQzFCMDAzQzk4NEQgLyogV0hMU0xT
eW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0aC5oICovLAogCQkJCUMyMzRBOUIwMjFFOTJDMUMw
MDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuY3BwICovLAogCQkJCUMyMzRB
OUIxMjFFOTJDMUQwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuaCAqLywK
IAkJCQlDMjM0QTlCMzIxRTkyQzIxMDAzQzk4NEQgLyogV0hMU0xTeW50aGVzaXplRW51bWVyYXRp
b25GdW5jdGlvbnMuY3BwICovLAogCQkJCUMyMzRBOUFDMjFFOTJDMTkwMDNDOTg0RCAvKiBXSExT
TFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5oICovLAotCQkJCUMyMzRBOUI0MjFFOTJD
MjIwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwICovLAot
CQkJCUMyMzRBOUI1MjFFOTJDMjMwMDNDOTg0RCAvKiBXSExTTFN5bnRoZXNpemVTdHJ1Y3R1cmVB
Y2Nlc3NvcnMuaCAqLywKIAkJCQlDMjM0QTk4NTIxRTg4NkE5MDAzQzk4NEQgLyogV0hMU0xWaXNp
dG9yLmNwcCAqLywKIAkJCQlDMjM0QTk4NzIxRTg4NkFEMDAzQzk4NEQgLyogV0hMU0xWaXNpdG9y
LmggKi8sCiAJCQkpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsODMgQEAKKzIwMTktMDgtMjkgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBSZW1vdmUg
Z2V0dGVycy9zZXR0ZXJzL2FuZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAxMDA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9iaW4gTW9yaXNz
ZXQuCisKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL2FkZHJlc3Mtb2Ytc3dpenpsZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvYXJyYXktb29iLWFsaWFzLWV4cGVj
dGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1m
aWVsZC1hY2Nlc3Mtb24tbnVsbC1leHBlY3RlZC50eHQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L2FycmF5LW9vYi1hbGlhcy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL2JhZC1hbmRlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1
L3dobHNsL2JhZC1hbmRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9k
dXBsaWNhdGUtdHlwZXMtc2hvdWxkLW5vdC1wcm9kdWNlLWR1cGxpY2F0ZS1jdG9ycy5odG1sOgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9pbmNyZW1lbnQtc2V0dGVyLmh0bWw6CisgICAgICAgICog
d2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJn
cHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0ZXIuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3ZWJncHUvd2hsc2wvbWFrZS1hcnJheS1yZWZlcmVuY2UuaHRtbDoKKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LWFzc2lnbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9tYXRyaXgtbWVtb3J5LWxheW91dC5odG1sOgor
ICAgICAgICAqIHdlYmdwdS93aGxzbC9tYXRyaXguaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hs
c2wvbnVsbC1hcmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWFy
Zy5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9udWxsLWRlcmVmZXJlbmNlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvb29iLWFjY2Vzcy0yLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWw6CisgICAgICAg
ICogd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5bnRheC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9vcGVyYXRvci1zeW50YXguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1hc3NpZ24uaHRtbDoKKyAgICAgICAgKiB3
ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWxvYWQuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUv
d2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvb3ZlcnJpZGUtc3Vic2NyaXB0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4
cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1s
ZXZlbHMtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtZXhwZWN0ZWQu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9h
bmRlci1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9hbmRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJh
Y3QtbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFu
ZGVyLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWFuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1hbmRlci1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2Vi
Z3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXItZXhwZWN0ZWQuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVy
LWdldHRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3Ry
YWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXIt
c2V0dGVyLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0
ZXItbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4
cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFs
dWUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1sdmFsdWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvc2V0dGVy
LXNwZWMtdGVzdHMuaHRtbDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1z
ZXR0ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zaW1wbGUtZ2V0dGVy
LXNldHRlci5odG1sOgorICAgICAgICAqIHdlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNj
ZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYmdwdS93aGxz
bC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiB3ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNzLXRlc3QuaHRtbDoKKwogMjAxOS0wOC0yOCAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4
IHRlc3QgZmFpbHVyZSBhZnRlciByMjQ5MTczCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvYWRkcmVzcy1vZi1zd2l6emxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFTUyBjYW50VGFr
ZUFkZHJlc3NPZlN3aXp6bGUgCitQQVNTIGNhbnRBc3NpZ25SdmFsdWVTd2l6emxlIAorCkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYWRkcmVzcy1vZi1zd2l6emxlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FkZHJlc3Mtb2Ytc3dpenpsZS5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9hZGRyZXNzLW9mLXN3
aXp6bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgorPHRpdGxlPmJhZCBzd2l6emxlLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
anMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9
IHt9OworCit3aGxzbFRlc3RzLmNhbnRUYWtlQWRkcmVzc09mU3dpenpsZSA9IGFzeW5jICgpID0+
IHsKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGZvbygpIHsKKyAgICAgICAg
ICAgIGludDIgdjsKKyAgICAgICAgICAgIHRocmVhZCBpbnQqIHggPSAmdi54OworICAgICAgICB9
CisgICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAorICAgICAgICB2b2lkIGZvbygpIHsK
KyAgICAgICAgICAgIGludDIgdjsKKyAgICAgICAgICAgIHRocmVhZCBpbnQyKiB4ID0gJnYueHk7
CisgICAgICAgIH0KKyAgICBgKTsKK307CisKK3dobHNsVGVzdHMuY2FudEFzc2lnblJ2YWx1ZVN3
aXp6bGUgPSBhc3luYyAoKSA9PiB7CisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgaW50
MiB4KCkgeworICAgICAgICAgICAgaW50MiB2OworICAgICAgICAgICAgcmV0dXJuIHY7CisgICAg
ICAgIH0KKyAgICAgICAgdm9pZCBmb28oKSB7CisgICAgICAgICAgICB4KCkueHkgPSBpbnQyKDEw
LCAyMCk7CisgICAgICAgIH0KKyAgICBgKTsKK307CisKK3J1blRlc3RzKHdobHNsVGVzdHMpOwor
PC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXkt
b29iLWFsaWFzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvYXJyYXktb29iLWFsaWFzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ5MjI3KQkoZnJv
bSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxs
LWV4cGVjdGVkLnR4dDoyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYXJyYXkt
b29iLWFsaWFzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBmaWVsZFNob3VsZEJlTnVsbCAKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L2FycmF5LW9vYi1hbGlhcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9hcnJheS1vb2ItYWxpYXMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQkoZnJvbSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWw6MjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2FycmF5LW9vYi1hbGlhcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
Cis8dGl0bGU+ZmllbGQgYW5kZXIgb24gbnVsbHB0ciBzaG91bGQgcmV0dXJuIG51bGwuPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citj
b25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuZmllbGRTaG91bGRCZU51bGwgPSBh
c3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICAgICAgc3RydWN0IEZvbyB7
CisgICAgICAgICAgICBpbnQgeDsKKyAgICAgICAgICAgIGludCB5OworICAgICAgICAgICAgaW50
IHo7CisgICAgICAgIH0KKyAgICAgICAgYm9vbCBmb28odWludCBpKSB7CisgICAgICAgICAgICBG
b29bMTBdIGZvb3M7CisgICAgICAgICAgICB0aHJlYWQgRm9vKiBmb28gPSAmZm9vc1tpXTsKKyAg
ICAgICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKKyAgICAgICAgICAgIHJldHVy
biBwdHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKKyAgICAgICAgfQorICAgIGA7CisKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCisgICAgICAgIGFzc2VydF9lcXVhbHMoYXdhaXQg
Y2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludChpKV0pLCBmYWxzZSk7
CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9v
IiwgW21ha2VVaW50KDEwKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxC
b29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbbWFrZVVpbnQoMTAwMDAwMCldKSwgdHJ1ZSk7
CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9v
IiwgW21ha2VVaW50KDB4ZmZmZmZmZmYpXSksIHRydWUpOworfTsKKworcnVuVGVzdHMod2hsc2xU
ZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9hcnJheS1vb2ItYWxpYXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvYXJyYXktb29iLWFsaWFzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9hcnJheS1vb2ItYWxpYXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Miw3ICsyLDcgQEAKIDxodG1sPgogPG1ldGEgY2hhcnNldD11dGYtOD4KIDxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPmZpZWxkIGFuZGVyIG9uIG51bGxwdHIgc2hv
dWxkIHJldHVybiBudWxsLjwvdGl0bGU+Cis8dGl0bGU+b29iIG9uIGFycmF5cy48L3RpdGxlPgog
PHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KQEAgLTIxLDE1ICsyMSw0NiBAQCB3
aGxzbFRlc3RzLmZpZWxkU2hvdWxkQmVOdWxsID0gYXN5bmMgKCkgCiAgICAgICAgICAgICBGb29b
MTBdIGZvb3M7CiAgICAgICAgICAgICB0aHJlYWQgRm9vKiBmb28gPSAmZm9vc1tpXTsKICAgICAg
ICAgICAgIHRocmVhZCBpbnQqIHB0ciA9ICYoZm9vLT56KTsKLSAgICAgICAgICAgIHJldHVybiBw
dHIgPT0gbnVsbCAmJiBmb28gPT0gbnVsbDsKKyAgICAgICAgICAgICpwdHIgPSA0MjsKKyAgICAg
ICAgICAgIHJldHVybiBmb29zWzBdLnogPT0gNDI7CisgICAgICAgIH0KKworICAgICAgICBib29s
IGJhcigpIHsKKyAgICAgICAgICAgIEZvb1sxMF0gZm9vczsKKyAgICAgICAgICAgIHRocmVhZCBG
b28qIGZvbyA9ICZmb29zWzQyNDI0Ml07CisgICAgICAgICAgICB0aHJlYWQgaW50KiBwdHIgPSAm
KGZvby0+eik7CisgICAgICAgICAgICByZXR1cm4gZm9vID09ICZmb29zWzBdOworICAgICAgICB9
CisKKyAgICAgICAgZmxvYXQzIHJldEZsb2F0MygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBmbG9hdDMoMTAuMCwgMC4wLCAwLjApOworICAgICAgICB9CisKKyAgICAgICAgZmxvYXRb
MTBdIHJldEZsb2F0QXJyYXkoKQorICAgICAgICB7CisgICAgICAgICAgICBmbG9hdFsxMF0gdjsK
KyAgICAgICAgICAgIHZbMF0gPSAxMC4wOworICAgICAgICAgICAgcmV0dXJuIHY7CisgICAgICAg
IH0KKworICAgICAgICBib29sIGJheigpIHsKKyAgICAgICAgICAgIHJldHVybiByZXRGbG9hdDMo
KVs0Ml0gPT0gMTAuMDsKKyAgICAgICAgfQorCisgICAgICAgIGJvb2wgamF6KCkgeworICAgICAg
ICAgICAgcmV0dXJuIHJldEZsb2F0QXJyYXkoKVs0Ml0gPT0gMTAuMDsKICAgICAgICAgfQogICAg
IGA7CiAKICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCi0gICAgICAgIGFzc2VydF9l
cXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludChp
KV0pLCBmYWxzZSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlv
bihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludChpKV0pLCBpID09PSAwID8gdHJ1ZSA6IGZhbHNl
KTsKICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJm
b28iLCBbbWFrZVVpbnQoMTApXSksIHRydWUpOwogICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2Fs
bEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMDAwMDAwKV0pLCB0cnVl
KTsKICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJm
b28iLCBbbWFrZVVpbnQoMHhmZmZmZmZmZildKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiYmFyIiwgW10pLCB0cnVlKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJiYXoiLCBbXSks
IHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFt
LCAgImpheiIsIFtdKSwgdHJ1ZSk7CiB9OwogCiBydW5UZXN0cyh3aGxzbFRlc3RzKTsKSW5kZXg6
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvYmFkLWFuZGVyLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotCi1QQVNTIGluZGV4QW5k
ZXJEb2VzbnRSZXR1cm5Qb2ludGVyIAotUEFTUyBpbmRleEFuZGVyRG9lc250VGFrZVJlZmVyZW5j
ZSAKLVBBU1MgYW5kZXJEb2VzbnRSZXR1cm5Qb2ludGVyIAotUEFTUyBhbmRlckRvZXNudFRha2VS
ZWZlcmVuY2UgCi1QQVNTIGFuZGVyV2l0aEJhZEluZGV4IAotUEFTUyBhbmRlcldpdGhOb3RoaW5n
V3JvbmcgCi1QQVNTIGFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgCi0KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvYmFkLWFuZGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9iYWQtYW5kZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEyMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPG1ldGEgY2hhcnNldD11
dGYtOD4KLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPlRlc3Qg
cHJlZml4L3Bvc3RmaXguPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1jb25zdCB3aGxzbFRlc3RzID0ge307Ci0KLXdobHNsVGVzdHMu
aW5kZXhBbmRlckRvZXNudFJldHVyblBvaW50ZXIgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0
IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3Im
W10odGhyZWFkIEZvbyogZm9vLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJldHVybiBmb28tPng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotfQotCi13aGxzbFRl
c3RzLmluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlID0gYXN5bmMgKCkgPT4KLXsKLSAgICBh
d2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAg
ICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGlu
dCogb3BlcmF0b3ImW10oRm9vIGZvbywgdWludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gJmZvby54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hs
c2xUZXN0cy5hbmRlckRvZXNudFJldHVyblBvaW50ZXIgPSBhc3luYyAoKSA9PiB7Ci0gICAgYXdh
aXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAg
ICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBvcGVyYXRv
ciYuZm9vKHRocmVhZCBGb28qIGZvbykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQotd2hsc2xUZXN0
cy5hbmRlckRvZXNudFRha2VSZWZlcmVuY2UgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNo
ZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAg
ICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVy
YXRvciYuZm9vKEZvbyBmb28pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
ICZmb28ueDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXdobHNsVGVzdHMuYW5k
ZXJXaXRoQmFkSW5kZXggPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbChgaW50
IGZvbyh0aHJlYWQgaW50W10geCkgeyByZXR1cm4geFstMV07IH1gKTsKLQotICAgIGF3YWl0IGNo
ZWNrRmFpbChgaW50IGZvbyh0aHJlYWQgaW50W10geCkgeyByZXR1cm4geFsxLmZdOyB9YCk7Ci0K
LSAgICBhd2FpdCBjaGVja0ZhaWwoYGludCBmb28odGhyZWFkIGludFtdIHgsIGludCB5KSB7IHJl
dHVybiB4W3ldOyB9YCk7Ci0KLSAgICBhd2FpdCBjaGVja0ZhaWwoYGludCBmb28odGhyZWFkIGlu
dFtdIHgsIGZsb2F0IHkpIHsgcmV0dXJuIHhbeV07IH1gKTsKLX0KLQotd2hsc2xUZXN0cy5hbmRl
cldpdGhOb3RoaW5nV3JvbmcgPSBhc3luYyAoKSA9PgotewotICAgIGxldCBwcm9ncmFtID0gYAot
ICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICB9Ci0gICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9vKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9v
KCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9vIHg7Ci0gICAgICAgICAgICB4LnggPSAxMzsK
LSAgICAgICAgICAgIHJldHVybiB4LmZvbzsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMTMpOwot
fQotCi13aGxzbFRlc3RzLmFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1bWVudHMgPSBhc3luYyAo
KSA9PiB7Ci0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICB0aHJl
YWQgaW50KiBvcGVyYXRvciYuZm9vKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBp
bnQgeDsKLSAgICAgICAgICAgICAgICByZXR1cm4gJng7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IGApOwotCi0gICAgYXdhaXQgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBzdHJ1
Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJi5mb28odGhyZWFkIEZvbyogZm9vLCBpbnQgYmxhaCkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci19Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvZHVwbGljYXRlLXR5cGVz
LXNob3VsZC1ub3QtcHJvZHVjZS1kdXBsaWNhdGUtY3RvcnMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvZHVwbGljYXRlLXR5cGVzLXNob3VsZC1ub3QtcHJvZHVj
ZS1kdXBsaWNhdGUtY3RvcnMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL2R1cGxpY2F0ZS10eXBlcy1zaG91bGQtbm90LXByb2R1Y2UtZHVwbGljYXRl
LWN0b3JzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDE2ICsxOSwyMCBAQCB0eXBlZGVmIFhZ
WjMgPSBYWVo7CiAKIFtudW10aHJlYWRzKDIsIDEsIDEpXQogY29tcHV0ZSB2b2lkIGNvbXB1dGVT
aGFkZXIoZGV2aWNlIGZsb2F0W10gYnVmZmVyIDogcmVnaXN0ZXIodTApLCBmbG9hdDMgdGhyZWFk
SUQgOiBTVl9EaXNwYXRjaFRocmVhZElEKSB7Ci0gICAgdGhyZWFkIGludCogeDsKLSAgICB0aHJl
YWQgaW50KiB5OwotICAgIHRocmVhZCBmbG9hdCogZjE7Ci0gICAgdGhyZWFkIGZsb2F0KiBmMjsK
KyAgICBpbnQgdmFsdWU7CisgICAgZmxvYXQgdmFsdWUyOworICAgIGludFsxMF0gdmFsdWUzOwor
CisgICAgdGhyZWFkIGludCogeCA9ICZ2YWx1ZTsKKyAgICB0aHJlYWQgaW50KiB5ID0gJnZhbHVl
OworICAgIHRocmVhZCBmbG9hdCogZjEgPSAmdmFsdWUyOworICAgIHRocmVhZCBmbG9hdCogZjIg
PSAmdmFsdWUyOwogICAgIFhZWjEgYTsKICAgICBYWVoyIGI7CiAgICAgWFlaMyBjOwotICAgIHRo
cmVhZCBpbnRbXSBpbnRBcnJheVJlZjE7Ci0gICAgdGhyZWFkIGludFtdIGludEFycmF5UmVmMjsK
LSAgICBpZiAoKnggPT0gKnkgJiYgeCA9PSB5ICYmIHggPT0gbnVsbCAmJiBmMSA9PSBudWxsICYm
ICpmMSA9PSAwKSB7CisgICAgdGhyZWFkIGludFtdIGludEFycmF5UmVmMSA9IEB2YWx1ZTM7Cisg
ICAgdGhyZWFkIGludFtdIGludEFycmF5UmVmMiA9IEB2YWx1ZTM7CisgICAgaWYgKCp4ID09ICp5
ICYmIHggPT0geSkgewogICAgICAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBidWZmZXJb
dWludCh0aHJlYWRJRC54KV0gKiAyLjA7CiAgICAgfQogfQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL2luY3JlbWVudC1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5jcmVtZW50LXNldHRlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xNSwyMiArMTUsMTcgQEAgd2hsc2xUZXN0cy5pbmNyZW1lbnRTZXR0ZXIgPSBh
c3luYyAoKSA9PgogICAgIGxldCBwcm9ncmFtID0gYAogICAgICAgICBzdHJ1Y3QgRm9vIHsKICAg
ICAgICAgICAgIGludCB6OwotICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci53KEZvbyBm
b28pIHsKLSAgICAgICAgICAgIHJldHVybiA4OwotICAgICAgICB9Ci0gICAgICAgIEZvbyBvcGVy
YXRvci53PShGb28gZm9vLCBpbnQgdmFsdWUpIHsKLSAgICAgICAgICAgIGZvby56ID0gdmFsdWU7
Ci0gICAgICAgICAgICByZXR1cm4gZm9vOworICAgICAgICAgICAgaW50IHc7CiAgICAgICAgIH0K
ICAgICAgICAgaW50IGJhcigpIHsKICAgICAgICAgICAgIEZvbyBmb287CiAgICAgICAgICAgICBm
b28ueiA9IDM7CisgICAgICAgICAgICBmb28udyA9IDE7CiAgICAgICAgICAgICBpbnQgdmFsdWUg
PSBmb28udysrOwogICAgICAgICAgICAgcmV0dXJuIHZhbHVlKjEwMCArIGZvby56KjEwICsgZm9v
Lnc7CiAgICAgICAgIH0KICAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1
bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDg5OCk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwgMTAwICsgMzAgKyAyKTsKIH0K
IAogcnVuVGVzdHMod2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
aW5kZXgtYW5kZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9pbmRleC1hbmRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1hbmRlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBpbmRleEFuZGVyV2l0aE5vdGhpbmdXcm9uZyAK
LVBBU1MgaW5kZXhBbmRlcldpdGhXcm9uZ051bWJlck9mQXJndW1lbnRzIAotCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtYW5kZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQor
KysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LWFuZGVyLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSw2OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPG1ldGEgY2hhcnNl
dD11dGYtOD4KLTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPlRl
c3Qgc3RydWN0cy48L3RpdGxlPgotPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLWNvbnN0IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRl
eEFuZGVyV2l0aE5vdGhpbmdXcm9uZyA9IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0g
PSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50KQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gJmZvby0+eDsKLSAgICAgICAgfQotICAgICAg
ICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9vIHg7Ci0gICAgICAgICAgICB4
LnggPSAxMzsKLSAgICAgICAgICAgIHJldHVybiB4WzY2Nl07Ci0gICAgICAgIH0KLSAgICBgOwot
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSksIDEzKTsKLX0KLQotd2hsc2xUZXN0cy5pbmRleEFuZGVyV2l0aFdyb25nTnVtYmVyT2ZBcmd1
bWVudHMgPSBhc3luYyAoKSA9PgotewotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAot
ICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10oKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgICAgIHJldHVybiAmeDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgYCk7Ci0gICAgICAgIAotICAgIGF3YWl0IGNoZWNrRmFpbCgKLSAgICAg
ICAgYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQg
Rm9vKiBmb28pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLSAgICBhd2FpdCBjaGVja0Zh
aWwoCi0gICAgICAgIGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAg
IGludCB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3Im
W10odGhyZWFkIEZvbyogZm9vLCB1aW50LCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLX0KLQot
cnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvaW5kZXgtc2V0dGVyLWdldHRlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9p
bmRleC1zZXR0ZXItZ2V0dGVyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAs
MCBAQAotCi1QQVNTIGluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWQgCi1QQVNTIGluZGV4
U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCAKLVBBU1Mgbm90TG9uZUluZGV4U2V0dGVy
IAotUEFTUyBsb25lSW5kZXhTZXR0ZXIgCi1QQVNTIGxvbmVJbmRleFNldHRlclBvaW50ZXIgCi0K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9pbmRleC1zZXR0ZXItZ2V0dGVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2luZGV4LXNldHRlci1nZXR0
ZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL2lu
ZGV4LXNldHRlci1nZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwNSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPlRlc3Qgc3RydWN0cy48L3RpdGxlPgot
PHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0
IHdobHNsVGVzdHMgPSB7fTsKLQotd2hsc2xUZXN0cy5pbmRleFNldHRlcldpdGhOb0dldHRlck92
ZXJsb2FkID0gYXN5bmMgKCkgPT4KLXsKLSAgICBhd2FpdCBjaGVja0ZhaWwoCi0gICAgICAgIGAK
LSAgICAgICAgICAgIHN0cnVjdCBGb28geyB9Ci0gICAgICAgICAgICBzdHJ1Y3QgQmFyIHsgfQot
ICAgICAgICAgICAgaW50IG9wZXJhdG9yW10oRm9vLCB1aW50KQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJldHVybiA1MzQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBCYXIg
b3BlcmF0b3JbXT0oQmFyLCB1aW50LCBpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIEJhcigpOwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi19
OwotCi13aGxzbFRlc3RzLmluZGV4U2V0dGVyV2l0aE5vR2V0dGVyT3ZlcmxvYWRGaXhlZCA9IGFz
eW5jICgpID0+Ci17Ci0gICAgY29uc3QgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEJhciB7
IH0KLSAgICAgICAgaW50IG9wZXJhdG9yW10oQmFyLCB1aW50KQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gNTM0OwotICAgICAgICB9Ci0gICAgICAgIEJhciBvcGVyYXRvcltdPShCYXIs
IHVpbnQsIGludCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEJhcigpOwotICAgICAg
ICB9Ci0gICAgICAgIGludCBmb28oKSB7IHJldHVybiBCYXIoKVswXTsgfQotICAgICAgICBpbnQg
YmFyKCkgewotICAgICAgICAgICAgQmFyIGI7Ci0gICAgICAgICAgICBiWzBdID0gNDAwOwotICAg
ICAgICAgICAgcmV0dXJuIGJbMF07Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDUzNCk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdKSwg
NTM0KTsKLX07Ci0KLXdobHNsVGVzdHMubm90TG9uZUluZGV4U2V0dGVyID0gYXN5bmMgKCkgPT4K
LXsKLSAgICBjb25zdCBwcm9ncmFtID0gYAotICAgICAgICBpbnQgb3BlcmF0b3JbXShpbnQsIHVp
bnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiA2NTsKLSAgICAgICAgfQotICAgICAg
ICBpbnQgb3BlcmF0b3JbXT0oaW50LCB1aW50LCBpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiA1NDM7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpIHsKLSAgICAgICAgICAg
IGludCB4OwotICAgICAgICAgICAgcmV0dXJuIHhbMF07Ci0gICAgICAgIH0KLSAgICAgICAgaW50
IGJhcigpIHsKLSAgICAgICAgICAgIGludCB4OwotICAgICAgICAgICAgeFswXSA9IDQyOwotICAg
ICAgICAgICAgcmV0dXJuIHg7Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDY1KTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCA1NDMp
OwotfTsKLQotd2hsc2xUZXN0cy5sb25lSW5kZXhTZXR0ZXIgPSBhc3luYyAoKSA9PgotewotICAg
IGF3YWl0IGNoZWNrRmFpbCgKLSAgICAgICAgYAotICAgICAgICAgICAgaW50IG9wZXJhdG9yW109
KGludCwgdWludCwgaW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiA1
NDM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApOwotICAgICAgICAKLX07Ci0KLXdobHNsVGVz
dHMubG9uZUluZGV4U2V0dGVyUG9pbnRlciA9IGFzeW5jICgpID0+Ci17Ci0gICAgYXdhaXQgY2hl
Y2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvcltdPSh0
aHJlYWQgaW50KiBwdHIsIHVpbnQsIGludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gcHRyOwotICAgICAgICAgICAgfQotICAgICAgICBgKTsKLSAgICAgICAgCi19Owot
Ci1ydW5UZXN0cyh3aGxzbFRlc3RzKTsKLTwvc2NyaXB0PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJlbmNlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21ha2UtYXJyYXktcmVmZXJlbmNlLmh0bWwJKHJl
dmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYWtlLWFycmF5LXJl
ZmVyZW5jZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIGJvb2wgdGVzdDEo
KSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYXJyYXlbMTIwMjEzXSAhPSAwKQorICAgIGlmIChh
cnJheVsxMjAyMTNdICE9IDQyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhcnJheVsw
XSA9IDEzMzc7CkBAIC0zNSw3ICszNSw3IEBAIGJvb2wgdGVzdDIoKSB7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBpZiAoYXJyYXlbMF0gIT0gNDIpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoYXJyYXlbMTIzNzQyMTddICE9IDApCisgICAgaWYgKGFycmF5WzEyMzc0MjE3XSAh
PSA0MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgICpwdHIgPSA2NjY7CkBAIC04
NywxNiArODcsMTcgQEAgYm9vbCB0ZXN0MygpIHsKIH0KIAogYm9vbCB0ZXN0NCgpIHsKLSAgICB0
aHJlYWQgaW50KiBwdHIgPSBudWxsOworICAgIGludCB4ID0gNDI7CisgICAgdGhyZWFkIGludCog
cHRyID0gJng7CiAKICAgICB0aHJlYWQgaW50W10gYXJyYXkgPSBAcHRyOwotICAgIGlmIChhcnJh
eS5sZW5ndGggIT0gMCkKKyAgICBpZiAoYXJyYXkubGVuZ3RoICE9IDEpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChhcnJheVswXSAhPSAwKQorICAgIGlmIChhcnJheVswXSAhPSA0
MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGFycmF5WzEwMDAwMF0gIT0gMCkK
KyAgICBpZiAoYXJyYXlbMTAwMDAwXSAhPSA0MikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWlu
ZGV4LWFzc2lnbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtYXNzaWduLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBmaWVsZFNob3VsZEJlTnVs
bCAKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1pbmRleC1hc3NpZ24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4
LWFzc2lnbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9t
YXRyaXgtaW5kZXgtYXNzaWduLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5tYXRyaXgtaW5kZXgtYXNzaWduLXN3
aXp6bGUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuZmllbGRTaG91
bGRCZU51bGwgPSBhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICAgICAg
Ym9vbCBmb28oKSB7CisgICAgICAgICAgICBmbG9hdDJ4MyBtYXQ7CisgICAgICAgICAgICBtYXRb
MF0gPSBmbG9hdDMoMTAuMCwgMjAuMCwgMzAuMCk7CisKKyAgICAgICAgICAgIGlmICghYWxsKG1h
dFswXSA9PSBmbG9hdDMoMTAuMCwgMjAuMCwgMzAuMCkpKQorICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICAgICAgaWYgKCFhbGwobWF0WzBdLnh5ID09IGZsb2F0MigxMC4w
LCAyMC4wKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBp
ZiAoIWFsbChtYXRbMF0ueXggPT0gZmxvYXQyKDIwLjAsIDEwLjApKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG1hdFswXS54eSA9IGZsb2F0MigxLjAsIDIu
MCk7CisgICAgICAgICAgICBpZiAoIWFsbChtYXRbMF0ueHkgPT0gZmxvYXQyKDEuMCwgMi4wKSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBtYXRbMF0ueXgu
eXggPSBmbG9hdDIoMTAwLjAsIDIwMC4wKTsKKyAgICAgICAgICAgIGlmICghYWxsKG1hdFswXS54
eSA9PSBmbG9hdDIoMTAwLjAsIDIwMC4wKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIGA7CisKKyAgICBh
c3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgICJmb28iLCBbXSks
IHRydWUpOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9tYXRyaXgtaW5k
ZXgtb3JkZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9tYXRyaXgtaW5kZXgtb3JkZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNiBAQAorCitQQVNTIG1hdE11bCAKK1BBU1MgbWF0TXVsMiAKK1BBU1MgbWF0TXVs
MyAKK1BBU1MgbWF0TXVsNCAKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJp
eC1pbmRleC1vcmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC9tYXRyaXgtaW5kZXgtb3JkZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvbWF0cml4LWluZGV4LW9yZGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+bWF0cml4LWlu
ZGV4LW9yZGVyLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRlc3RzLm1hdE11
bCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBib29sIGZv
bygpIHsKKyAgICAgICAgICAgIGZsb2F0MngzIGEgPSBmbG9hdDJ4MygKKyAgICAgICAgICAgICAg
ICBmbG9hdDMoMSwgMiwgMyksCisgICAgICAgICAgICAgICAgZmxvYXQzKDQsIDUsIDYpCisgICAg
ICAgICAgICApOworCisgICAgICAgICAgICBmbG9hdDN4MiBiID0gZmxvYXQzeDIoCisgICAgICAg
ICAgICAgICAgZmxvYXQyKDcsIDgpLAorICAgICAgICAgICAgICAgIGZsb2F0Mig5LCAxMCksCisg
ICAgICAgICAgICAgICAgZmxvYXQyKDExLCAxMikKKyAgICAgICAgICAgICk7CisKKyAgICAgICAg
ICAgIGZsb2F0M3gzIHJlc3VsdCA9IG11bChhLCBiKTsKKworICAgICAgICAgICAgZmxvYXQzeDMg
ZXhwZWN0ZWQgPSBmbG9hdDN4MygKKyAgICAgICAgICAgICAgICBmbG9hdDMoMzksIDU0LCA2OSks
CisgICAgICAgICAgICAgICAgZmxvYXQzKDQ5LCA2OCwgODcpLAorICAgICAgICAgICAgICAgIGZs
b2F0Myg1OSwgODIsIDEwNSkKKyAgICAgICAgICAgICk7CisgICAgICAgICAgICByZXR1cm4gYWxs
KGV4cGVjdGVkID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCB0cnVlKTsK
K307CisKK3dobHNsVGVzdHMubWF0TXVsMiA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9n
cmFtID0gYAorICAgICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0MngyIGEgPSBm
bG9hdDJ4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoMSwgOCksCisgICAgICAgICAgICAgICAg
ZmxvYXQyKDUsIDEyKQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQyIGIgPSBm
bG9hdDIoMjIsIDQ1KTsKKworICAgICAgICAgICAgZmxvYXQyIHJlc3VsdCA9IG11bChhLCBiKTsK
KworICAgICAgICAgICAgZmxvYXQyIGV4cGVjdGVkID0gZmxvYXQyKDI0NywgNzE2KTsKKworICAg
ICAgICAgICAgcmV0dXJuIGFsbChleHBlY3RlZCA9PSByZXN1bHQpOworICAgICAgICB9CisgICAg
YDsKKworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAg
ImZvbyIsIFtdKSwgdHJ1ZSk7Cit9OworCit3aGxzbFRlc3RzLm1hdE11bDMgPSBhc3luYyAoKSA9
PiB7CisgICAgY29uc3QgcHJvZ3JhbSA9IGAKKyAgICAgICAgYm9vbCBmb28oKSB7CisgICAgICAg
ICAgICBmbG9hdDJ4MiBhID0gZmxvYXQyeDIoCisgICAgICAgICAgICAgICAgZmxvYXQyKDEsIDIp
LAorICAgICAgICAgICAgICAgIGZsb2F0MigzLCA0KQorICAgICAgICAgICAgKTsKKworICAgICAg
ICAgICAgZmxvYXQyeDIgYiA9IGZsb2F0MngyKAorICAgICAgICAgICAgICAgIGZsb2F0Mig1LCA2
KSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNywgOCkKKyAgICAgICAgICAgICk7CisKKyAgICAg
ICAgICAgIGZsb2F0MngyIHJlc3VsdCA9IG11bChhLCBiKTsKKworICAgICAgICAgICAgZmxvYXQy
eDIgZXhwZWN0ZWQgPSBmbG9hdDJ4MigKKyAgICAgICAgICAgICAgICBmbG9hdDIoMjMsIDM0KSwK
KyAgICAgICAgICAgICAgICBmbG9hdDIoMzEsIDQ2KQorICAgICAgICAgICAgKTsKKworICAgICAg
ICAgICAgcmV0dXJuIGFsbChleHBlY3RlZCA9PSByZXN1bHQpOworICAgICAgICB9CisKKyAgICAg
ICAgYm9vbCBiYXIoKSB7CisgICAgICAgICAgICBmbG9hdDJ4MiBiID0gZmxvYXQyeDIoCisgICAg
ICAgICAgICAgICAgZmxvYXQyKDEsIDIpLAorICAgICAgICAgICAgICAgIGZsb2F0MigzLCA0KQor
ICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQyeDIgYSA9IGZsb2F0MngyKAorICAg
ICAgICAgICAgICAgIGZsb2F0Mig1LCA2KSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNywgOCkK
KyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGZsb2F0MngyIHJlc3VsdCA9IG11bChhLCBi
KTsKKworICAgICAgICAgICAgZmxvYXQyeDIgZXhwZWN0ZWQgPSBmbG9hdDJ4MigKKyAgICAgICAg
ICAgICAgICBmbG9hdDIoMTksIDIyKSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoNDMsIDUwKQor
ICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgcmV0dXJuIGFsbChleHBlY3RlZCA9PSByZXN1
bHQpOworICAgICAgICB9CisgICAgYDsKKworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJv
b2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiYmFyIiwgW10pLCB0cnVlKTsKK307
CisKK3dobHNsVGVzdHMubWF0TXVsNCA9IGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9ncmFt
ID0gYAorICAgICAgICBib29sIGZvbygpIHsKKyAgICAgICAgICAgIGZsb2F0Mng0IGEgPSBmbG9h
dDJ4NCgKKyAgICAgICAgICAgICAgICBmbG9hdDQoMSwgMiwgMywgNCksCisgICAgICAgICAgICAg
ICAgZmxvYXQ0KDUsIDYsIDcsIDgpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICBmbG9h
dDN4MiBiID0gZmxvYXQzeDIoCisgICAgICAgICAgICAgICAgZmxvYXQyKDksIDEwKSwKKyAgICAg
ICAgICAgICAgICBmbG9hdDIoMTEsIDEyKSwKKyAgICAgICAgICAgICAgICBmbG9hdDIoMTMsIDE0
KQorICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgZmxvYXQzeDQgcmVzdWx0ID0gbXVsKGEs
IGIpOworCisgICAgICAgICAgICBmbG9hdDN4NCBleHBlY3RlZCA9IGZsb2F0M3g0KAorICAgICAg
ICAgICAgICAgIGZsb2F0NCg1OSwgNzgsIDk3LCAxMTYpLAorICAgICAgICAgICAgICAgIGZsb2F0
NCg3MSwgOTQsIDExNywgMTQwKSwKKyAgICAgICAgICAgICAgICBmbG9hdDQoODMsIDExMCwgMTM3
LCAxNjQpCisgICAgICAgICAgICApOworCisgICAgICAgICAgICByZXR1cm4gYWxsKGV4cGVjdGVk
ID09IHJlc3VsdCk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2Fp
dCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCB0cnVlKTsKK307CisKK3J1
blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbWF0cml4LW1lbW9yeS1sYXlvdXQuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL21hdHJpeC1tZW1vcnktbGF5
b3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYwLDIwICs2MCwyMCBAQCBhc3luYyBmdW5jdGlv
biBzdGFydChkZXZpY2UpIHsKICAgICBjb25zdCBidWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IGJ1
ZmZlci5tYXBXcml0ZUFzeW5jKCk7CiAgICAgY29uc3QgYnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3
IEZsb2F0MzJBcnJheShidWZmZXJBcnJheUJ1ZmZlcik7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5
WzBdID0gMDsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMV0gPSA0OwotICAgIGJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDg7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTI7Ci0gICAgYnVm
ZmVyRmxvYXQzMkFycmF5WzRdID0gMTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAxOwor
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDI7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzNd
ID0gMzsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbNF0gPSA0OwogICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDU7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzZdID0gOTsKLSAgICBidWZmZXJG
bG9hdDMyQXJyYXlbN10gPSAxMzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAyOwotICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IDY7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzZdID0g
NjsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbN10gPSA3OworICAgIGJ1ZmZlckZsb2F0MzJBcnJh
eVs4XSA9IDg7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzldID0gOTsKICAgICBidWZmZXJGbG9h
dDMyQXJyYXlbMTBdID0gMTA7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE0OwotICAg
IGJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAzOwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxM10g
PSA3OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxMTsKKyAgICBidWZmZXJGbG9hdDMy
QXJyYXlbMTFdID0gMTE7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDEyOworICAgIGJ1
ZmZlckZsb2F0MzJBcnJheVsxM10gPSAxMzsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMTRdID0g
MTQ7CiAgICAgYnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE1OwogICAgIGJ1ZmZlci51bm1hcCgp
OwogCkBAIC05OCwyMyArOTgsMjMgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAg
ICAgY29uc3QgcmVzdWx0c0FycmF5QnVmZmVyID0gYXdhaXQgcmVzdWx0c0J1ZmZlci5tYXBSZWFk
QXN5bmMoKTsKICAgICBjb25zdCByZXN1bHRzRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJh
eShyZXN1bHRzQXJyYXlCdWZmZXIpOwogICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09
PSAxCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMV0gPT09IDUKLSAgICAgICAgJiYg
cmVzdWx0c0Zsb2F0MzJBcnJheVsyXSA9PT0gOQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFy
cmF5WzNdID09PSAxMworICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzFdID09PSAyCisg
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMl0gPT09IDMKKyAgICAgICAgJiYgcmVzdWx0
c0Zsb2F0MzJBcnJheVszXSA9PT0gNAogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
NF0gPT09IDIKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs0XSA9PT0gNQogICAgICAg
ICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzVdID09PSA2Ci0gICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbNl0gPT09IDEwCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbN10gPT09
IDE0CisgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNl0gPT09IDcKKyAgICAgICAgJiYg
cmVzdWx0c0Zsb2F0MzJBcnJheVs3XSA9PT0gOAogCi0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMy
QXJyYXlbOF0gPT09IDMKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVs5XSA9PT0gNwor
ICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzhdID09PSA5CisgICAgICAgICYmIHJlc3Vs
dHNGbG9hdDMyQXJyYXlbOV0gPT09IDEwCiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlb
MTBdID09PSAxMQotICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzExXSA9PT0gMTUKKyAg
ICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxMV0gPT09IDEyCiAKLSAgICAgICAgJiYgcmVz
dWx0c0Zsb2F0MzJBcnJheVsxMl0gPT09IDQKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVsxM10gPT09IDgKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsxNF0gPT09IDEyCisg
ICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTJdID09PSAxMworICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzEzXSA9PT0gMTQKKyAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJh
eVsxNF0gPT09IDE1CiAgICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbMTVdID09PSAxNikK
ICAgICAgICAgdGVzdFBhc3NlZCgiIik7CiAgICAgZWxzZQpJbmRleDogTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL21hdHJpeC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9tYXRyaXguaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsL21hdHJpeC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02NywyMCArNjcsMjggQEAgY29t
cHV0ZSB2b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNlIGZsb2F0WwogICAgICAgICByZXR1cm47CiAK
ICAgICBmb3VydHlUd29bMTMzN10gPSA1MDsKKyAgICBpZiAoZm91cnR5VHdvLnggIT0gNTApCisg
ICAgICAgIHJldHVybjsKKworICAgIGZvdXJ0eVR3b1sxMzM3XSA9IDQyOwogICAgIGZvb1sxXSA9
IGZvdXJ0eVR3bzsKICAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQogICAgICAgICByZXR1cm47
CiAKICAgICBmb3VydHlUd29bMTAwMDAwMF0gPSA1MDsKKyAgICBpZiAoZm91cnR5VHdvLnggIT0g
NTApCisgICAgICAgIHJldHVybjsKKworICAgIGZvdXJ0eVR3b1sxMzM3XSA9IDQyOwogICAgIGZv
b1sxXSA9IGZvdXJ0eVR3bzsKICAgICBpZiAoIWFsbEVxdWFsKGZvbywgNDIpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBmbG9hdDMgc2hvdWxkQmVaZXJvID0gZm9vWzEwMDAwMF07Ci0gICAgaWYg
KHNob3VsZEJlWmVyby54ICE9IDAgfHwgc2hvdWxkQmVaZXJvLnkgIT0gMCB8fCBzaG91bGRCZVpl
cm8ueiAhPSAwKQorICAgIGZsb2F0MyBzaG91bGRCZUZvdXJ0eVR3byA9IGZvb1sxMDAwMDBdOwor
ICAgIGlmIChzaG91bGRCZUZvdXJ0eVR3by54ICE9IDQyIHx8IHNob3VsZEJlRm91cnR5VHdvLnkg
IT0gNDIgfHwgc2hvdWxkQmVGb3VydHlUd28ueiAhPSA0MikKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKGZvdXJ0eVR3b1sxMDAwMDAwMF0gIT0gMCkKKyAgICBpZiAoZm91cnR5VHdvWzEwMDAw
MDAwXSAhPSA0MikKICAgICAgICAgcmV0dXJuOwogCiAgICAgYnVmZmVyW3VpbnQodGhyZWFkSUQu
eCldID0gYnVmZmVyW3VpbnQodGhyZWFkSUQueCldICogMi4wOwpAQCAtMTQ1LDcgKzE1Myw3IEBA
IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewogICAgICAgICAmJiByZXN1bHRzRmxvYXQz
MkFycmF5WzddID09IDgpCiAgICAgICAgIHRlc3RQYXNzZWQoIiIpOwogICAgIGVsc2UKLSAgICAg
ICAgdGVzdEZhaWxlZCgiIik7CisgICAgICAgIHRlc3RGYWlsZWQoIm5vdCBjb3JyZWN0Iik7CiAg
ICAgcmVzdWx0c0J1ZmZlci51bm1hcCgpOwogfQogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL251bGwtYXJnLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1hcmctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1h
cmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIHBh
c3NOdWxsVG9QdHJNb25vbW9ycGhpYyAKK1BBU1MgbnVsbElzRXJyb3IgCiAKSW5kZXg6IExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9udWxsLWFyZy5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1hcmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw3
ICsyLDcgQEAKIDxodG1sPgogPG1ldGEgY2hhcnNldD11dGYtOD4KIDxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPlRlc3Qgc3RydWN0cy48L3RpdGxlPgorPHRpdGxl
Pm51bGwuPC90aXRsZT4KIDxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CkBAIC0x
MCw5ICsxMCw5IEBACiA8c2NyaXB0PgogY29uc3Qgd2hsc2xUZXN0cyA9IHt9OwogCi13aGxzbFRl
c3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpYyA9IGFzeW5jICgpID0+Cit3aGxzbFRlc3RzLm51
bGxJc0Vycm9yID0gYXN5bmMgKCkgPT4KIHsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICBhd2Fp
dCBjaGVja0ZhaWwoYAogICAgICAgICBpbnQgZm9vKHRocmVhZCBpbnQqIHB0cikKICAgICAgICAg
ewogICAgICAgICAgICAgcmV0dXJuICpwdHI7CkBAIC0yMSwxMSArMjEsMjMgQEAgd2hsc2xUZXN0
cy5wYXNzTnVsbFRvUHRyTW9ub21vcnBoaWMgPSBhcwogICAgICAgICB7CiAgICAgICAgICAgICBy
ZXR1cm4gZm9vKG51bGwpOwogICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3
YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLCAwKTsKKyAgICBgKTsKKwor
ICAgIGF3YWl0IGNoZWNrRmFpbChgCisgICAgICAgIHZvaWQgYmFyKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdGhyZWFkIGludCogeDsKKyAgICAgICAgfQorICAgIGApOworCisgICAgYXdhaXQg
Y2hlY2tGYWlsKGAKKyAgICAgICAgdm9pZCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICB0
aHJlYWQgaW50W10geDsKKyAgICAgICAgfQorICAgIGApOwogfQogCiBydW5UZXN0cyh3aGxzbFRl
c3RzKTsKIDwvc2NyaXB0PgogPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvbnVsbC1kZXJlZmVyZW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLVBBU1MgCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL251bGwtZGVyZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS5odG1sCShyZXZpc2lvbiAyNDky
MjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvbnVsbC1kZXJlZmVyZW5jZS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdHlwZWRl
ZiBGb28gPSB0aHJlYWQgaW50KjsKLUZvbyBnZXROdWxsUHRyKCkKLXsKLSAgICByZXR1cm4gbnVs
bDsKLX0KLQotc3RydWN0IFhZWiB7Ci0gICAgZmxvYXQgeDsKLSAgICBmbG9hdCB5OwotICAgIGZs
b2F0IHo7Ci19Ci0KLVtudW10aHJlYWRzKDIsIDEsIDEpXQotY29tcHV0ZSB2b2lkIGNvbXB1dGVT
aGFkZXIoZGV2aWNlIGZsb2F0W10gYnVmZmVyIDogcmVnaXN0ZXIodTApLCBmbG9hdDMgdGhyZWFk
SUQgOiBTVl9EaXNwYXRjaFRocmVhZElEKSB7Ci0gICAgRm9vIHB0ciA9IG51bGw7Ci0gICAgKnB0
ciA9IDQyOwotICAgICpnZXROdWxsUHRyKCkgPSA0MjsKLSAgICBpZiAoKnB0ciA9PSAwKSB7Ci0g
ICAgICAgIGlmIChwdHIgPT0gZ2V0TnVsbFB0cigpKSB7Ci0gICAgICAgICAgICBpZiAoKmdldE51
bGxQdHIoKSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgdGhyZWFkIFhZWiogeHl6UHRyID0gbnVs
bDsKLSAgICAgICAgICAgICAgICBYWVogeHl6OwotICAgICAgICAgICAgICAgIHh5ei54ID0gMTsK
LSAgICAgICAgICAgICAgICB4eXoueSA9IDE7Ci0gICAgICAgICAgICAgICAgeHl6LnogPSAxOwot
ICAgICAgICAgICAgICAgIGlmICh4eXoueiA9PSAxLjAgJiYgeHl6LnkgPT0gMS4wICYmIHh5ei56
ID09IDEuMCkgewotICAgICAgICAgICAgICAgICAgICAqeHl6UHRyID0geHl6OwotICAgICAgICAg
ICAgICAgICAgICB4eXogPSAqeHl6UHRyOwotICAgICAgICAgICAgICAgICAgICBpZiAoeHl6Lnog
PT0gMC4wICYmIHh5ei55ID09IDAuMCAmJiB4eXoueiA9PSAwLjApIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICgmKmdldE51bGxQdHIoKSA9PSBudWxsKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKCYqKCYqZ2V0TnVsbFB0cigpKSA9PSBudWxsKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlclt1aW50KHRocmVhZElELngpXSA9IGJ1ZmZlclt1
aW50KHRocmVhZElELngpXSAqIDIuMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci19Ci1gOwotCi1hc3lu
YyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZp
Y2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCBj
b21wdXRlU3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJjb21wdXRl
U2hhZGVyIn07Ci0KLSAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRp
bmdzOiBbe2JpbmRpbmc6IDAsIHZpc2liaWxpdHk6IDcsIHR5cGU6ICJzdG9yYWdlLWJ1ZmZlciJ9
XX07Ci0gICAgY29uc3QgYmluZEdyb3VwTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cExh
eW91dChiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yKTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91
dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW2JpbmRHcm91cExheW91dF19OwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCBjb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yID0ge2NvbXB1dGVTdGFnZSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3Qg
Y29tcHV0ZVBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZUNvbXB1dGVQaXBlbGluZShjb21wdXRlUGlw
ZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHNpemUgPSBGbG9hdDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA4OwotCi0gICAgY29uc3QgYnVmZmVyRGVzY3JpcHRvciA9IHtzaXplLCB1
c2FnZTogR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJf
U1JDfTsKLSAgICBjb25zdCBidWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKGJ1ZmZlckRlc2Ny
aXB0b3IpOwotICAgIGNvbnN0IGJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdy
aXRlQXN5bmMoKTsKLSAgICBjb25zdCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFy
cmF5KGJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAxOwot
ICAgIGJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IDI7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzJd
ID0gMzsKLSAgICBidWZmZXJGbG9hdDMyQXJyYXlbM10gPSA0OwotICAgIGJ1ZmZlckZsb2F0MzJB
cnJheVs0XSA9IDU7Ci0gICAgYnVmZmVyRmxvYXQzMkFycmF5WzVdID0gNjsKLSAgICBidWZmZXJG
bG9hdDMyQXJyYXlbNl0gPSA3OwotICAgIGJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDg7Ci0gICAg
YnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCByZXN1bHRzQnVmZmVyRGVzY3JpcHRvciA9IHtz
aXplLCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuU1RPUkFHRSB8IEdQVUJ1ZmZlclVzYWdlLlRSQU5T
RkVSX0RTVCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9SRUFEfTsKLSAgICBjb25zdCByZXN1bHRzQnVm
ZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcihyZXN1bHRzQnVmZmVyRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCBidWZmZXJCaW5kaW5nID0ge2J1ZmZlcjogcmVzdWx0c0J1ZmZlciwgc2l6ZX07Ci0g
ICAgY29uc3QgYmluZEdyb3VwQmluZGluZyA9IHtiaW5kaW5nOiAwLCByZXNvdXJjZTogYnVmZmVy
QmluZGluZ307Ci0gICAgY29uc3QgYmluZEdyb3VwRGVzY3JpcHRvciA9IHtsYXlvdXQ6IGJpbmRH
cm91cExheW91dCwgYmluZGluZ3M6IFtiaW5kR3JvdXBCaW5kaW5nXX07Ci0gICAgY29uc3QgYmlu
ZEdyb3VwID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cChiaW5kR3JvdXBEZXNjcmlwdG9yKTsKLQot
ICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7
IC8vIHt9Ci0gICAgY29tbWFuZEVuY29kZXIuY29weUJ1ZmZlclRvQnVmZmVyKGJ1ZmZlciwgMCwg
cmVzdWx0c0J1ZmZlciwgMCwgc2l6ZSk7Ci0gICAgY29uc3QgY29tcHV0ZVBhc3NFbmNvZGVyID0g
Y29tbWFuZEVuY29kZXIuYmVnaW5Db21wdXRlUGFzcygpOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rl
ci5zZXRQaXBlbGluZShjb21wdXRlUGlwZWxpbmUpOwotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5z
ZXRCaW5kR3JvdXAoMCwgYmluZEdyb3VwKTsKLSAgICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0
Y2goMiwgMSwgMSk7Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25z
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdl
dFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci0KLSAgICBjb25zdCByZXN1bHRzQXJy
YXlCdWZmZXIgPSBhd2FpdCByZXN1bHRzQnVmZmVyLm1hcFJlYWRBc3luYygpOwotICAgIGNvbnN0
IHJlc3VsdHNGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHJlc3VsdHNBcnJheUJ1ZmZl
cik7Ci0gICAgaWYgKHJlc3VsdHNGbG9hdDMyQXJyYXlbMF0gPT0gMgotICAgICAgICAmJiByZXN1
bHRzRmxvYXQzMkFycmF5WzFdID09IDQKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVsy
XSA9PSA2Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbM10gPT0gOAotICAgICAgICAm
JiByZXN1bHRzRmxvYXQzMkFycmF5WzRdID09IDUKLSAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJB
cnJheVs1XSA9PSA2Ci0gICAgICAgICYmIHJlc3VsdHNGbG9hdDMyQXJyYXlbNl0gPT0gNwotICAg
ICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzddID09IDgpCi0gICAgICAgIHRlc3RQYXNzZWQo
IiIpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZCgiIik7Ci0gICAgcmVzdWx0c0J1ZmZl
ci51bm1hcCgpOwotfQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHRlc3RGYWlsZWQoIiIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9KTsK
LX0sIGZ1bmN0aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIiIpOwotICAgIGZpbmlzaEpTVGVzdCgp
OwotfSk7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9vb2ItYWNjZXNzLTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG9vYiAKKwpJbmRleDogTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29vYi1hY2Nlc3MtMi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLTIuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFjY2Vzcy0yLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5P
T0IuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy90ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMub29iID0gYXN5bmMg
KCkgPT4geworICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgICAgIGludCBmb28oKQorICAgICAg
ICB7CisgICAgICAgICAgICBpbnQgeCA9IDM7CisgICAgICAgICAgICB0aHJlYWQgaW50W10gYSA9
IEB4OworICAgICAgICAgICAgYVs0MjQyNDJdID0gMjU7CisgICAgICAgICAgICByZXR1cm4geDsK
KyAgICAgICAgfQorCisgICAgICAgIGludCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICBp
bnRbMTBdIHg7CisgICAgICAgICAgICB0aHJlYWQgaW50W10gYSA9IEB4OworICAgICAgICAgICAg
YVs0MjQyNDJdID0gMjU7CisgICAgICAgICAgICByZXR1cm4geFswXTsKKyAgICAgICAgfQorCisg
ICAgICAgIGludCBiYXooKQorICAgICAgICB7CisgICAgICAgICAgICBpbnRbMTBdIHg7CisgICAg
ICAgICAgICB0aHJlYWQgaW50W10gYSA9IEB4OworICAgICAgICAgICAgYVs0MjQyNDJdID0gMjU7
CisgICAgICAgICAgICByZXR1cm4geFsxXTsKKyAgICAgICAgfQorICAgIGA7CisgICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMjUpOwor
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBb
XSksIDI1KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFt
LCAiYmF6IiwgW10pLCAwKTsKK307CisKK3J1blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb29iLWFjY2Vzcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNzLmh0bWwJ
KHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vb2ItYWNjZXNz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiA8Ym9keT4KIDxzY3JpcHQ+CiBj
b25zdCBzaGFkZXJTb3VyY2UgPSBgCi1bbnVtdGhyZWFkcygyLCAxLCAxKV0KK1tudW10aHJlYWRz
KDQsIDEsIDEpXQogY29tcHV0ZSB2b2lkIGNvbXB1dGVTaGFkZXIoZGV2aWNlIGZsb2F0W10gYnVm
ZmVyIDogcmVnaXN0ZXIodTApLCBmbG9hdDMgdGhyZWFkSUQgOiBTVl9EaXNwYXRjaFRocmVhZElE
KSB7CiAgICAgYnVmZmVyWzEzMzddID0gMC4wOwogICAgIGJ1ZmZlcls0MjQyNDI0Ml0gPSAwLjA7
CkBAIC01NywxNCArNTcsMTQgQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7CiAgICAg
Y29uc3QgY29tcHV0ZVBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5Db21wdXRlUGFz
cygpOwogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShjb21wdXRlUGlwZWxpbmUp
OwogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5zZXRCaW5kR3JvdXAoMCwgYmluZEdyb3VwKTsKLSAg
ICBjb21wdXRlUGFzc0VuY29kZXIuZGlzcGF0Y2goMiwgMSwgMSk7CisgICAgY29tcHV0ZVBhc3NF
bmNvZGVyLmRpc3BhdGNoKDEsIDEsIDEpOwogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNz
KCk7CiAgICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwog
ICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwogCiAgICAgY29u
c3QgcmVzdWx0c0FycmF5QnVmZmVyID0gYXdhaXQgcmVzdWx0c0J1ZmZlci5tYXBSZWFkQXN5bmMo
KTsKICAgICBjb25zdCByZXN1bHRzRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1
bHRzQXJyYXlCdWZmZXIpOwotICAgIGlmIChyZXN1bHRzRmxvYXQzMkFycmF5WzBdID09IDIKKyAg
ICBpZiAocmVzdWx0c0Zsb2F0MzJBcnJheVswXSA9PSAwCiAgICAgICAgICYmIHJlc3VsdHNGbG9h
dDMyQXJyYXlbMV0gPT0gNAogICAgICAgICAmJiByZXN1bHRzRmxvYXQzMkFycmF5WzJdID09IDYK
ICAgICAgICAgJiYgcmVzdWx0c0Zsb2F0MzJBcnJheVszXSA9PSA4CkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3Itc3ludGF4
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBvcGVy
YXRvclN5bnRheCAKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL29wZXJhdG9yLXN5
bnRheC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRv
ci1zeW50YXguaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
b3BlcmF0b3Itc3ludGF4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5Tb21lIG9wZXJhdG9ycyBzaG91bGQgYmUg
c3ludGF4IGVycm9ycy48L3RpdGxlPgorPHNjcmlwdCBzcmM9ImpzL3Rlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5v
cGVyYXRvclN5bnRheCA9IGFzeW5jICgpID0+Cit7CisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAg
ICAgICAgc3RydWN0IEZvbyB7IH0KKyAgICAgICAgaW50IG9wZXJhdG9yLmZvbyhGb28pIHsgcmV0
dXJuIDQyOyB9CisgICAgYCk7CisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgc3RydWN0
IEZvbyB7IH0KKyAgICAgICAgaW50IG9wZXJhdG9yLmZvbz0oRm9vKSB7IHJldHVybiA0MjsgfQor
ICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgc3RydWN0IEZvbyB7IH0K
KyAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImLmZvbyhGb28pIHsgaW50IHg7IHJldHVybiAm
eDsgfQorICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgc3RydWN0IEZv
byB7IH0KKyAgICAgICAgaW50IG9wZXJhdG9yW10oRm9vLCB1aW50KSB7IHJldHVybiA0MjsgfQor
ICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKKyAgICAgICAgc3RydWN0IEZvbyB7IH0K
KyAgICAgICAgaW50IG9wZXJhdG9yW109KEZvbywgdWludCkgeyByZXR1cm4gNDI7IH0KKyAgICBg
KTsKKworICAgIGF3YWl0IGNoZWNrRmFpbChgCisgICAgICAgIHN0cnVjdCBGb28geyB9CisgICAg
ICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKEZvbywgdWludCkgeyBpbnQgeDsgcmV0dXJuICZ4
OyB9CisgICAgYCk7Cit9CisKK3J1blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVjdG9yLWFzc2ln
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vcGVyYXRvci12
ZWN0b3ItYXNzaWduLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdw
dS93aGxzbC9vcGVyYXRvci12ZWN0b3ItYXNzaWduLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3
LDExICsxNywxMSBAQCB3aGxzbFRlc3RzLnZlY3RvckluZGV4QXNzaWduID0gYXN5bmMgKCkgCiAg
ICAgICAgICAgICBpbnQyIHg7CiAgICAgICAgICAgICB4WzBdID0gMjA7CiAgICAgICAgICAgICB4
WzFdID0gMTA7Ci0gICAgICAgICAgICB4WzUwMDBdID0gMjA7CisgICAgICAgICAgICB4WzUwMDBd
ID0gNDA7CiAgICAgICAgICAgICByZXR1cm4geC54IC8geC55ICsgeFs1MDAwXTsKICAgICAgICAg
fQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgICJmb28iLCBbXSksIDIpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0
aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCA0MCAvIDEwICsgNDApOwogfTsKIAogcnVuVGVzdHMo
d2hsc2xUZXN0cyk7CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3BlcmF0b3ItdmVj
dG9yLWxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvb3Bl
cmF0b3ItdmVjdG9yLWxvYWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL29wZXJhdG9yLXZlY3Rvci1sb2FkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTE3LDExICsxNywxMSBAQCB3aGxzbFRlc3RzLnZlY3RvckluZGV4TG9hZCA9IGFzeW5jICgpID0+
CiAgICAgICAgICAgICBpbnQyIHg7CiAgICAgICAgICAgICB4LnggPSAyMDsKICAgICAgICAgICAg
IHgueSA9IDEwOwotICAgICAgICAgICAgeFs1MDAwXSA9IDIwOworICAgICAgICAgICAgeFs1MDAw
XSA9IDQwOwogICAgICAgICAgICAgcmV0dXJuIHhbMF0gLyB4WzFdICsgeFs1MDAwXTsKICAgICAg
ICAgfQogICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJv
Z3JhbSwgICJmb28iLCBbXSksIDIpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1
bmN0aW9uKHByb2dyYW0sICAiZm9vIiwgW10pLCA0MC8xMCArIDQwKTsKIH07CiAKIHJ1blRlc3Rz
KHdobHNsVGVzdHMpOwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1
YnNjcmlwdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL292ZXJyaWRlLXN1YnNjcmlwdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3JpcHQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi0KLVBBU1Mgb3ZlcnJpZGVTdWJzY3JpcHRT
dHJ1Y3QgCi1QQVNTIG92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kRG9TdG9yZXMgCi1QQVNTIG92
ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgCi1QQVNTIG92ZXJyaWRlU3Vic2Ny
aXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJbmNvcnJlY3RseSAKLQpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9vdmVycmlkZS1zdWJzY3JpcHQuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL292ZXJyaWRlLXN1YnNjcmlwdC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+Ci08dGl0bGU+VGVzdCBvdmVycmlkZSBzdWJzY3JpcHRzLjwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0ianMvdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0
cyA9IHt9OwotCi13aGxzbFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0ID0gYXN5bmMgKCkg
PT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0IEZvbyB7Ci0gICAgICAg
ICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9Ci0gICAgICAgIHRocmVh
ZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAg
ewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuICZm
b28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9Ci0gICAgICAg
IGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAg
Zm9vLnggPSA0OTg7Ci0gICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAgICAgcmV0dXJu
IGZvb1swXSArIGZvb1sxXSAqIDM7Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQ5OCArIDE5ICog
Myk7Ci19Ci0KLXdobHNsVGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyA9
IGFzeW5jICgpID0+Ci17Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28g
ewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICBpbnQgeTsKLSAgICAgICAgfQotICAg
ICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmb28sIHVpbnQgaW5kZXgp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChpbmRleCA9PSAwKQotICAgICAgICAgICAgICAg
IHJldHVybiAmZm9vLT54OwotICAgICAgICAgICAgaWYgKGluZGV4ID09IDEpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuICZmb28tPnk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAg
fQotICAgICAgICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9vIGZvbzsKLSAg
ICAgICAgICAgIGZvb1swXSA9IDQ5ODsKLSAgICAgICAgICAgIGZvb1sxXSA9IDE5OwotICAgICAg
ICAgICAgcmV0dXJuIGZvby54ICsgZm9vLnk7Ci0gICAgICAgIH0KLSAgICBgOwotICAgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQ5OCAr
IDE5KTsKLX0KLQotd2hsc2xUZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZFVzZVBvaW50
ZXJzID0gYXN5bmMgKCkgPT4KLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGAKLSAgICAgICAgc3RydWN0
IEZvbyB7Ci0gICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgIGludCB5OwotICAgICAgICB9
Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCBp
bmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGluZGV4ID09IDApCi0gICAgICAgICAg
ICAgICAgcmV0dXJuICZmb28tPng7Ci0gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gJmZvby0+eTsKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgICB9Ci0gICAgICAgIGludCBiYXIodGhyZWFkIEZvbyogZm9vKQotICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gKCpmb28pWzBdICsgKCpmb28pWzFdOwotICAgICAgICB9Ci0gICAgICAg
IGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAgICAgICAgICAg
Zm9vLnggPSA0OTg7Ci0gICAgICAgICAgICBmb28ueSA9IDE5OwotICAgICAgICAgICAgcmV0dXJu
IGJhcigmZm9vKTsKLSAgICAgICAgfQotICAgIGA7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBj
YWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkpOwotfQotCi13aGxz
bFRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJbmNvcnJlY3RseSA9
IGFzeW5jICgpID0+Ci17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICBgCi0gICAgICAgICAgICBz
dHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgeDsKLSAgICAgICAgICAgICAgICBpbnQg
eTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRo
cmVhZCBGb28qIGZvbywgdWludCBpbmRleCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBpZiAoaW5kZXggPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICZmb28tPng7Ci0g
ICAgICAgICAgICAgICAgaWYgKGluZGV4ID09IDEpCi0gICAgICAgICAgICAgICAgICAgIHJldHVy
biAmZm9vLT55OwotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaW50IGJhcih0aHJlYWQgRm9vKiBmb28pCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZvb1swXSArIGZvb1sxXTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGludCBmb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEZvbyBmb287
Ci0gICAgICAgICAgICAgICAgZm9vLnggPSA0OTg7Ci0gICAgICAgICAgICAgICAgZm9vLnkgPSAx
OTsKLSAgICAgICAgICAgICAgICByZXR1cm4gYmFyKCZmb28pOwotICAgICAgICAgICAgfQotICAg
ICAgICBgKTsKLX0KLQotcnVuVGVzdHMod2hsc2xUZXN0cyk7Ci08L3NjcmlwdD4KLTwvaHRtbD4K
LQpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3RzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NldHRlci1zcGVjLXRlc3Rz
Lmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zZXR0
ZXItc3BlYy10ZXN0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBAIGNvbnN0
IHdobHNsVGVzdHMgPSB7fTsKIAogd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTWF0Y2hlZFR5cGUgPSBh
c3luYyAoKSA9PgogewotICAgIGNvbnN0IHByb2dyYW0gPSBgCisgICAgYXdhaXQgY2hlY2tGYWls
KGAKICAgICAgICAgaW50IG9wZXJhdG9yLmZvbyhpbnQpCiAgICAgICAgIHsKICAgICAgICAgICAg
IHJldHVybiA1OwpAQCAtMzAsMTAgKzMwLDcgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTWF0Y2hl
ZFR5cGUgPSBhc3luYwogICAgICAgICAgICAgaW50IHg7CiAgICAgICAgICAgICByZXR1cm4geC5m
b287CiAgICAgICAgIH0KLSAgICBgOwotCi0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNTQzKTsKLSAgICAvL2Fzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDUpOworICAgIGApOwog
fQogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkID0gYXN5bmMgKCkgPT4K
QEAgLTU2LDcgKzUzLDcgQEAgd2hsc2xUZXN0cy5zZXR0ZXJXaXRoTm9HZXR0ZXJPdmVybG9hZCA9
IAogCiB3aGxzbFRlc3RzLnNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkRml4ZWQgPSBhc3luYyAo
KSA9PgogewotICAgIGNvbnN0IHByb2dyYW0gPWAKKyAgICBhd2FpdCBjaGVja0ZhaWwoYAogICAg
ICAgICBzdHJ1Y3QgQmFyIHsgfQogICAgICAgICBpbnQgb3BlcmF0b3IuZm9vKEJhcikKICAgICAg
ICAgewpAQCAtNzUsMTQgKzcyLDEyIEBAIHdobHNsVGVzdHMuc2V0dGVyV2l0aE5vR2V0dGVyT3Zl
cmxvYWRGaXgKICAgICAgICAgICAgIGJhci5mb28gPSA1MjsKICAgICAgICAgICAgIHJldHVybiBi
YXIuZm9vOwogICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJ
bnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA1MzQpOwotICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDUzNCk7CisgICAgYCk7
CiB9CiAKIHdobHNsVGVzdHMucmVjdXJzaXZlU2V0dGVycyA9IGFzeW5jICgpID0+CiB7Ci0gICAg
bGV0IHByb2dyYW0gPSBgCisgICAgYXdhaXQgY2hlY2tGYWlsKGAKICAgICAgICAgc3RydWN0IEZv
byB7CiAgICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgIGludCB5OwpAQCAtMTAxLDggKzk2
LDcgQEAgd2hsc2xUZXN0cy5yZWN1cnNpdmVTZXR0ZXJzID0gYXN5bmMgKCkgPQogICAgICAgICAg
ICAgZm9vLmJhci5jID0gODsKICAgICAgICAgICAgIHJldHVybiBmb28ueCoxMCArIGZvby55Owog
ICAgICAgICB9Ci0gICAgYDsKLSAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlv
bihwcm9ncmFtLCAiZiIsIFtdKSwgODMpOworICAgIGApOwogfQogCiB3aGxzbFRlc3RzLmxvbmVT
ZXR0ZXIgPSBhc3luYyAoKSA9PgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBs
ZS1nZXR0ZXItc2V0dGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc2ltcGxlLWdldHRlci1zZXR0ZXIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAogCi1QQVNTIHNpbXBs
ZUdldHRlciAKLVBBU1Mgc2ltcGxlU2V0dGVyIAorUEFTUyBzaW1wbGVQcm9wZXJ0eUdldCAKIApJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3NpbXBsZS1nZXR0ZXItc2V0
dGVyLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9z
aW1wbGUtZ2V0dGVyLXNldHRlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw0MyArMTAsMTUg
QEAKIDxzY3JpcHQ+CiBjb25zdCB3aGxzbFRlc3RzID0ge307CiAKLXdobHNsVGVzdHMuc2ltcGxl
R2V0dGVyID0gYXN5bmMgKCkgPT4geword2hsc2xUZXN0cy5zaW1wbGVQcm9wZXJ0eUdldCA9IGFz
eW5jICgpID0+IHsKICAgICBsZXQgcHJvZ3JhbSA9IGAKICAgICAgICAgc3RydWN0IEZvbyB7CiAg
ICAgICAgICAgICBpbnQgeDsKICAgICAgICAgfQotICAgICAgICBpbnQgb3BlcmF0b3IueShGb28g
Zm9vKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLng7Ci0gICAgICAgIH0KICAg
ICAgICAgaW50IGZvbygpCiAgICAgICAgIHsKICAgICAgICAgICAgIEZvbyBmb287CiAgICAgICAg
ICAgICBmb28ueCA9IDc4MDQ7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnk7Ci0gICAgICAgIH0K
LSAgICBgOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSksIDc4MDQpOwotfTsKLQotd2hsc2xUZXN0cy5zaW1wbGVTZXR0ZXIgPSBhc3lu
YyAoKSA9PiB7Ci0gICAgbGV0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAg
ICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG9wZXJhdG9yLnkoRm9vIGZv
bykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGZvby54OwotICAgICAgICB9Ci0gICAg
ICAgIEZvbyBvcGVyYXRvci55PShGb28gZm9vLCBpbnQgdmFsdWUpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGZvby54ID0gdmFsdWU7Ci0gICAgICAgICAgICByZXR1cm4gZm9vOwotICAgICAgICB9
Ci0gICAgICAgIGludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb28gZm9vOwotICAg
ICAgICAgICAgZm9vLnkgPSA3ODA0OwogICAgICAgICAgICAgcmV0dXJuIGZvby54OwogICAgICAg
ICB9CiAgICAgYDsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmll
bGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmdwdS93aGxzbC9zdHJ1Y3R1cmUtZmllbGQtYWNjZXNzLW9uLW51bGwtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvc3RydWN0dXJl
LWZpZWxkLWFjY2Vzcy1vbi1udWxsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDMg
KzAsMCBAQAotCi1QQVNTIGZpZWxkU2hvdWxkQmVOdWxsIAotCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvc3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3N0cnVjdHVyZS1maWVsZC1hY2Nlc3Mtb24t
bnVsbC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
c3RydWN0dXJlLWZpZWxkLWFjY2Vzcy1vbi1udWxsLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPG1ldGEgY2hhcnNldD11dGYtOD4K
LTxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotPHRpdGxlPmZpZWxkIGFuZGVy
IG9uIG51bGxwdHIgc2hvdWxkIHJldHVybiBudWxsLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0ianMv
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgd2hsc2xUZXN0cyA9IHt9
OwotCi13aGxzbFRlc3RzLmZpZWxkU2hvdWxkQmVOdWxsID0gYXN5bmMgKCkgPT4gewotICAgIGNv
bnN0IHByb2dyYW0gPSBgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7
Ci0gICAgICAgICAgICBpbnQgeTsKLSAgICAgICAgICAgIGludCB6OwotICAgICAgICB9Ci0gICAg
ICAgIGJvb2wgZm9vKHVpbnQgaSkgewotICAgICAgICAgICAgRm9vWzEwXSBmb29zOwotICAgICAg
ICAgICAgdGhyZWFkIEZvbyogZm9vID0gJmZvb3NbaV07Ci0gICAgICAgICAgICB0aHJlYWQgaW50
KiBwdHIgPSAmKGZvby0+eik7Ci0gICAgICAgICAgICByZXR1cm4gcHRyID09IG51bGwgJiYgZm9v
ID09IG51bGw7Ci0gICAgICAgIH0KLSAgICBgOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDsgKytpKQotICAgICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJv
Z3JhbSwgICJmb28iLCBbbWFrZVVpbnQoaSldKSwgZmFsc2UpOwotICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgxMCldKSwg
dHJ1ZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0s
ICAiZm9vIiwgW21ha2VVaW50KDEwMDAwMDApXSksIHRydWUpOwotICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAgImZvbyIsIFttYWtlVWludCgweGZmZmZm
ZmZmKV0pLCB0cnVlKTsKLX07Ci0KLXJ1blRlc3RzKHdobHNsVGVzdHMpOwotPC9zY3JpcHQ+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNzLXRlc3Qu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdGVzdC1oYXJuZXNz
LXRlc3QuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Rlc3QtaGFybmVzcy10ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE2MSw3ICsxNjEsNyBA
QCB3aGxzbFRlc3RzLmZsb2F0NHg0dGVzdHMgPSAoKSA9PiB7CiAgICAgICAgIH0pOwogICAgIH0s
ICJVcGxvYWQgYSBmbG9hdDR4NFtdIGFuZCBzdG9yZSBpbnRvIGEgZmxvYXQ0eDRbXS4iKTsKIAot
ICAgIGNoZWNrQXJyYXlzKCJmbG9hdDR4NCIsICJyZXR1cm4gZmxvYXQ0eDQoZmxvYXQ0KDAsIDEs
IDIsIDMpLCBmbG9hdDQoNCwgNSwgNiwgNyksIGZsb2F0NCg4LCA5LCAxMCwgMTEpLCBmbG9hdDQo
MTIsIDEzLCAxNCwgMTUpKTsiLCBbXSwgZmxvYXQ0eDRleHBlY3RlZCk7CisgICAgY2hlY2tBcnJh
eXMoImZsb2F0NHg0IiwgInJldHVybiBmbG9hdDR4NChmbG9hdDQoMCwgMSwgMiwgMyksIGZsb2F0
NCg0LCA1LCA2LCA3KSwgZmxvYXQ0KDgsIDksIDEwLCAxMSksIGZsb2F0NCgxMiwgMTMsIDE0LCAx
NSkpOyIsIFtdLCBmbG9hdDR4NENvbHVtbkV4cGVjdGVkKTsKICAgICBjaGVja0FycmF5cygiZmxv
YXQ0eDQiLCAicmV0dXJuIGluMDsiLCBbZmxvYXQ0eDRleHBlY3RlZF0sIGZsb2F0NHg0ZXhwZWN0
ZWQpOwogICAgIGxldCBtdWx0aXBsZTR4NGFyZ3MgPSBbXTsKICAgICBmb3IgKGxldCBpID0gMDsg
aSA8IDE2OyArK2kpIHsKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJl
c29sdmVyL2FuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWFic3RyYWN0
LWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93
ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0
ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRlU3F1YXJlT25CbHVlQmFj
a2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJz
dHJhY3QtbHZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
L3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVy
LWFic3RyYWN0LWx2YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBv
c2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRp
b247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCog
b3BlcmF0b3ImLnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotc3Ry
dWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRvci53KEJhciBiKSB7Ci0gICAg
cmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJhdG9yLnc9KEJhciBiLCBGb28gYSkgewotICAgIGIu
eiA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRl
cigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAgIHJl
dHVybiBmbG9hdDQoYi53LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rp
b24gc3RhcnQoZGV2aWNlKSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0
ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3Rh
Z2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsK
LSAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBv
aW50OiAiZnJhZ21lbnRTaGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0
cmlhbmdsZS1zdHJpcCI7Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFj
ZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9y
bWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9
XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUg
PSBudWxsOwotICAgIAotICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAs
IGZvcm1hdDogImZsb2F0NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRy
aWJ1dGVTZXQ6IFthdHRyaWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0g
ICAgY29uc3QgdmVydGV4SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNv
bnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0g
ICAgY29uc3QgcGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJh
c3Rlcml6YXRpb25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJ
bnB1dCwgc2FtcGxlQ291bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0
IHJlbmRlclBpcGVsaW5lID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3Np
emU6IEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2
ZXJ0ZXhCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVy
Lm1hcFdyaXRlQXN5bmMoKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBu
ZXcgRmxvYXQzMkFycmF5KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzRdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs3XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTFdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzE0XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsK
LSAgICB2ZXJ0ZXhCdWZmZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMu
Z2V0Q29udGV4dCgiZ3B1Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZp
Y2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0
LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAg
ICBjb25zdCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAv
LyB7fQotICAgIGNvbnN0IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25z
dCBjb2xvckF0dGFjaG1lbnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVz
b2x2ZVRhcmdldDogbnVsbCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVh
ckNvbG9yOiByZWR9XTsKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsK
LSAgICBjb25zdCByZW5kZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1h
bmRFbmNvZGVyLmJlZ2luUmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVu
ZGVyUGFzc0VuY29kZXIuc2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rl
ci5lbmRQYXNzKCk7Ci0gICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZp
bmlzaCgpOwotICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwot
fQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotZ2V0QmFzaWNEZXZpY2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRl
dmljZSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1
YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL2FuZGVyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvYW5kZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvYW5kZXItbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLTMt
bGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dl
YmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFs
dWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUtMy1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9z
aXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlv
bjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBv
cGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1zdHJ1
Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImLncodGhyZWFk
IEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotc3RydWN0IEJheiB7Ci0gICAgQmFy
IHA7Ci19Ci0KLXRocmVhZCBCYXIqIG9wZXJhdG9yJi5xKHRocmVhZCBCYXoqIGIpIHsKLSAgICBy
ZXR1cm4gJmItPnA7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1Zf
VGFyZ2V0IDAgewotICAgIEJheiBiOwotICAgIGIucS53LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZs
b2F0NChiLnEudy55LCBiLnEudy55LCBiLnEudy55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlv
biBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRl
U2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFn
ZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9Owot
ICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9p
bnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRy
aWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNl
OiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0g
ICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3Jt
YXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1d
OyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9
IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwg
Zm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJp
YnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAg
ICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29u
c3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAg
ICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBl
bGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFz
dGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElu
cHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6
ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZm
ZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7
Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIu
bWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5l
dyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFd
ID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxv
YXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
MV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2Rldmlj
ZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQu
Y29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1
dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRw
dXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAg
IGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8v
IHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0
IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNv
bHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFy
Q29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwot
ICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRo
U3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFu
ZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFz
c0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVy
LmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmlu
aXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2
aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVh
cmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLWV4cGVj
dGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9w
cm9wZXJ0eXJlc29sdmVyL2FuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2Nh
bnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52
YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci1sdmFsdWUu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvYW5kZXItbHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTkgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2Fu
dmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3Jp
cHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihm
bG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVy
biBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFk
IGZsb2F0KiBvcGVyYXRvciYueSh0aHJlYWQgRm9vKiBmKSB7Ci0gICAgcmV0dXJuICZmLT54Owot
fQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3Im
LncodGhyZWFkIEJhciogYikgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0gICAgYi53
LnkgPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLncueSwgYi53LnksIGIudy55LCAxLjApOwot
fQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIp
OwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1
bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAg
ICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDog
InZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFk
ZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1p
dGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9u
U3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBh
bHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNv
bG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVu
ZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBk
ZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtz
aGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0g
e3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1
dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBp
bnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91
cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQ
aXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmlt
aXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVu
Y2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxh
eW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAq
IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJ
VEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4
QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBh
d2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIp
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Ml0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
Ml0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVm
ZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0g
Y29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtj
b21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNl
KSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsK
LSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvYW5kZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9hbmRlci5odG1sCShyZXZp
c2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9hbmRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTE1ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVy
U291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDog
YXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0K
LXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVhZCBmbG9hdCogb3BlcmF0b3Im
LnkodGhyZWFkIEZvbyogZikgewotICAgIHJldHVybiAmZi0+eDsKLX0KLQotRm9vIGdlbmVyYXRl
Rm9vKCkgewotICAgIEZvbyBmOwotICAgIGYueCA9IDEuMDsKLSAgICByZXR1cm4gZjsKLX0KLQot
ZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgcmV0
dXJuIGZsb2F0NChnZW5lcmF0ZUZvbygpLnksIGdlbmVyYXRlRm9vKCkueSwgZ2VuZXJhdGVGb28o
KS55LCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25z
dCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJT
b3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwg
ZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7
bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAg
IGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCBy
YXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsK
LSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9Owot
ICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVu
ZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0
cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29u
c3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAg
ICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0
ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
ID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRl
dmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0g
ICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVu
dFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRl
cywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0
OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3Jl
YXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJV
c2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVC
dWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJy
YXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVy
QXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0g
MTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
Nl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwot
Ci0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25z
dCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9Owot
ICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFp
bkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3Vy
cmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1
cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2
aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAs
IGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFj
aG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJj
bGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlw
dG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNv
bnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJl
bmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShy
ZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygw
LCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEs
IDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21t
YW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVl
KCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVu
Y3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBm
dW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2Fy
ZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvZ2V0dGVyLWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvZ2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2dldHRlci1leHBlY3RlZC5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5T
b2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9nZXR0ZXIu
aHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3Bl
cnR5cmVzb2x2ZXIvZ2V0dGVyLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTEgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1j
b25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQg
cG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3Np
dGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0
b3IueShGb28gZikgewotICAgIHJldHVybiBmLng7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFn
bWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEZvbyBmOwotICAgIGYueCA9IDEuMDsK
LSAgICByZXR1cm4gZmxvYXQ0KGYueSwgZi55LCBmLnksIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0
aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVh
dGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07
Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQ
b2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAi
dHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZh
Y2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsK
LSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zv
cm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1
fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRl
ID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAw
LCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0
cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwot
ICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBj
b25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119Owot
ICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCBy
YXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4
SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25z
dCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtz
aXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3Qg
dmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9y
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZl
ci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0g
bmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41Owot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7
Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFz
LmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2
aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4
dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0
cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91
dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0g
ICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsg
Ly8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29u
c3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJl
c29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xl
YXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7
Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVw
dGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21t
YW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAg
IHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5m
aW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsK
LX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChk
ZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNx
dWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0
OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4
ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFz
PgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
aW5kZXhlci1hbmRlci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysg
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1h
YnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0
IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3Np
dGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9u
OwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi10aHJlYWQgZmxvYXQqIG9w
ZXJhdG9yJltdKHRocmVhZCBGb28qIGYsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmYtPng7
Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShCYXIg
YiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltdPShC
YXIgYiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwot
fQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAg
ICBCYXIgYjsKLSAgICBiWzJdWzNdID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYlsyXVszXSwg
YlsyXVszXSwgYlsyXVszXSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2lu
ZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29s
dmVyL2luZGV4ZXItYW5kZXItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwot
ZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3By
b3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZl
ci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
NDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRl
eGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZh
cz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS0zLWxldmVscy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItYW5kZXItbHZhbHVlLTMtbGV2ZWxzLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIt
bHZhbHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjcgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25z
dCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9z
aXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlv
bjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBv
cGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54
OwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0
b3ImW10odGhyZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsKLX0K
LQotc3RydWN0IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLXRocmVhZCBCYXIqIG9wZXJhdG9yJltd
KHRocmVhZCBCYXoqIGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gJmItPnA7Ci19Ci0KLWZy
YWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJheiBi
OwotICAgIGJbMV1bMl1bM10gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiWzFdWzJdWzNdLCBi
WzFdWzJdWzNdLCBiWzFdWzJdWzNdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChk
ZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9k
dWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0
IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFn
bWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0
cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBj
dWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3Qg
Y29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2Jh
OHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVD
b2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0g
ICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAi
ZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDog
W2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2
ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBw
aXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91
dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3Zl
cnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlv
blN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1w
bGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQz
MkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5W
RVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZl
ciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVB
c3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMy
QXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRd
ID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRl
eEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0
KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0
OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJl
U3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUg
PSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJl
VmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNv
bW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAg
Y29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0
YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0
OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJl
ZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0
IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIu
YmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3Mo
KTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0g
ICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNp
Y0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVu
KGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVC
YWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2
ZXIvaW5kZXhlci1hbmRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1
ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhl
aWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5k
SW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLWx2
YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItYW5kZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItYW5kZXIt
bHZhbHVlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMTkgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJT
b3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBh
dHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQot
c3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZb
XSh0aHJlYWQgRm9vKiBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1z
dHJ1Y3QgQmFyIHsKLSAgICBGb28gejsKLX0KLQotdGhyZWFkIEZvbyogb3BlcmF0b3ImW10odGhy
ZWFkIEJhciogYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiAmYi0+ejsKLX0KLQotZnJhZ21l
bnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgQmFyIGI7Ci0g
ICAgYlsxXVsyXSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMV1bMl0sIGJbMV1bMl0sIGJb
MV1bMl0sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNv
bnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRl
clNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxl
LCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0g
ICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0
IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9
OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307
Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJs
ZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFM
TAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBh
dHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBj
b25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19Owot
ICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3Zl
cnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0
b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0g
ZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0K
LSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdt
ZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3Rh
dGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlv
dXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5j
cmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29u
c3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0
ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJB
cnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29u
c3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZm
ZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMy
QXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNd
ID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7
Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNv
bnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENo
YWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRD
dXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4
dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBk
ZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjog
MCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0
YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDog
ImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3Qg
ZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAg
Y29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3Mo
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5l
KHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJz
KDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwg
MSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVl
dWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihm
dW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0s
IGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3
YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1hbmRlci5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWFuZGVyLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0i
NDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXgg
ZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDogU1Zf
UG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0gICAg
ZmxvYXQgeDsKLX0KLQotdGhyZWFkIGZsb2F0KiBvcGVyYXRvciZbXSh0aHJlYWQgRm9vKiBmLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuICZmLT54OwotfQotCi1Gb28gZ2VuZXJhdGVGb28oKSB7
Ci0gICAgRm9vIGY7Ci0gICAgZi54ID0gMS4wOwotICAgIHJldHVybiBmOwotfQotCi1mcmFnbWVu
dCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICByZXR1cm4gZmxv
YXQ0KGdlbmVyYXRlRm9vKClbMF0sIGdlbmVyYXRlRm9vKClbMV0sIGdlbmVyYXRlRm9vKClbMl0s
IDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNo
YWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJj
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLWdldHRlci1leHBl
Y3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItZ2V0dGVyLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykK
KysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItZ2V0
dGVyLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItZ2V0dGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1nZXR0ZXIuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1n
ZXR0ZXIuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExMCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNv
dXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0
dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1z
dHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1
aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGZsb2F0KGluZGV4KTsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0gICAgRm9vIGY7Ci0gICAgcmV0
dXJuIGZsb2F0NChmWzFdLCBmWzFdLCBmWzFdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBz
dGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hh
ZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9
IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAg
IGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFu
Z2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAi
Y3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6
ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAv
LyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51
bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9y
bWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0
ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBj
b25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBj
b25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
ID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVy
aXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0
LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVu
ZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTog
RmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJV
c2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRl
eEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0g
ICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFw
V3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
NF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0g
PSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAg
IHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRD
b250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwg
Zm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29u
ZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRl
eHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRU
ZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNv
bnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9
Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNv
bG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZl
VGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29s
b3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAg
IGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3Rl
bmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVu
Y29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5k
ZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVu
ZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNo
KCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1p
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1n
ZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNl
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVP
bkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0
bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy1leHBlY3Rl
ZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0
MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNr
Z3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNl
dHRlci1hYnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFj
dC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLTMtbGV2ZWxzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBz
aGFkZXJTb3VyY2UgPSBgCi12ZXJ0ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRp
b24gOiBhdHRyaWJ1dGUoMCkpIDogU1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsK
LX0KLQotc3RydWN0IEZvbyB7Ci0gICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3JbXShG
b28gZiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBmLng7Ci19Ci0KLUZvbyBvcGVyYXRvcltd
PShGb28gZiwgdWludCBpbmRleCwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7Ci0gICAgcmV0dXJu
IGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28gb3BlcmF0b3JbXShC
YXIgYiwgdWludCBpbmRleCkgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvcltd
PShCYXIgYiwgdWludCBpbmRleCwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBi
OwotfQotCi1zdHJ1Y3QgQmF6IHsKLSAgICBCYXIgcDsKLX0KLQotQmFyIG9wZXJhdG9yW10oQmF6
IGIsIHVpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4gYi5wOwotfQotCi1CYXogb3BlcmF0b3JbXT0o
QmF6IGIsIHVpbnQgaW5kZXgsIEJhciBhKSB7Ci0gICAgYi5wID0gYTsKLSAgICByZXR1cm4gYjsK
LX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50U2hhZGVyKCkgOiBTVl9UYXJnZXQgMCB7Ci0g
ICAgQmF6IGI7Ci0gICAgYlsyXVszXVs0XSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGJbMl1b
M11bNF0sIGJbMl1bM11bNF0sIGJbMl1bM11bNF0sIDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9u
IHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVT
aGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJjZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0g
ICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29uc3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJp
YW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rlcml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6
ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAgIGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAg
ICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1h
dDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBjb2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07
IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAgIGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0g
bnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBm
b3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBpbnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmli
dXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNvbnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAg
IGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25z
dCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7YmluZEdyb3VwTGF5b3V0czogW119OwotICAg
IGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBjb25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3RhZ2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0
ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBkZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5w
dXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBpcGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCBy
ZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVydGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXpl
OiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZl
clVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsK
LSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5t
YXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3
IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJheUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzVdID0gMC41OwotICAg
IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZl
ckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEx
XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdl
dENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNl
LCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5j
b25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0
VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1
dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAg
Y29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8g
e30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzogMCwgYjogMSwgYTogMX07Ci0gICAgY29uc3Qg
Y29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVudDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29s
dmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFyIiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJD
b2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0g
ICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhT
dGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3QgcmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5k
RW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRl
clBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRlclBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJl
bmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwgMCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
ZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5p
c2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlvbihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZp
Y2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFy
ZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9p
bmRleGVyLXNldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5
MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhl
ci1zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFz
PgotPHNjcmlwdD4KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVy
L2luZGV4ZXItc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRl
ci1hYnN0cmFjdC1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNv
bnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBw
b3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0
aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRv
cltdKEZvbyBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJh
dG9yW109KEZvbyBmLCB1aW50IGluZGV4LCBmbG9hdCB4KSB7Ci0gICAgZi54ID0geDsKLSAgICBy
ZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVyYXRv
cltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9wZXJh
dG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAgcmV0
dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0
IDAgewotICAgIEJhciBiOwotICAgIGJbMl1bM10gPSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChi
WzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAxLjApOwotfQotYDsKLQotY29uc3QgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFy
dChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVy
TW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHtt
b2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNoYWRlciJ9OwotICAgIGNv
bnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJm
cmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xl
LXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ci
LCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29u
c3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJy
Z2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBH
UFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7
Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0
OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNl
dDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25z
dCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6IFtdfTsKLSAgICBjb25z
dCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxh
eW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0g
e3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXph
dGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBz
YW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVy
UGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxv
YXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2Fn
ZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAg
Y29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3Jp
dGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9h
dDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAu
NTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0g
PSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0
ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFy
cmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9h
dDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAx
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZl
cnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250
ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9y
bWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmln
dXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1
cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0
dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0
IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0g
ICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9y
QXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFy
Z2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6
IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNv
bnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29k
ZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNz
RW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQ
YXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBh
c3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7
Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRC
YXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50
aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJs
dWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvaW5kZXhlci1zZXR0ZXItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2Nh
bnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52
YXMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNv
bHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjQ5MjI3
KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1z
ZXR0ZXItbHZhbHVlLWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMg
aWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4K
LWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdX
aGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0
eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL2luZGV4ZXItc2V0dGVyLWx2YWx1
ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJv
cGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci1sdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2Fu
dmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVy
dGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7
Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3QgRm9vIHsKLSAgICBmbG9hdCB4Owot
fQotCi1mbG9hdCBvcGVyYXRvcltdKEZvbyBmLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGYu
eDsKLX0KLQotRm9vIG9wZXJhdG9yW109KEZvbyBmLCB1aW50IGluZGV4LCBmbG9hdCB4KSB7Ci0g
ICAgZi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7
Ci19Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJltdKHRocmVhZCBCYXIqIGIsIHVpbnQgaW5kZXgp
IHsKLSAgICByZXR1cm4gJmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRl
cigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJhciBiOwotICAgIGJbMl1bM10gPSAxLjA7Ci0gICAg
cmV0dXJuIGZsb2F0NChiWzJdWzNdLCBiWzJdWzNdLCBiWzJdWzNdLCAxLjApOwotfQotYDsKLQot
Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotCi1hc3lu
YyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZp
Y2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsKLSAgICBjb25zdCB2
ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogInZlcnRleFNo
YWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUs
IGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHByaW1pdGl2ZVRvcG9s
b2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0aW9uU3RhdGUgPSB7
ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25zdCBhbHBoYUJsZW5k
ID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yU3RhdGVz
ID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JCbGVuZCwgd3JpdGVN
YXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25zdCBkZXB0aFN0ZW5j
aWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2Nh
dGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQwID0ge3N0cmlkZTog
MTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBpbnB1dHMgPSBbaW5w
dXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJzOiBpbnB1dHN9Owot
Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRHcm91cExheW91dHM6
IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxh
eW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgcmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBwcmltaXRpdmVUb3Bv
bG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhTdGVuY2lsU3RhdGUs
IHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07Ci0g
ICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckRlc2NyaXB0
b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCAqIDQsIHVzYWdl
OiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEV9OwotICAg
IGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVydGV4QnVmZmVyRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIgPSBhd2FpdCB2ZXJ0
ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlckZsb2F0MzJB
cnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZmZXIpOwotICAgIHZl
cnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs1XSA9
IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMl0gPSAwLjU7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZm
ZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsx
NV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29uc3QgY29udGV4dCA9
IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9y
ID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9
IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOwotICAgIGNv
bnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKLSAgICBj
b25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXco
KTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNv
ZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9Owot
ICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVW
aWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9y
ZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQg
PSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVu
dHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVy
ID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsK
LSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7Ci0gICAg
cmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyXSwgWzBd
KTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwotICAgIHJlbmRlclBh
c3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVyID0gY29tbWFuZEVu
Y29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0KFtjb21tYW5kQnVm
ZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2aWNlKSB7Ci0gICAg
c3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgICBkcmF3
V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwotICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19KTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3Byb3BlcnR5cmVzb2x2ZXIvaW5kZXhlci1zZXR0ZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9pbmRleGVyLXNldHRlci5o
dG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVy
dHlyZXNvbHZlci9pbmRleGVyLXNldHRlci5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTI3ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNh
bnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2Ny
aXB0PgotY29uc3Qgc2hhZGVyU291cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIo
ZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1
cm4gcG9zaXRpb247Ci19Ci0KLXN0cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLXRocmVh
ZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIEZvbyogZiwgdWludCBpbmRleCkgewotICAgIHJl
dHVybiAmZi0+eDsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19Ci0KLUZvbyBvcGVy
YXRvcltdKEJhciBiLCB1aW50IGluZGV4KSB7Ci0gICAgcmV0dXJuIGIuejsKLX0KLQotQmFyIG9w
ZXJhdG9yW109KEJhciBiLCB1aW50IGluZGV4LCBGb28gYSkgewotICAgIGIueiA9IGE7Ci0gICAg
cmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFy
Z2V0IDAgewotICAgIEJhciBiOwotICAgIEZvbyBmb287Ci0gICAgZm9vLnggPSAxLjA7Ci0gICAg
YlsxXSA9IGZvbzsKLSAgICBmb28gPSBiWzFdOwotICAgIHJldHVybiBmbG9hdDQoZm9vLngsIGZv
by54LCBmb28ueCwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNlKSB7Ci0g
ICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTog
c2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJN
b2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFnbWVudFN0
YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIi
fTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7Ci0gICAg
Y29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJu
b25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9yQmxlbmQg
PSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFs
cGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJp
dHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAotICAgIGNv
bnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0NCJ9Owot
ICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRyaWJ1dGUw
XX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4SW5wdXQg
PSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxpbmVMYXlv
dXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
KTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwg
ZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29s
b3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291bnQ6IDEs
IGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lID0gZGV2
aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BV
QnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBkZXZpY2Uu
Y3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKLSAg
ICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRl
eEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAt
MC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9IDE7Ci0g
ICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEwXSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2ZXJ0ZXhC
dWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEuMDsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXIudW5t
YXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7Ci0g
ICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5v
cm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihz
d2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWlu
LmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRw
dXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5kRW5jb2Rl
ciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0IHJlZCA9
IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1lbnRzID0g
W3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVsbCwgbG9h
ZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsKLSAgICBj
b25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50fTsK
LSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2luUmVuZGVy
UGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZHJh
dyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0gICAgY29u
c3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRldmljZS5n
ZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZpY2UoKS50
aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0p
OwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dyb3VuZElu
U29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1h
YnN0cmFjdC1sdmFsdWUtMy1sZXZlbHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZh
bHVlLTMtbGV2ZWxzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysrIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUt
My1sZXZlbHMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0i
Y2FudmFzIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29u
c3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwotZHJhd1doaXRl
U3F1YXJlT25CbHVlQmFja2dyb3VuZEluU29mdHdhcmUoY2FudmFzKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVz
b2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxldmVscy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFj
dC1sdmFsdWUtMy1sZXZlbHMuaHRtbAkocmV2aXNpb24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS0zLWxl
dmVscy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Ci08c2NyaXB0PgotY29uc3Qgc2hhZGVyU291
cmNlID0gYAotdmVydGV4IGZsb2F0NCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0
cmlidXRlKDApKSA6IFNWX1Bvc2l0aW9uIHsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLXN0
cnVjdCBGb28gewotICAgIGZsb2F0IHg7Ci19Ci0KLWZsb2F0IG9wZXJhdG9yLnkoRm9vIGYpIHsK
LSAgICByZXR1cm4gZi54OwotfQotCi1Gb28gb3BlcmF0b3IueT0oRm9vIGYsIGZsb2F0IHgpIHsK
LSAgICBmLnggPSB4OwotICAgIHJldHVybiBmOwotfQotCi1zdHJ1Y3QgQmFyIHsKLSAgICBGb28g
ejsKLX0KLQotRm9vIG9wZXJhdG9yLncoQmFyIGIpIHsKLSAgICByZXR1cm4gYi56OwotfQotCi1C
YXIgb3BlcmF0b3Iudz0oQmFyIGIsIEZvbyBhKSB7Ci0gICAgYi56ID0gYTsKLSAgICByZXR1cm4g
YjsKLX0KLQotc3RydWN0IEJheiB7Ci0gICAgQmFyIHA7Ci19Ci0KLUJhciBvcGVyYXRvci5xKEJh
eiBiKSB7Ci0gICAgcmV0dXJuIGIucDsKLX0KLQotQmF6IG9wZXJhdG9yLnE9KEJheiBiLCBCYXIg
YSkgewotICAgIGIucCA9IGE7Ci0gICAgcmV0dXJuIGI7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBm
cmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0IDAgewotICAgIEJheiBiOwotICAgIGIucS53Lnkg
PSAxLjA7Ci0gICAgcmV0dXJuIGZsb2F0NChiLnEudy55LCBiLnEudy55LCBiLnEudy55LCAxLjAp
OwotfQotYDsKLQotY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
cyIpOwotCi1hc3luYyBmdW5jdGlvbiBzdGFydChkZXZpY2UpIHsKLSAgICBjb25zdCBzaGFkZXJN
b2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2RlOiBzaGFkZXJTb3VyY2V9KTsK
LSAgICBjb25zdCB2ZXJ0ZXhTdGFnZSA9IHttb2R1bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2lu
dDogInZlcnRleFNoYWRlciJ9OwotICAgIGNvbnN0IGZyYWdtZW50U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJmcmFnbWVudFNoYWRlciJ9OwotICAgIGNvbnN0IHBy
aW1pdGl2ZVRvcG9sb2d5ID0gInRyaWFuZ2xlLXN0cmlwIjsKLSAgICBjb25zdCByYXN0ZXJpemF0
aW9uU3RhdGUgPSB7ZnJvbnRGYWNlOiAiY3ciLCBjdWxsTW9kZTogIm5vbmUifTsKLSAgICBjb25z
dCBhbHBoYUJsZW5kID0ge307Ci0gICAgY29uc3QgY29sb3JCbGVuZCA9IHt9OwotICAgIGNvbnN0
IGNvbG9yU3RhdGVzID0gW3tmb3JtYXQ6ICJyZ2JhOHVub3JtIiwgYWxwaGFCbGVuZCwgY29sb3JC
bGVuZCwgd3JpdGVNYXNrOiAxNX1dOyAvLyBHUFVDb2xvcldyaXRlQml0cy5BTEwKLSAgICBjb25z
dCBkZXB0aFN0ZW5jaWxTdGF0ZSA9IG51bGw7Ci0gICAgCi0gICAgY29uc3QgYXR0cmlidXRlMCA9
IHtzaGFkZXJMb2NhdGlvbjogMCwgZm9ybWF0OiAiZmxvYXQ0In07Ci0gICAgY29uc3QgaW5wdXQw
ID0ge3N0cmlkZTogMTYsIGF0dHJpYnV0ZVNldDogW2F0dHJpYnV0ZTBdfTsKLSAgICBjb25zdCBp
bnB1dHMgPSBbaW5wdXQwXTsKLSAgICBjb25zdCB2ZXJ0ZXhJbnB1dCA9IHt2ZXJ0ZXhCdWZmZXJz
OiBpbnB1dHN9OwotCi0gICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRH
cm91cExheW91dHM6IFtdfTsKLSAgICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVh
dGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERlc2NyaXB0b3IpOwotCi0gICAgY29uc3Qg
cmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yID0ge3ZlcnRleFN0YWdlLCBmcmFnbWVudFN0YWdlLCBw
cmltaXRpdmVUb3BvbG9neSwgcmFzdGVyaXphdGlvblN0YXRlLCBjb2xvclN0YXRlcywgZGVwdGhT
dGVuY2lsU3RhdGUsIHZlcnRleElucHV0LCBzYW1wbGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGlu
ZUxheW91dH07Ci0gICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVy
UGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCAqIDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5WRVJURVggfCBHUFVCdWZmZXJVc2FnZS5NQVBf
V1JJVEV9OwotICAgIGNvbnN0IHZlcnRleEJ1ZmZlciA9IGRldmljZS5jcmVhdGVCdWZmZXIodmVy
dGV4QnVmZmVyRGVzY3JpcHRvcik7Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyQXJyYXlCdWZmZXIg
PSBhd2FpdCB2ZXJ0ZXhCdWZmZXIubWFwV3JpdGVBc3luYygpOwotICAgIGNvbnN0IHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydGV4QnVmZmVyQXJyYXlCdWZm
ZXIpOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVswXSA9IC0wLjU7Ci0gICAgdmVydGV4
QnVmZmVyRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJy
YXlbMl0gPSAxLjA7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzNdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVs1XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNl0gPSAxLjA7
Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzddID0gMTsKLSAgICB2ZXJ0ZXhCdWZmZXJG
bG9hdDMyQXJyYXlbOF0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzldID0g
LTAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTBdID0gMS4wOwotICAgIHZlcnRl
eEJ1ZmZlckZsb2F0MzJBcnJheVsxMV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJh
eVsxMl0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzEzXSA9IDAuNTsKLSAg
ICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTRdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZs
b2F0MzJBcnJheVsxNV0gPSAxOwotICAgIHZlcnRleEJ1ZmZlci51bm1hcCgpOwotCi0gICAgY29u
c3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hh
aW5EZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0
IHN3YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0
b3IpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1
cmUoKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRl
RGVmYXVsdFZpZXcoKTsKLQotICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCk7IC8vIHt9Ci0gICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6
IDEsIGE6IDF9OwotICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91
dHB1dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0
b3JlT3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOwotICAgIGNvbnN0IGRlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgPSBudWxsOwotICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2Nv
bG9yQXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OwotICAgIGNvbnN0IHJlbmRl
clBhc3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NE
ZXNjcmlwdG9yKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBl
bGluZSk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4
QnVmZmVyXSwgWzBdKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5kcmF3KDQsIDEsIDAsIDApOwot
ICAgIHJlbmRlclBhc3NFbmNvZGVyLmVuZFBhc3MoKTsKLSAgICBjb25zdCBjb21tYW5kQnVmZmVy
ID0gY29tbWFuZEVuY29kZXIuZmluaXNoKCk7Ci0gICAgZGV2aWNlLmdldFF1ZXVlKCkuc3VibWl0
KFtjb21tYW5kQnVmZmVyXSk7Ci19Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci1nZXRCYXNpY0RldmljZSgpLnRoZW4oZnVuY3Rpb24oZGV2
aWNlKSB7Ci0gICAgc3RhcnQoZGV2aWNlKS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19LCBmdW5jdGlvbigp
IHsKLSAgICBkcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMp
OwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Ci19KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9w
ZXJ0eXJlc29sdmVyL3NldHRlci1hYnN0cmFjdC1sdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjQ5MjI3KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIv
c2V0dGVyLWFic3RyYWN0LWx2YWx1ZS1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4K
LTxzY3JpcHQ+Ci1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7Ci1kcmF3V2hpdGVTcXVhcmVPbkJsdWVCYWNrZ3JvdW5kSW5Tb2Z0d2FyZShjYW52YXMpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5cmVzb2x2ZXIvc2V0dGVyLWFi
c3RyYWN0LWx2YWx1ZS5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisrKyBMYXlvdXRUZXN0cy93ZWJn
cHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItYWJzdHJhY3QtbHZhbHVlLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdo
dD0iNDAwIj48L2NhbnZhcz4KLTxzY3JpcHQ+Ci1jb25zdCBzaGFkZXJTb3VyY2UgPSBgCi12ZXJ0
ZXggZmxvYXQ0IHZlcnRleFNoYWRlcihmbG9hdDQgcG9zaXRpb24gOiBhdHRyaWJ1dGUoMCkpIDog
U1ZfUG9zaXRpb24gewotICAgIHJldHVybiBwb3NpdGlvbjsKLX0KLQotc3RydWN0IEZvbyB7Ci0g
ICAgZmxvYXQgeDsKLX0KLQotZmxvYXQgb3BlcmF0b3IueShGb28gZikgewotICAgIHJldHVybiBm
Lng7Ci19Ci0KLUZvbyBvcGVyYXRvci55PShGb28gZiwgZmxvYXQgeCkgewotICAgIGYueCA9IHg7
Ci0gICAgcmV0dXJuIGY7Ci19Ci0KLXN0cnVjdCBCYXIgewotICAgIEZvbyB6OwotfQotCi1Gb28g
b3BlcmF0b3IudyhCYXIgYikgewotICAgIHJldHVybiBiLno7Ci19Ci0KLUJhciBvcGVyYXRvci53
PShCYXIgYiwgRm9vIGEpIHsKLSAgICBiLnogPSBhOwotICAgIHJldHVybiBiOwotfQotCi1mcmFn
bWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIoKSA6IFNWX1RhcmdldCAwIHsKLSAgICBCYXIgYjsK
LSAgICBiLncueSA9IDEuMDsKLSAgICByZXR1cm4gZmxvYXQ0KGIudy55LCBiLncueSwgYi53Lnks
IDEuMCk7Ci19Ci1gOwotCi1jb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHN0YXJ0KGRldmljZSkgewotICAgIGNvbnN0IHNo
YWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoe2NvZGU6IHNoYWRlclNvdXJj
ZX0pOwotICAgIGNvbnN0IHZlcnRleFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAidmVydGV4U2hhZGVyIn07Ci0gICAgY29uc3QgZnJhZ21lbnRTdGFnZSA9IHttb2R1
bGU6IHNoYWRlck1vZHVsZSwgZW50cnlQb2ludDogImZyYWdtZW50U2hhZGVyIn07Ci0gICAgY29u
c3QgcHJpbWl0aXZlVG9wb2xvZ3kgPSAidHJpYW5nbGUtc3RyaXAiOwotICAgIGNvbnN0IHJhc3Rl
cml6YXRpb25TdGF0ZSA9IHtmcm9udEZhY2U6ICJjdyIsIGN1bGxNb2RlOiAibm9uZSJ9OwotICAg
IGNvbnN0IGFscGhhQmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvckJsZW5kID0ge307Ci0gICAg
Y29uc3QgY29sb3JTdGF0ZXMgPSBbe2Zvcm1hdDogInJnYmE4dW5vcm0iLCBhbHBoYUJsZW5kLCBj
b2xvckJsZW5kLCB3cml0ZU1hc2s6IDE1fV07IC8vIEdQVUNvbG9yV3JpdGVCaXRzLkFMTAotICAg
IGNvbnN0IGRlcHRoU3RlbmNpbFN0YXRlID0gbnVsbDsKLSAgICAKLSAgICBjb25zdCBhdHRyaWJ1
dGUwID0ge3NoYWRlckxvY2F0aW9uOiAwLCBmb3JtYXQ6ICJmbG9hdDQifTsKLSAgICBjb25zdCBp
bnB1dDAgPSB7c3RyaWRlOiAxNiwgYXR0cmlidXRlU2V0OiBbYXR0cmlidXRlMF19OwotICAgIGNv
bnN0IGlucHV0cyA9IFtpbnB1dDBdOwotICAgIGNvbnN0IHZlcnRleElucHV0ID0ge3ZlcnRleEJ1
ZmZlcnM6IGlucHV0c307Ci0KLSAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3IgPSB7
YmluZEdyb3VwTGF5b3V0czogW119OwotICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNl
LmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvcik7Ci0KLSAgICBj
b25zdCByZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgPSB7dmVydGV4U3RhZ2UsIGZyYWdtZW50U3Rh
Z2UsIHByaW1pdGl2ZVRvcG9sb2d5LCByYXN0ZXJpemF0aW9uU3RhdGUsIGNvbG9yU3RhdGVzLCBk
ZXB0aFN0ZW5jaWxTdGF0ZSwgdmVydGV4SW5wdXQsIHNhbXBsZUNvdW50OiAxLCBsYXlvdXQ6IHBp
cGVsaW5lTGF5b3V0fTsKLSAgICBjb25zdCByZW5kZXJQaXBlbGluZSA9IGRldmljZS5jcmVhdGVS
ZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRGVzY3JpcHRvciA9IHtzaXplOiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0ICogNCwgdXNhZ2U6IEdQVUJ1ZmZlclVzYWdlLlZFUlRFWCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURX07Ci0gICAgY29uc3QgdmVydGV4QnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZl
cih2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yKTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJBcnJheUJ1
ZmZlciA9IGF3YWl0IHZlcnRleEJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7Ci0gICAgY29uc3QgdmVy
dGV4QnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0ZXhCdWZmZXJBcnJh
eUJ1ZmZlcik7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzBdID0gLTAuNTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsyXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbM10gPSAxOwot
ICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs0XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzVdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs2XSA9
IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbN10gPSAxOwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs4XSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
OV0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxMF0gPSAxLjA7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzExXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQz
MkFycmF5WzEyXSA9IDAuNTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTNdID0gMC41
OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxNF0gPSAxLjA7Ci0gICAgdmVydGV4QnVm
ZmVyRmxvYXQzMkFycmF5WzE1XSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyLnVubWFwKCk7Ci0KLSAg
ICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIGNvbnN0IHN3
YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIn07Ci0gICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oc3dhcENoYWluRGVz
Y3JpcHRvcik7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9IHN3YXBDaGFpbi5nZXRDdXJyZW50
VGV4dHVyZSgpOwotICAgIGNvbnN0IG91dHB1dFRleHR1cmVWaWV3ID0gb3V0cHV0VGV4dHVyZS5j
cmVhdGVEZWZhdWx0VmlldygpOwotCi0gICAgY29uc3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2Uu
Y3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30KLSAgICBjb25zdCByZWQgPSB7cjogMCwgZzog
MCwgYjogMSwgYTogMX07Ci0gICAgY29uc3QgY29sb3JBdHRhY2htZW50cyA9IFt7YXR0YWNobWVu
dDogb3V0cHV0VGV4dHVyZVZpZXcsIHJlc29sdmVUYXJnZXQ6IG51bGwsIGxvYWRPcDogImNsZWFy
Iiwgc3RvcmVPcDogInN0b3JlIiwgY2xlYXJDb2xvcjogcmVkfV07Ci0gICAgY29uc3QgZGVwdGhT
dGVuY2lsQXR0YWNobWVudCA9IG51bGw7Ci0gICAgY29uc3QgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSB7Y29sb3JBdHRhY2htZW50cywgZGVwdGhTdGVuY2lsQXR0YWNobWVudH07Ci0gICAgY29uc3Qg
cmVuZGVyUGFzc0VuY29kZXIgPSBjb21tYW5kRW5jb2Rlci5iZWdpblJlbmRlclBhc3MocmVuZGVy
UGFzc0Rlc2NyaXB0b3IpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFBpcGVsaW5lKHJlbmRl
clBpcGVsaW5lKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXJzKDAsIFt2
ZXJ0ZXhCdWZmZXJdLCBbMF0pOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLmRyYXcoNCwgMSwgMCwg
MCk7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIuZW5kUGFzcygpOwotICAgIGNvbnN0IGNvbW1hbmRC
dWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKLSAgICBkZXZpY2UuZ2V0UXVldWUoKS5z
dWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKLX0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLWdldEJhc2ljRGV2aWNlKCkudGhlbihmdW5jdGlv
bihkZXZpY2UpIHsKLSAgICBzdGFydChkZXZpY2UpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsKLX0sIGZ1bmN0
aW9uKCkgewotICAgIGRyYXdXaGl0ZVNxdWFyZU9uQmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNh
bnZhcyk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLX0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Byb3BlcnR5
cmVzb2x2ZXIvc2V0dGVyLWx2YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNDkyMjcpCisr
KyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvcHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVl
LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLWRyYXdXaGl0ZVNxdWFyZU9u
Qmx1ZUJhY2tncm91bmRJblNvZnR3YXJlKGNhbnZhcyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3Nl
dHRlci1sdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wv
cHJvcGVydHlyZXNvbHZlci9zZXR0ZXItbHZhbHVlLmh0bWwJKHJldmlzaW9uIDI0OTIyNykKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC9wcm9wZXJ0eXJlc29sdmVyL3NldHRlci1sdmFsdWUu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQw
MCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPgotPHNjcmlwdD4KLWNvbnN0IHNoYWRlclNvdXJjZSA9
IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0
ZSgwKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi1zdHJ1Y3Qg
Rm9vIHsKLSAgICBmbG9hdCB4OwotfQotCi1mbG9hdCBvcGVyYXRvci55KEZvbyBmKSB7Ci0gICAg
cmV0dXJuIGYueDsKLX0KLQotRm9vIG9wZXJhdG9yLnk9KEZvbyBmLCBmbG9hdCB4KSB7Ci0gICAg
Zi54ID0geDsKLSAgICByZXR1cm4gZjsKLX0KLQotc3RydWN0IEJhciB7Ci0gICAgRm9vIHo7Ci19
Ci0KLXRocmVhZCBGb28qIG9wZXJhdG9yJi53KHRocmVhZCBCYXIqIGIpIHsKLSAgICByZXR1cm4g
JmItPno7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNoYWRlcigpIDogU1ZfVGFyZ2V0
IDAgewotICAgIEJhciBiOwotICAgIGIudy55ID0gMS4wOwotICAgIHJldHVybiBmbG9hdDQoYi53
LnksIGIudy55LCBiLncueSwgMS4wKTsKLX0KLWA7Ci0KLWNvbnN0IGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKLQotYXN5bmMgZnVuY3Rpb24gc3RhcnQoZGV2aWNl
KSB7Ci0gICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7
Y29kZTogc2hhZGVyU291cmNlfSk7Ci0gICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBz
aGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIifTsKLSAgICBjb25zdCBmcmFn
bWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRT
aGFkZXIifTsKLSAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7
Ci0gICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1v
ZGU6ICJub25lIn07Ci0gICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9OwotICAgIGNvbnN0IGNvbG9y
QmxlbmQgPSB7fTsKLSAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9y
bSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JX
cml0ZUJpdHMuQUxMCi0gICAgY29uc3QgZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOwotICAgIAot
ICAgIGNvbnN0IGF0dHJpYnV0ZTAgPSB7c2hhZGVyTG9jYXRpb246IDAsIGZvcm1hdDogImZsb2F0
NCJ9OwotICAgIGNvbnN0IGlucHV0MCA9IHtzdHJpZGU6IDE2LCBhdHRyaWJ1dGVTZXQ6IFthdHRy
aWJ1dGUwXX07Ci0gICAgY29uc3QgaW5wdXRzID0gW2lucHV0MF07Ci0gICAgY29uc3QgdmVydGV4
SW5wdXQgPSB7dmVydGV4QnVmZmVyczogaW5wdXRzfTsKLQotICAgIGNvbnN0IHBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbXX07Ci0gICAgY29uc3QgcGlwZWxp
bmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNj
cmlwdG9yKTsKLQotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhT
dGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0
ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCB2ZXJ0ZXhJbnB1dCwgc2FtcGxlQ291
bnQ6IDEsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OwotICAgIGNvbnN0IHJlbmRlclBpcGVsaW5l
ID0gZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik7
Ci0KLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVY
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHZlcnRleEJ1ZmZlckRlc2NyaXB0b3IpOwotICAgIGNvbnN0IHZl
cnRleEJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTsKLSAgICBjb25zdCB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5
KHZlcnRleEJ1ZmZlckFycmF5QnVmZmVyKTsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlb
MF0gPSAtMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVsxXSA9IC0wLjU7Ci0gICAg
dmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzJdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVszXSA9IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzRdID0gLTAuNTsK
LSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbNV0gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVy
RmxvYXQzMkFycmF5WzZdID0gMS4wOwotICAgIHZlcnRleEJ1ZmZlckZsb2F0MzJBcnJheVs3XSA9
IDE7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzhdID0gMC41OwotICAgIHZlcnRleEJ1
ZmZlckZsb2F0MzJBcnJheVs5XSA9IC0wLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5
WzEwXSA9IDEuMDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTFdID0gMTsKLSAgICB2
ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTJdID0gMC41OwotICAgIHZlcnRleEJ1ZmZlckZsb2F0
MzJBcnJheVsxM10gPSAwLjU7Ci0gICAgdmVydGV4QnVmZmVyRmxvYXQzMkFycmF5WzE0XSA9IDEu
MDsKLSAgICB2ZXJ0ZXhCdWZmZXJGbG9hdDMyQXJyYXlbMTVdID0gMTsKLSAgICB2ZXJ0ZXhCdWZm
ZXIudW5tYXAoKTsKLQotICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1
Iik7Ci0gICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9IHtkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0ifTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBjb250ZXh0LmNvbmZpZ3VyZVN3YXBD
aGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKLSAgICBjb25zdCBvdXRwdXRUZXh0dXJlID0gc3dh
cENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7Ci0gICAgY29uc3Qgb3V0cHV0VGV4dHVyZVZpZXcg
PSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7Ci0KLSAgICBjb25zdCBjb21tYW5k
RW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQotICAgIGNvbnN0
IHJlZCA9IHtyOiAwLCBnOiAwLCBiOiAxLCBhOiAxfTsKLSAgICBjb25zdCBjb2xvckF0dGFjaG1l
bnRzID0gW3thdHRhY2htZW50OiBvdXRwdXRUZXh0dXJlVmlldywgcmVzb2x2ZVRhcmdldDogbnVs
bCwgbG9hZE9wOiAiY2xlYXIiLCBzdG9yZU9wOiAic3RvcmUiLCBjbGVhckNvbG9yOiByZWR9XTsK
LSAgICBjb25zdCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gbnVsbDsKLSAgICBjb25zdCByZW5k
ZXJQYXNzRGVzY3JpcHRvciA9IHtjb2xvckF0dGFjaG1lbnRzLCBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50fTsKLSAgICBjb25zdCByZW5kZXJQYXNzRW5jb2RlciA9IGNvbW1hbmRFbmNvZGVyLmJlZ2lu
UmVuZGVyUGFzcyhyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgcmVuZGVyUGFzc0VuY29kZXIu
c2V0UGlwZWxpbmUocmVuZGVyUGlwZWxpbmUpOwotICAgIHJlbmRlclBhc3NFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcnMoMCwgW3ZlcnRleEJ1ZmZlcl0sIFswXSk7Ci0gICAgcmVuZGVyUGFzc0VuY29k
ZXIuZHJhdyg0LCAxLCAwLCAwKTsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7Ci0g
ICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOwotICAgIGRl
dmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOwotfQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotZ2V0QmFzaWNEZXZp
Y2UoKS50aGVuKGZ1bmN0aW9uKGRldmljZSkgewotICAgIHN0YXJ0KGRldmljZSkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
ICAgIH0pOwotfSwgZnVuY3Rpb24oKSB7Ci0gICAgZHJhd1doaXRlU3F1YXJlT25CbHVlQmFja2dy
b3VuZEluU29mdHdhcmUoY2FudmFzKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>